Subjects
Eight able-bodied subjects (5 males, 3 females; age, mean ± SD, 25.3 ± 4.6 yrs) participated in the experiment. All subjects gave their informed consent before participation and the procedures were approved by the local ethics committee.
Procedures
The experimental protocol focused on a 9-class problem involving hand and wrist motions designed for trans-radial prostheses. The 9 classes were: wrist flexion, wrist extension, forearm supination, forearm pronation, thumb close, 4-finger close, making a fist, fingers spread open, and no motion (relax). Six pairs of Ag/AgCl surface electrodes (Ambu® Neuroline 720 01-K/12, Ambu A/S, Denmark) were mounted around the dominant forearm at equal distances from each other, one third distal from the elbow joint (Figure 1). The surface EMG data were recorded in bipolar derivations, amplified with a gain of 2000 (EMG-16, OT Bioelectronica, Italy), filtered between 47 and 440 Hz, and sampled at 1024 Hz. The reference electrode was placed on the non-dominant forearm. In each experimental session, the subject was instructed to perform the 9 classes of motion twice, in random order. Each contraction was 10 s in duration, with 3 s resting periods between consecutive contractions. Each subject performed three sessions on the same day, with 5-min breaks between the sessions to minimize fatigue. The rest periods between contractions and sessions were determined according to pilot tests and subjective evaluation of the subjects on the fatigue level. In total, 54 contractions (6 per class) were performed by each subject. In each contraction, the subject was instructed to start from the rest position, to reach the target position in 3 s, to maintain the target position for 4 s, and to return to the rest position in 3 s. Thus, in each contraction, one segment of static portion (4 s in the middle), and two segments of dynamic (anisotonic and anisometric, representing the two main dynamic situations in real movements) portion (3 s at each end) were obtained. These dynamic portions contained the full path between the rest and the target position. No feedback was provided to the subjects to regulate the position, but visual validation of the motions was performed by the experimenter. A user interface was used to provide the subject with the necessary visual prompt.
Signal analysis
The extracted data were segmented in windows of 128 samples, corresponding to 125 ms, with an overlap of 96 samples between two consecutive windows (32 samples delay between two consecutive windows) and classification was performed for each window. A sampling window of 125 ms with a delay of 30 ms has been shown to be a good trade-off between decision delay and accuracy using the majority vote [12]. The final decision was taken by majority vote on the most recent 6 results. The response time is the sum of the length of the data used to take the decision (approximately 280 ms) and the computational time (evaluated between 5 ms and 20 ms using a workstation based on an INTEL I7 860 processor). These choices make the response time in this study acceptable for prosthetic devices, as it is generally assumed that a delay shorter than 300 ms is acceptable for myoelectric control [13]. For each subject, the signal processing algorithms (see below) were tested using a three-fold cross-validation procedure. Two of the three data sets were used as learning data and the remaining data set as testing data, thus the training was done on 36 contractions (4 contractions per class) [6].
A linear discriminant analysis classifier (LDA) and two modes of Support Vector Machine (SVM) classifier with Gaussian kernel based boundary were tested. LDA was chosen because it is a simple statistical approach without any parameters to adjust, and has been shown to be one of the best classifiers for myoelectric control under stationary conditions [10]. The SVM offers a more complex approach. Depending of the choices of the kernel and parameters, SVM can generate a boundary able to follow more accurately the trends in the feature space on dynamic situations. Although the linear kernel was tested on pilot data, its parameter optimization was very specific to the training data set, resulting in poor classification accuracy. On the other hand, non-linear boundaries showed better performance. The Gaussian kernel was used, as it does not depend on a dimension selection, but on a regularization parameter, allowing to create a boundary following the trends in the feature space without creating a number of small boundaries around the outliers. The Gaussian kernel depends on two parameters for the definition of the boundary. The first mode of SVM used the One Versus Rest (OVR) approach, which separates each class with respect to all the others together, and the final decision is obtained by selecting the class maximizing the discriminant function. The second mode of SVM classifier used the One Versus One (OVO) method, which provides a decision for each pair of classes, and the final decision is obtained by majority vote. Each classifier was trained using learning sets of features extracted by one of two methods: Time Domain features and Auto Regressive coefficients (TD+AR) (as in [10]), which are simple features extracted from the signal, and the marginals of the Wavelet Transform coefficients (WT) (as in [14]). In preliminary studies, the Coiflet wavelet of order 4 has shown the best results amongst the different orders of Daubechies, Coiflet and Symmlet wavelets, and thus it was selected as the mother wavelet in the current study [15]. As for the classifiers, those two feature extraction methods were selected to compare a rather simple method (TD+AR), with a more advanced method (WT). Both methods have been successfully applied for myoelectric control in static conditions [10, 14].
Each classifier was trained using five intervals of the contractions to study the impact of the training data selection as displayed in Figure 2. Four different intervals (sections) were obtained from the middle of each contraction as follows: 4 s (only the static portion), 6 s (the static portion and an extra 1 s at each end; Dynamic1 in Figure 2), 8 s (the static portion and an extra 2 s at each end; Dynamic2 in Figure 2) and 10 s (the entire contraction). Finally, an additional training section was threshold-based (T-B, see below for description of the threshold algorithm), so that the current window was used for training only if its EMG activity exceeded the threshold.
A threshold was applied to each window, comparing the activity in the multi-channel surface EMG to a reference level taken during the rest. The Teager-Kaiser energy operator [16] was used to detect the onset of the contractions. For each window, an activity value was given to each channel using the Teager-Kaiser operator. This value was thresholded by a coefficient multiplied by the values obtained at rest. The window was considered as active if at least one channel crossed the threshold. For each subject, the coefficient of the threshold was determined on the static portions from the learning data. Its value was maximized under the constraints to have more than 97% of the windows from all classes active, and no less than 85% of the windows from each individual class active. These two conditions were determined on pilot data and have shown to be consistent across the subjects. The threshold for each subject was obtained only from the learning data. The threshold values were rather different between subjects and channels, spanning two orders of magnitude, mainly because of the difference in electrode placement and background noise. The level of normalized EMG activity during the contractions varied between 56% and 92% depending on the class.
The cross-validation procedure was applied to each combination of feature set, training section and classifier. The accuracy was evaluated on the testing set on all classes (including the rest class). The classification action was performed if the EMG activity in the current window exceeded the threshold obtained from the training set. Otherwise the current window was considered as belonging to the rest class.