Open Access

An experimental evaluation of the incidence of fitness-function/search-algorithm combinations on the classification performance of myoelectric control systems with iPCA tuning

  • Guillermo A Camacho1Email author,
  • Carlos H Llanos2,
  • Pedro A Berger3,
  • Cristiano Jacques Miosso4 and
  • Adson F Rocha4
BioMedical Engineering OnLine201312:133

https://doi.org/10.1186/1475-925X-12-133

Received: 28 May 2013

Accepted: 18 December 2013

Published: 27 December 2013

Abstract

Background

The information of electromyographic signals can be used by Myoelectric Control Systems (MCSs) to actuate prostheses. These devices allow the performing of movements that cannot be carried out by persons with amputated limbs. The state of the art in the development of MCSs is based on the use of individual principal component analysis (iPCA) as a stage of pre-processing of the classifiers. The iPCA pre-processing implies an optimization stage which has not yet been deeply explored.

Methods

The present study considers two factors in the iPCA stage: namely A (the fitness function), and B (the search algorithm). The A factor comprises two levels, namely A1 (the classification error) and A2 (the correlation factor). Otherwise, the B factor has four levels, specifically B1 (the Sequential Forward Selection, SFS), B2 (the Sequential Floating Forward Selection, SFFS), B3 (Artificial Bee Colony, ABC), and B4 (Particle Swarm Optimization, PSO). This work evaluates the incidence of each one of the eight possible combinations between A and B factors over the classification error of the MCS.

Results

A two factor ANOVA was performed on the computed classification errors and determined that: (1) the interactive effects over the classification error are not significative (F0.01,3,72 = 4.0659 > f AB  = 0.09), (2) the levels of factor A have significative effects on the classification error (F0.02,1,72 = 5.0162 < f A  = 6.56), and (3) the levels of factor B over the classification error are not significative (F0.01,3,72 = 4.0659 > f B  = 0.08).

Conclusions

Considering the classification performance we found a superiority of using the factor A2 in combination with any of the levels of factor B. With respect to the time performance the analysis suggests that the PSO algorithm is at least 14 percent better than its best competitor. The latter behavior has been observed for a particular configuration set of parameters in the search algorithms. Future works will investigate the effect of these parameters in the classification performance, such as length of the reduced size vector, number of particles and bees used during optimal search, the cognitive parameters in the PSO algorithm as well as the limit of cycles to improve a solution in the ABC algorithm.

Keywords

Artificial bee colony (ABC) Electromyography Individual principal component analysis (iPCA) Myoelectric control Particle Swarm optimization (PSO) Prosthesis Pattern recognition

Introduction

The loss of capabilities to manipulate objects with the hands is considered a high impact disease due to the physical, psychological and financial sequels related[1, 2]. A current technological aid for upper limb amputation and deficiency is represented by the use of a myoelectric hand prosthesis. This device overcomes the inability to grasp and manipulate objects[3] and in some cases to sense and explore the surrounding world[4]. A myoelectric prosthesis is composed of two main systems: (a) the prosthesis and (b) the Myoelectric Control System (MCS), which is the topic of this work. The electromyographic signals (EMG) are used as an input of the MCS, which classifies patterns of the EMG signals and operate actuators in the prosthesis.

The conventional MCS classifies the myoelectric patterns in movement classes. The processing in the MCS is composed of three stages: feature extraction, dimensionality reduction and classification. Recently, Hargrove et al.[5] proposed a complementary architecture which improves the performance of the conventional MCS. This new architecture mixes 3 components: (a) a high crosstalk level EMG acquisition system, (b) an individual Principal Component Analysis (iPCA) transformation stage and (c) the conventional myoelectric control system. The main disadvantage of the iPCA projection is the dimensionality increment of the electromyographic patterns, in which the pattern dimension N is incremented by a factor corresponding to the control system’s number of classes C.

To deal with the dimensionality increment it is possible to compute a reduced iPCA transformation that generates just the N1 most discriminative dimensions instead of the complete set C × N (with N1 < C × N). The reduced iPCA transformation is used in[5] and requires an optimization process that intends to find a subset of N1 elements from a given set of C × N channels, warranting the maximum discrimination information in the selected subset. The optimization is based on a search strategy and a fitness function, i.e. a function that measures the quantity of discriminative information in the selected subset of channels.

The optimization in myoelectric control systems with iPCA tuning is explored by the authors in[6], where the analysis is focused on the effects of factors A and B over the performance of myoelectric control systems with iPCA tuning; with A representing the fitness function factor with two levels (A1 classification error and A2 correlation factor) and B representing the search algorithm factor with three levels (B1 sequential forward selection (SFS), B2 sequential floating forward selection, B3 artificial bee colony (ABC)). Our paper presents new results that complete the investigation in[6]. Specifically, we evaluate a new level for the B factor: B4 particle swarm optimization (PSO) for a total of eight treatment alternatives.

The paper is organized as follows: Section 'Related works’ discusses previous works in this research area. Section 'Background’ describes the principal component analysis, the problem of channel optimization, the search algorithms and the fitness functions considered. In Section 'Methods’ we present the experimental methodology. In Section 'Results’ the simulation results are given. In Section 'Discussion’ the results are discussed, and finally the conclusions are presented in Section 'Conclusions’.

Related works

Different approaches for the control of myoelectric prostheses have been used. These can be grouped in two trends[7]: (a) coordinated control[8] and (b) sequential control which is the main topic of the current study. In the latter, the degrees of freedom are actuated one at a time, in a sequence, as one carries out a multifunction task. These systems are based on pattern recognition architectures where the patterns are represented by the EMG signal characteristics (x) and the classes are represented by the movements of the prosthesis (y).

Starting from one of the first works that made use of a multilayer perceptron (MLP) neural networks (NNs)[911], various classifiers such as linear discriminant analysis (LDA)[1214], (neuro) fuzzy[1520], Gaussian mixture models (GMMs)[21, 22], hidden Markov models (HMMs)[18], and support vector machines (SVMs)[2325] have been used. Some commonly investigated feature sets include time domain (TD) features: MAV, MAVS, ZC, SSC, WL[12, 26], autoregressive (AR) coefficients[27], cepstral coefficients[28], the short-time Fourier transform (STFT), the wavelet transform (WT), the wavelet packet transform[13] (WPT), and concatenated TD and AR (TDAR)[21, 29] features. These solutions have reached different classification errors, depending on the number of classes and other factors (see Table1 for a summary of the different errors reported in last years). For instance, in[29] an error of 7.4% is reported in a problem with 7 movement classes and 8 electromyography channels. Recently, a new strategy has been proposed in which the temporal-spatial information, contained within muscle crosstalk, may implicitly add class discriminatory information to the classification problem[21]. This proposal has been investigated by Hargrove[5] observing a significative reduction in the classification error. In a problem with 7 movement classes and 6 EMG channels the system yielded a classification error of 1.9%.
Table 1

Summary of the classification parameters and errors reached in the last years

Classifier

Channels

Classes

Features

Subjects

Error

Additional processing

Reference

Year

MLP

2

4

MAV, MAVS, ZC, SSC, WL.

9

9.25%

 

[9]

1993

LDA, MLP

5

4

WPT. Transient

16

6.25%

 

[30]

1998

PCA, LDA

4

6

WPT. Stationary

11

6.80%

 

[13]

2001

LDA

4

4

TD. Stationary

12

5%

Majority vote

[12]

2003

GMM

4

6

AR6+RMS+TD. Stationary

12

3.10%

Majority vote

[21]

2005

      

Suppress interclass data

  

LDA

8

7

AR4+RMS. Stationary

30

7.40%

Majority vote

[29]

2007

      

Suppress interclass data

  

SVM

4

5

RMS +AR6. Stationary

11

3%

Majority vote

[23]

2008

      

Suppress interclass data

  

LDA

10

11

AR6 Stationary

10

6.50%

 

[5]

2009

LDA

10

11

AR6 Stationary

10

5%

iPCA Transformation

[5]

2009

The proposal in[5] mixes 3 components: (a) a high crosstalk level EMG acquisition system (i.e. an acquisition system with an special distribution of electrodes that permits that the signal generated by the M1 muscle can be detected by the electrode associated with the M2 muscle, where muscles M1 and M2 are near[7]), (b) an iPCA transformation stage and (c) the conventional myoelectric control system. The main disadvantage of the iPCA projection is the dimensionality increment of the electromyographic patterns, in which the original pattern dimension N is incremented by a factor corresponding to the control system’s number of classes C, i.e. it generates a new pattern with dimension C times N. To deal with the dimensionality increment it is possible to compute a reduced iPCA transformation that computes just the N1 most discriminative dimensions instead of the complete set C × N (with N1 < C × N). This solution requires an optimization search to find a subset of N1 elements from a given set of C × N channels, warranting the maximum discrimination information in the selected subset. Because of the time of response of these systems, the optimization process must be conducted during a configuration stage, before the classification tasks. This optimization uses a search algorithm and a fitness function as depicted in Figure1. The results in[5] were computed using a combination of SFS (sequential forward selection) algorithm and the classification error fitness function. Despite important reported advantages, there are also some disadvantages for that configuration: (1) The SFS algorithm presents the nesting effect, i.e., once a channel has been selected there is no possibility of discarding it[31]. (2) The SFS algorithm does not use random components[32]; note that this type of components can help by finding different solutions and potentially lead to better ones[33] in problems with more than one local optimum. (3) The use of the classification error as the fitness function requires a supervised procedure, in which the classes associated to each pattern are known, being computationally expensive, due to the need for evaluating the classifier’s output at each iteration.
Figure 1

Optimization scheme used in the parameter configuration stage. W i is a PCA matrix transformation of size N × N for i = 1,…,C. Note that each W c (for c = 1,2,…C) matrix has a N × N size, then the projected vector s has an incremental size of C N × M.

In order to obtain a solution to the previous described disadvantages the authors propose and evaluate in[6], a set of novel configurations for the iPCA tuning, based on two factors: (A) fitness function and (B) search algorithm. The A factor with two levels: (A1) classification error and (A2) correlation factor. The B factor with three levels: (B1) sequential forward selection (SFS), (B2) sequential floating forward selection and (B3) artificial bee colony (ABC). In this context, this article evaluates a new level for the B factor: B4 particle swarm optimization (PSO). The overall results suggest an advantage on the use of the PSO algorithm with respect to other studied algorithms, with regard to the running time during the training stage.

Background

Principal Components Analysis

PCA is an orthogonal linear transformation used to convert a set of observations of possibly correlated variables into a set of values of uncorrelated variables called principal components. Given M observations of an N dimensional random vector z, the PCA transformation is performed by firstly subtracting the mean of the vector from z[5], x = z - E{z}, computing the N × N covariance matrix C x  = E{x x T } and, then, applying s = W x, where s is the vector of the main component and W is the matrix in which each column is an eigenvector of C x . Usually the M observations would typically be samples taken from any C possible classes. This is known as universal PCA (uPCA) or global PCA[34]. This property of ignoring class information allows us to argue that PCA is suboptimal for classification purposes[35].

A recent variation, called individual PCA (iPCA)[34, 35], groups the M observations according to their class membership. Separate projection matrices W1,…,W C with size N × N are found for each class (see Figure1). This set of matrices can be interpreted as a unique C N × N size transformation matrix W iPCA formed by the concatenation of rows of the separate projection matrices. The iPCA method effectively “tunes” the data prior to classification and has been shown to improve classification accuracies for some pattern recognition problems[36]. The main drawback of this method is the linear increment of the dimensionality of the patterns with the number of classes C. To overcome this problem, a reduced iPCA transformation matrix W R is defined in[5]. This solution uses a transformation matrix with the best N1 basis of the W iPCA matrix (N1 < C N).

Channel optimization

The optimization task of finding a subset of N1 elements from a given set of CN channels can be interpreted as a discrete optimization problem (integer elements from the selected subset). The optimization scheme in Figure1 is used to carry out this task. In this scheme, a validation data set x v is projected with the W iPCA matrix. The projected pattern s is a C N × M size vector. The vector O is a subset of the CN dimensions in s and its components change at each iteration, following a specific strategy defined by the search algorithm. The fitness function evaluates the quality of an EMG pattern with regard to the discriminative information. The evaluated patterns by the fitness function are established by the rows of s which compose the O vector. When the stop conditions are reached, the scheme provides the selected channel subset O as output.

Search algorithms

The search algorithms treated in this study are the following: (a) Sequential Forward Selection (SFS), (b) Sequential Floating Forward Selection (SFFS), (c) Particle Swarm Optimization (PSO), and (d) Artificial Bee Colony (ABC); then, the same will be described.

Sequential Forward Selection (SFS)

This is one of the first developed search methods in the literature related to feature selection issue. The search procedure consists of the following steps: (a) compute the fitness function for each of the CN channels and then select the channel with the best value, and (b) form all possible two dimensional vectors that contain the winner from the previous step and compute the fitness for each of them, (c) select the vector with the best value, (d) continue the process until the N1 vector length has been completed. The main drawback of this algorithm is the nesting effect; that is, once a channel has been selected there is no possibility to discard it[32].

Sequential Floating Forward selection (SFFS)

This is a suboptimal search algorithm proposed by Pudil et al. in 1994[31] with the purpose of eliminating the nesting effects of the SFS algorithm. This algorithm begins the search with an initial subset of two channels. For each subsequent iteration, two tasks are necessary: (a) search the candidate channel which minimizes the fitness function and add it to the selected subset O, (b) verify if the fitness function can be optimized by replacing a channel from the selected subset O. Consequently, the SFFS search is performed dynamically, incrementing and decrementing the selected channels in the subset O until reach the target length N1. An efficient way to implement this algorithm is presented in[31, 37].

Particle Swarm Optimization (PSO)

This is a population based stochastic optimization technique developed by Eberhart and Kennedy in 1995[38]. In this algorithm, it is assumed that there exists a swarm with S particles. Consider that the search space is N1-dimensional, and the i-th particle of the swarm can be represented by a dimensional position vector x i  = (xi 1,xi 2,…,x i N1). The velocity of the particle is denoted by v i  = (vi 1,vi 2,…,v i N1). Additionally, consider that the best individual position for the i particle is p best i = ( p i 1 , p i 2 , , p i N 1 ) and also that the first and second best position explored so far are gfbest and gsbest respectively. The velocity of the particle and its position are updated according to (1) and (2).
v ij ( t + 1 ) = w r ( v ij ( t ) ) + c 1 r 1 r ( pbes t ij - x ij ( t ) ) + c 2 r 2 r ( gfbes t ij - x ij ( t ) ) + c 3 r 3 r ( gsbes t ij - x ij ( t ) )
(1)
x ij ( t + 1 ) = x ij ( t ) + r ( v ij ( t + 1 ) )
(2)

where, i is the particle index for i 1,…,S; j is a specific dimension for j 1,…,N1; w is the inertia weight; r1, r2 and r3 are random numbers uniformly distributed in the range (0,1); c1 is a cognitive parameter; c2 and c3 are social parameters; r(.) is a rounding function used to adapt the original PSO for the discrete optimization problem[39, 40].

The purpose of including the second best particle gsbest in the velocity update equation is to increase the diversity and slow convergence by addressing each particle to move toward the weighted sum of both the best and second best solution the swarm has generated[41]. Considering a minimization problem the local best of each particle is updated according to (3).
pbest i ( t + 1 ) = pbest i ( t ) if f ( pbest i ( t ) ) f ( x i ) ; x i ( t ) if f ( pbest i ( t ) ) > f ( x i ) ;
(3)
where, f(.) is the fitness function. Finally, the first and second global best of the swarm are updated according to (4) and (5).
gfbest ( t + 1 ) = arg min p pbest i f ( p ( t + 1 ) )
(4)
gsbest ( t + 1 ) = arg min p pbest i g fbest ( t + 1 ) f ( p ( t + 1 ) )
(5)

It is possible that the solution computed with the PSO algorithm contains repeated elements (i. e. that the vector O has repeated elements). This leads to EMG patterns with high level of redundancy and it does not benefit the localization of the global minimum on the considered fitness functions. To overcome this, a modification on the conventional PSO algorithm was added. Whenever the search process leads to a solution with repeated elements, then, that solution will be penalized with a high fitness value and without evaluating the fitness function. This will hinder the EMG patterns with high level of redundancy from being selected as the optimal solutions in the minimization problem.

Artificial Bee Colony (ABC)

This is an optimization technique proposed in 2005 by Karaboga[42]. In ABC, each solution to the optimization problem is called food source and is represented by a N1-dimensional vector. The colony of artificial bees contains three groups of bees: employed bees, onlookers and scouts. The first half of the colony consists of employed artificial bees and the second half are the onlookers. For each food source there is only one employed bee. Therefore, the number of employed bees is equal to the number of food sources. An employed bee whose food source has been exhausted becomes a scout. The ABC algorithm can be implemented in two steps[43].

  •  Initialization step: the algorithm generates a random initial solution set of length S. Each solution x i (i = 1,2…,S) is a N1-dimensional vector. The employed bees measures the nectar amount of each solution, return to the hive and share the nectar information with the onlooker bees.

  •  Iterative step: the solution set is submitted to repetitive search cycles. During these cycles, the bees change its memory contents, searching the food source with the best fitness. Each bee is able to remember just one food source localization x i . Each cycle is computed in three phases: (a) employed phase, at this phase each employed looks for a new food source v i around its current position x i using (6). If the nectar quantity of this new position improves the previous one, then the bee position is updated. Once each employed bee has finished this phase, a probability factor p i is computed (7). Using this factor indicates the nectar level at each x i food source. (b) Onlooker phase, at this phase the onlooker bees use the probability factor p i of each employed bee and select a x i food source. Afterwards, a new v i food source around the selected neighborhood localization is computed (6). Finally, if the fitness value of this new position improves the previous one, then the bee position is updated. (c) Scout phase, whenever the exploration of a x i food source does not finish with a solution improvement, a counter increments the number of trials of that food source. If the value in this counter is greater than a threshold C lim , this x i food source is discarded and a new food source is randomly selected by a scout bee.
    v ij = x ij + ϕ ij ( x ij - x kj )
    (6)
where k (1,2,…S) and j (1,2,…N1) are randomly chosen indexes, with k ≠ i. ϕ ij is a random number in the range [-1,1] that controls the production of food source positions around x i .
p i = f ( x i ) n = 1 S f ( x n )
(7)

where f(.) represents the fitness function value and S represents the number of food sources.

Fitness functions

A fitness function is a particular type of function used to summarise, as a single figure of merit, how close a design solution is to achieving the setting aims. In this case, the aim is related with the maximum discrimination information in a subset of C × N channels obtained after the iPCA transformation. Two fitness functions have been used in this study: (a) Classification error, and (b) Correlation factor, which will be described here:

Classification error

This is the same factor that has been used to measure the performance of the myoelectric control system; therefore, it is the ideal function to compare the discriminative information of the EMG patterns. This factor is computed as the relation between number of incorrect decisions and the total number of decisions of the system. To compute this relation, is necessary to know the predicted class vector y ˆ and, therefore, the classification scheme composed of the block diagrams inside the dotted line in Figure2 (i.e. the conventional myoelectric system) must be performed. Consequently, there is a significant computational complexity involved in classification error computation.
Figure 2

Steps of the pattern recognition based myoelectric control system with iPCA tuning [5]. The dotted line shown in the figure is the conventional classification architecture for myoelectric control systems. The measured signal is represented by a generic vector x and the class label by a generic vector y.

Correlation factor

Several factors have been proposed to quantify the amount of common signals presented between the two dimensions of a signal, the most common being the cross correlation factor[44]. The equation used to compute this factor for a discrete two dimension vector x is
C x ( x 1 , x 2 ) = E [ ( x 1 - μ 1 ) ( x 2 - μ 2 ) ]
(8)
where E is mathematical expectation and μ i  = E[x i ]. For N-dimensional vectors, the correlation coefficient matrix is more used, where (9) defines each element of the matrix; each element varies within the range [1,-1].
R x ( p , q ) = C x ( p , q ) C x ( p , p ) C x ( q , q )
(9)

for p = 1,…,N; q = 1,…,N.

R x is an N × N matrix with correlation coefficients computed for each pair of dimensions of the vector x. This matrix is symmetric and has ones in its main diagonal; therefore, to quantify the correlation level it is enough to consider the lower or upper diagonal elements. An alternative considering the lower elements is
f c = sum ( tril ( R x ) )
(10)
where tril(.) is a function that returns the lower triangular elements of the matrix without the main diagonal ones. To limit the correlation factor between [0,100] we have defined the expression in (11), which has been used for computing the correlation factor between dimensions of the EMG signal.
F c = 100 × 2 f c N 2 - N
(11)

Myoelectric Control Systems with iPCA tuning

Figure2 depicts the myoelectric control scheme with iPCA tuning[5], which uses an iPCA transformation for tuning input patterns. This transformation is a variation of the PCA (Principal Component Analysis) that was initially used for improving the classification performance in problems of face recognition[34]. The purpose of the iPCA transformation is to generate a new signal space where the discriminative information related to the movement class is amplified, as long as other types of information are attenuated. However, there is a drawback: the patterns’ dimensions increase by a factor of C. Considering an input pattern corresponding to N EMG channels and a classification system with C classes, one has to use of a transformation matrix W iPCA with size C N × N. Therefore, the projection of the input signal results in a new dimension pattern CN (see Figure1)[5].

A reduced iPCA transformation can be defined for reducing the effects of dimension pattern increments. In this solution, it is necessary to compute a reduced iPCA transformation matrix W R . This matrix projects the input patterns and generates just the N1 most discriminative dimensions at the output (with N1 < C N). To compute W R it is necessary to solve the block diagram in Figure1. The output of this scheme is the vector O, which contains N1 channels selected from the CN set. Using this vector, the relation between the iPCA transformation matrix and the reduced iPCA transformation matrix is defined, as stated in (12), where the Matlab[45] notation for sub-matrices is used.
W R = W iPCA ( O , : )
(12)

Methods

In order to evaluate the classification performance for each fitness-function/search-algorithm combination, a methodology based in three steps has been applied (namely, EMG signal acquisition, computing the reduced iPCA matrix, and system evaluation) which are depicted in Figure3.
Figure 3

Sequence used to evaluate the classification error. Note that the blocks Computing iPCA Matrix and System Evaluation must run eight times, i.e. one iteration for each of the four search algorithms with the first fitness function (classification error) and one iteration for each of the four search algorithms with the second fitness function (correlation factor).

EMG signal acquisition

We used data collected by the University of New Brunswick - Canada, with authorization of Dr. Levis Hargrove. These data were acquired in an experiment approved by the University of New Brunswick’s Research Ethics Board[5]. The data were sampled from ten healthy subjects performing eleven motion classes. EMG signals were acquired from ten sites on the forearm using adhesive duotrodes manufactured by 3M. These signals were amplified to guarantee potentials in range [+5,-5]V and a bandwidth of 1Hz to 500Hz. Afterwards, the signals were sampled at 1KHz and quantized with a 16-bit resolution.

Experimental data were collected during eight trials. Each trial consists of two repetitions of eleven motion classes performed in sequential order, namely: (1) wrist pronation, (2) wrist supination, (3) wrist flexion, (4) wrist extension, (5) hand open, (6) key grip, (7) chuck grip, (8) power grip, (9) fine pinch grip, (10) tool grip, and (11) rest position or no movement.

The intensity of the contraction was determined by the subject, but they were encouraged to contract to a level that they comfortably repeated throughout the experiment. During all trials, subjects elicited the contraction from the rest position, held the contraction for 4 s and then returned to the rest position for a predefined inter-motion class delay period. Trials 1, 2, 3 and 4 used intermotion class delay periods of 3, 2, 1 and 0 s respectively. Trials 5–8 used inter-motion class delay periods of 2 s. The result is a data set composed of myoelectric signals x in each channel and a vector of target classes associated y. A sample of the collected data excluding the intermotion class delays is depicted in Figure4.
Figure 4

Acquired signal with the sequence of movements from 1 to 11. Signals illustrated correspond to channel 3 during trials 6 to 8 and user 1. Dotted lines indicate the held time for the contraction (4 s). Note that the movements were evaluated in sequential ascending order for all trials.

In the present study, the EMG data recorded from trials 1 and 3 were used as a training data set. EMG data recorded from trials 2 and 4 were used as a test data set. And finally, EMG data recorded from trials 5 and 6 were used as a validation set to resolve the optimization problem defined in the Background Section. Otherwise, for all these sets, the inter-motion class delays were excluded such as reported in[5].

Computing the reduced iPCA matrix

This step has been implemented in two sequential tasks depicted in Figure5: (a) search of the reduced dimension vector O, and (b) building of the reduced iPCA transformation matrix W R . The first task began with the computing of the iPCA transformation matrices using the training data x tr . Afterwards, the validation data x v were projected with iPCA transformation matrices and the transformed patterns s were used to run the optimal subset channel search. The result of this search is the vector O composed of the N1 channels with most discriminative information. This search was evaluated with the eight possible combinations of fitness-function/search-algorithm. Therefore, at the end of this task the subsets O ij were obtained, where the sub-indexes i, j indicate the fitness function and the search algorithm, respectively; for i = 1,2; j = 1,2,3,4.
Figure 5

Blocks for computing the reduced iPCA Transformation Matrix. (a) search of the reduced dimension vector O (b) building of the reduced iPCA transformation matrix W R . Note that this process is conducted during a configuration stage, before the classification.

In this case, for all search algorithms the N1 parameter was set to 30, such as recommended in[5]. This value provides good classification accuracy.

The SFS algorithm was configured with just one stop criterion, namely: length of the selected subset equal to N1.

The SFFS algorithm used two stop criteria: (1) the same defined in SFS and (2) the maximum number of iterations (C max  = 120). The latter was selected considering tests which show a mean number of iterations of 78.3 (with a standard deviation of 23.04) to find a solution. The PSO and ABC algorithms used other kind of parameters summed up in Table2 and Table3, respectively. For both fitness functions the optimization problem was defined as a minimization and the parameters were set with the next criteria:
Table 2

PSO algorithm parameters

Symbol

Parameters

Value

ε

Minimum value of fitness function

0

c 1

Cognitive parameter

2

c 2

Social parameter

2

c 3

Social parameter

1

w

Inertial weight

[0.8, 0.1]

S

Swarm size

10

[v m i n ,v m a x ]

Velocity limits

[-109, 109]

[x m i n ,x m a x ]

Position limits

[1, 110]

C m a x

Maximum number of iterations

120

Table 3

ABC algorithm parameters

Symbol

Parameter

Value

ε

Minimum value of fitness function

0

S

Number of food sources

10

[v min ,v max ]

Limit values

[1, 110]

C max

Number of maximum cycles

120

C lim

Limit of cycles to improve a solution

6

For the PSO algorithm the minimum value of cost function (ε) was defined by the minimum possible value for the classification error and correlation factor (in this case equal to zero). The number of particles (S) was set to 10; for greater values, the search time was increased and the time for the experiments could exceed the available time (2 months to get experimental data), specially when the classification error were used as fitness function. For lower values, the search performance could be compromised due to the characteristics of population based stochastic optimization algorithms. The limit values (v min , v max , x min , x max ) were defined by the dimension of the search space: C × N, where C is the number of movement classes (C = 10) and N is the number of acquisition channels (N = 11). The maximum number of iterations C max was set to 120; this value showed good results for both fitness functions. The algorithm used similar values for cognitive and social parameters (c1, c2 and c3) allowing a neutral strategy, i.e. a strategy were the confidence in the experience of each particle is equal to the confidence in the experience of the swarm. The inertial weight w decreases linearly allowing that the particles polish the search in the last iterations; this configuration induces an effect of global search in the first iterations and local search at the last ones.

In the ABC algorithm the parameters were configured having two requirements in mind: (a) high performance in the optimal search, (b) assurance of conditions to make fair comparisons between bio-inspired algorithms. Then, the number of food sources (S) was configured to 10, equal than the number of particles in the PSO algorithm. The limit values (v min , v max ) were defined by the dimension of the search space: C × N. The number of maximum cycles (C max ) was set 120, equal that the maximum number of iterations in the PSO algorithm. The minimum value of the fitness function was set to 0, because this was the minimum value achievable by both fitness functions: classification error and correlation factor. The limit of cycles to improve a solution (C lim ) was configured to 6; this value showed good classifications performances and affordable times of search.

To compute the classification error fitness function, the processing scheme formed by the blocks inside the dotted line in Figure2, (i.e. the conventional myoelectric control system) has been used. The configuration was the following: overriding windowing feature extraction[12] with lengths of 150 ms and sliding windows of 25 ms, features conformed by the first 6 autoregressive coefficients (AR6)[18], dimensionality reduction method based on Uncorrelated LDA (ULDA)[29] and LDA (Linear Discriminant Analysis) classifier[46]. At this stage, each channel was independently used to train and, subsequently, to test the control system, such as presented in[5].

At the second task (row selection block in Figure5) we used equation (12) to compute the reduced iPCA transformation matrix corresponding to each pair fitness function/search algorithm. Note that, at the output, eight reduced transformation matrices W R ij were obtained as consequence of an optimization procedure computed eight times (the sub-indexes i, j indicate the fitness function and the search algorithm, respectively).

System evaluation

The last proceeding of the methodology was the evaluation of the classification system. This was carried out in two phases as depicted in Figure6: (a) the test data (x tst ) classification, and (b) the classification error computing. The first phase was achieved with the iPCA preprocessing and the conventional classification scheme (see Figure2), using the same configuration described for the classification error fitness function computing. This process was computed for each of the reduced iPCA transformation matrices W R ij ; the output of this phase was the predicted class vector y ˆ ij . The second phase compares the vector y ˆ ij with the target vector y to compute the classification error as defined in equation (13). The classification error was individually evaluated for each user k of the system.
e ij ( k ) = 100 × sum ( y y ˆ ij ( k ) ) length ( y )
(13)
Figure 6

Blocks for system evaluation. The dotted line shown in the figure contains the test data classification tasks.

Results

The simulations proposed in this paper were performed on the Matlab platform and are based on the myoelectric control toolbox presented in[29]. Nevertheless, we have made some modifications and added some new functionalities to the myoelectric control toolbox presented in[29]. These modifications were necessary to appropriately parse the EMG data base that had a different structure than the used in[29]. The added functionalities were done for configuring and implementing all the iPCA related functions, namely: optimal search, transformation matrices computing projections and performance indicators computing. The resulting simulator is a powerful tool for experimentation with iPCA myoelectric control, designed on a modular fashion that permits evaluation of different approaches in each of the processing steps. Here we show results separated in two main stages: (a) first, the results registered during reduced iPCA transformation matrix computing, and secondly, (b) results registered during EMG pattern classification.

The results of the first stage of the system are shown in Figure7 and Figure8. Figure7 depicts the mean search time, i.e. the time necessary to compute the optimal vector O. The left figure shows the search time for classification error fitness function and the right figure for correlation factor fitness function. Complementary information on this subject is presented in Table4. This table summarizes the mean values of the number of iterations and the time of each single iteration for each fitness-function/search-algorithm combination. Note that both bio-inspired algorithms were stopped by the maximum iterations criteria (120 iterations); this means that the time performance comparison among bio-inspired algorithms just depends on the time of each single iteration of the search algorithm. The SFS algorithm was stopped when reached 30 iterations and the SFFS have different mean iterations number for each fitness function. The times in Table4 have been computed on a PC with 2.8GHz processor, 8Gb RAM memory and 4 cores. Figure8 depicts the mean fitness value reached during the optimal search. This value is presented for the eight evaluated combinations of search algorithm and the fitness function.
Figure 7

Comparison of search time used for each of the eight treatment alternatives evaluated during optimization. The search time was computed as the product between the number-of-iterations and the mean-iteration-running-time.

Figure 8

Comparison of the fitness value reached with each of the eight treatment alternatives during the optimization search. The sequence of algorithms in each figure was selected according to the descending order of fitness.

Table 4

Comparison of number-of-iterations/mean-iteration-running-time for the eight treatment alternatives during optimization

Fitness function

SFS

SFFS

PSO

ABC

Class. error

30/1282s

64.9/1705s

120/155s

120/475s

Corr. factor

30/5.62s

78.3/7.61s

120/0.79s

120/1.12s

The results of the next main stage (the EMG pattern classification stage) are shown in Figure9. This figure displays the mean classification errors generated when each of the eight reduced matrices W R ij were used in the myoelectric control system. The black bars indicate the classification errors obtained with the transformation matrix W R 1 j (i.e. the transformation matrices computed with the classification error fitness function) and white bars indicate the classification errors obtained with the transformation matrix W R 2 j (i.e. transformation matrices computed with the correlation factor fitness function). The vertical line on the bars represents one standard deviation of inter-subject error variability. The red line indicates the mean classification error obtained when the EMG patterns were classified without the iPCA transformation.
Figure 9

Comparison of the classification error reached with each of the eight treatment alternatives. The error bar represents one standard deviation of intersubject variability. The red line indicates the mean classifcation error obtained when the EMG patterns were classified without the iPCA transformation.

A two factor analysis of variances (ANOVA) was performed over the error classification results, which has determined the following behaviors: (a) there was no statistical evidence of the dependence between the interaction of both factors (i.e. search algorithm and fitness function) and the classification error (F0.01,3,72 = 4.0659 > f AB  = 0.09), (b) there was statistical evidence of the dependence between the fitness function factor and the classification error (F0.02,1,72 = 5.0162 < f A  = 6.56), and (c) there was no statistical evidence showing the dependence between the search algorithm factor and the classification error factor, (F0.01,3,72 = 4.0659 > f B  = 0.08).

Discussion

The analysis of simulation results may be performed taking into account two major aspects: (a) the computational complexity of the search process, and (b) the overall classification accuracy, using a fitness function. The metric used to measure the computational complexity was the number of iterations and the computational time of each iteration (see Table4). The product of these two metrics defines the search time (i.e. the time necessary to find an optimal solution) and gives an estimate of the computational complexity. With regard to the number of iterations is important to mention that: (a) the bio-inspired algorithms used the maximum number of iterations (120) in each search and (b) the sequential algorithms never reached the maximum number of iterations (120). Therefore, the number of iterations is irrelevant to develop comparisons among bio-inspired algorithms; otherwise, the same is important to compare both sequential and bio-inspired algorithms. The search time in Figure7 shows that: (a) solutions founded with error classification fitness function are more susceptible to long search times. The data have shown a relation of 250:1 between the search time of the classification error fitness function and the search time of the correlation factor fitness function. This was already expected due to the complexity associated with the supervised and non-supervised fitness functions (see fitness functions in Background Section); (b) the major and minor search time of the algorithms, regardless of the fitness function, are for SFFS and PSO respectively. The difference between these two algorithms is significant and indicates that the SFFS algorithm consumes almost four times more iterations than the PSO algorithm, for the case of maximum number of iterations = 120. The PSO algorithm is 14 percent better than the ABC algorithm, when correlation factor was used as fitness function. The difference (with respect to SFS) reaches 31 percent when classification error is used as fitness function.

This advantage of PSO over the other evaluated search algorithms is consequence of the low number of evaluations of the fitness function in each iteration of the PSO algorithm. The fitness values shown in Figure8 indicate the following behaviors: (a) the fitness computed on the classification error fitness function was lower than that computed with correlation factor as fitness function; (b) the optimal solutions computed with sequential algorithms were closer to the global minimum than the ones computed with the bio-inspired algorithms. These results suggest a superiority of the solutions computed with sequential algorithms. In order to generalize that behavior, it is necessary to test the bio-inspired algorithms using other configuration parameters; (c) the fitness reached with the sequential algorithms SFS and SFFS are similar and, therefore, we can suggest that the nesting effect associated with the SFS algorithm is not significant in the considered fitness functions.

Figure9 shows the comparison of the performances reached when the patterns were tuned with the different transformation matrices W R ij (i = 1,2; j = 1,…,4). The results indicate the following aspects: (a) the classification rates are similar to the previous ones published in[5] and the classification error of the conventional myoelectric control architecture is superior to the classification error of the myoelectric control architecture with iPCA tuning; (b) there are similar levels of classification error when transformation matrices W R i were used (i.e. transformation matrices computed with the i fitness function and each of the search algorithms); and (c) there are differences between classification errors when transformation matrix W R j was used (i.e. transformation matrices computed with the j search algorithm and each of the fitness functions).

The response presented in (a) validates the superiority of the iPCA tuned architecture over the conventional myoelectric control architecture. Otherwise, the (b) response was not expected. Due to the superiority of fitness that was computed with sequential algorithms (see Figure8), greater differences between the classification errors were expected. For instance, that classification errors associated to transformation matrices computed with sequential algorithms ( W R ij with j = 1,2) were less than classification errors associated to transformation matrices computed with bio-inspired algorithms ( W R ij with j = 3,4). This suggests that finding of the minimal value for the fitness function is not a sufficient condition to guarantee minimal classification errors during the evaluation of the myoelectric control system.

Finally, the (c) response was expected, basically by two reasons: (i) the superiority of classification error over correlation factor in determining the discriminant information in the selected subsets. (ii) The superior fitness of computed solutions using systems with classification error fitness function (see Figure8).

The confusion matrices displayed in Additional file1: Table S5, Additional file2: Table S6, Additional file3: Table S7 and Additional file4: Table S8 provide a direct comparison between the optimization alternatives used. Additional file1: Table S5 and Additional file3: Table S7 compare classification accuracy when the transformation matrices W R 2 j were used (i.e. the transformation matrices computed with the correlation factor fitness function and the sequential and bio-inspired algorithms). Additional file2: Table S6 and Additional file4: Table S8 compare classification accuracy when the transformation matrices W R 1 j were used (i.e. the transformation matrices computed with the classification error fitness function and the sequential and bio-inspired algorithms).

In Additional file1: Table S5 and Additional file3: Table S7, the values in white (left columns) show processing with SFS algorithm and the values in gray (right columns) show the results with SFFS algorithm. In Additional file2: Table S6 and Additional file4: Table S8, the values in white (left columns) show processing with PSO algorithm and the values in gray (right columns) show the results with ABC algorithm.

The results along the main diagonal are correct classifications (accuracy) and those lying outside of the main diagonal are incorrect classifications. Empty cells correspond to an error of 0% and the accuracies were rounded to the nearest tenth of a percent. The values on these tables confirm two trends: (a) similar levels on classification error when transformation matrices W R i were used and (b) differences between classification errors when transformation matrices W R j were used.

Conclusions

This paper has presented and evaluated the use of bio-inspired optimization algorithms in the iPCA stage of Myoelectric Control Systems for hand prosthesis. The influence of fitness function and searching algorithms on myoelectric control systems with iPCA tuning were investigated in terms of optimization performance (e.g. running time, number of iterations, mean search time), solution fitness and classification performance. The alternatives considered for fitness functions were the following: classification error, correlation factor, and for search algorithms: SFS, SFFS, PSO and ABC. The experimental results suggest superiority on classification performance when reduced iPCA matrices computed with classification error fitness function were used. The results have also shown the independence of classification performance with regard to the search algorithm. However, a practical advantage was found in using PSO algorithm during the optimal search. This advantage is related to the computational time of the process during the parameter configuration stage and was corroborated for a particular set of configuration parameters in the algorithm. Future studies will be carried out to investigate other configuration parameters in the PSO algorithm as well as the effects of the selected subset length N1 on the classification performance.

Nomenclature

MCSs Myoelectric Control Systems

iPCA individual principal component analysis

PCA principal component analysis

ABC artificial bee colony

PSO particle swarm optimization

EMG electromyographic signals

SFS sequential forward selection

SFFS sequential floating forward selection

MLP multilayer perceptron

NNs neural networks

LDA linear discriminant analysis

ULDA uncorrelated linear discriminant analysis

GMMs Gaussian mixture models

HMMs hidden Markov models

SVMs support vector machines

TD Time Domain

MAV mean absolute value

MAVS mean absolute value slope

ZC zero crossings

SSC slope sign changes

WL wave length

AR autoregressive

STFT small time Fourier transform

WT Wavelet transform

WPT Wavelet packets transform

TDAR concatenated TD and AR features

x generic EMG signal

y vector of classes of movement

y ˆ vector of predicted classes of movement

y ˆ ij vector of predicted classes of movement computed with W R ij

e ij classification error of the system configured with the W R ij transformation matrix

x v validation data set of EMG signals

x tr training data set of EMG signals

x tst test data set of EMG signals

x i position vector of the i particle and position vector of the i food source in the PSO algorithm and ABC algorithm respectively

v i velocity vector of the i particle and new position vector around x i in the PSO algorithm and ABC algorithm respectively

p best i best individual position for the i particle in the PSO algorithm

gfbest first best position explored so far in the PSO algorithm

w inertial weight in the PSO algorithm

gsbest second best position explored so far in the PSO algorithm

r1, r2 and r3 random numbers uniformly distributed in the range (0,1)

c1 cognitive parameter in the PSO algorithm

c2and c3 social parameters in the PSO algorithm

p i probability factor of each employed bee in the ABC algorithm

C lim limit of cycles to improve a solution in the ABC algorithm

C max maximum number of iterations and maximum number of cycles in the PSO algorithm and ABC algorithm respectively

ϕ ij random number in the range [-1,1] that controls the production of food source positions around x i in the ABC algorithm

s iPCA projected pattern from x

M number of observations of the EMG signal

O vector of possible optimal set of channels

O vector of optimal set of channels

O ij vector of optimal set of channels computed with the i fitness function and the j search algorithm

ε minimum value of fitness function

C x cross correlation factor

R x correlation coefficient matrix

F c normalized correlation factor

j index for the search algorithm

i index for the fitness function

C number of classes of movement

N length of the pattern vector

N1 length of the reduced size vector

S the number of particles and bees used during optimal search with bio-inspired algorithms

W PCA transformation matrix

W c PCA transformation matrix for the c movement class

W iPCA iPCA transformation matrix

W R reduced iPCA transformation matrix

W R ij reduced iPCA transformation matrix computed with the i fitness function and the j search algorithm

Declarations

Acknowledgements

The Authors would like to thank Dr. Levi Hargrove from the Neural Engineering Center for Artificial Limbs at the Rehabilitation Institute of Chicago for providing us with the EMG data set, and Dr. A. D. C. Chan from the Department of Systems and Computing Engineering at Carleton University for providing us with the Matlab Library for myoelectric control. Additionally, thanks also to Daniel Muñoz from FGA-UnB for his help in the configuration of the bio-inspired algorithms.

Authors’ Affiliations

(1)
Faculty of Engineering, University of La Salle
(2)
Mechanical Engineering Department, University of Brasília
(3)
Computer Science Department, University of Brasília
(4)
Faculty of Gama, University of Brasília

References

  1. Micera S, Carpaneto J, Raspopovic S: Control of hand prostheses using peripheral information. Biomed Eng, IEEE Rev 2010, 3: 48–68.View ArticleGoogle Scholar
  2. McGimpsey G, Bradford TC: Limb prosthetics services and devices. Critical unmet need: market analysis - white paper. Tech. rep., Bioengineering Institute Center for Neuroprosthetics - Worcester Polytechnic Institution 2011Google Scholar
  3. Edeer D, Martin CW: Upper limb prostheses - A review of the literature with a focus on myoelectric hands. Tech. rep., Richmond, BC: WorkSafeBC Evidence-Based Practice Group February 2011.http://worksafebc.com/health_care_providers/Assets/PDF/UpperLimbProstheses2011.pdf
  4. Yao J, Carmona C, Chen A, Kuiken T, Dewald J: Sensory cortical re-mapping following upper-limb amputation and subsequent targeted reinnervation: a case report. c, EMBC, 2011 Annual International Conference of the IEEE, Aug. 30 2011–Sept. 3 2011, pp. 1065–1068.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6090248&isnumber=6089866
  5. Hargrove L, Li G, Englehart K, Hudgins B: Principal components analysis preprocessing for improved classification accuracies in pattern-recognition-based myoelectric control. Biomed Eng, IEEE Trans 2009, 56(5):1407–1414.View ArticleGoogle Scholar
  6. Camacho G, Llanos C, de A Berger P, Miosso C, da Rocha A: Evaluating different combinations of feature selection algorithms and cost functions applied to iPCA tuning in myoelectric control systems. Engineering in Medicine and Biology Society (EMBC), 2012 Annual International Conference of the IEEE, Aug. 28 2012–Sept. 1 2012, pp. 6508–6513.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6347485&isnumber=6345844
  7. Merletti R, Parker P: Electromyography: Physiology, Engineering and Noninvasive Applications. 2004. http://dx.doi.org/10.1002/0471678384View ArticleGoogle Scholar
  8. Nielsen J, Holmgaard S, Jiang N, Englehart K, Farina D, Parker P: Simultaneous and proportional force estimation for multifunction myoelectric prostheses using mirrored bilateral training. Biomed Eng, IEEE Trans 2011, 58(3):681–688.View ArticleGoogle Scholar
  9. Hudgins B, Parker P, Scott R: A new strategy for multifunction myoelectric control. Biomed Eng, IEEE Trans 1993, 40: 82–94. 10.1109/10.204774View ArticleGoogle Scholar
  10. Tenore F, Ramos A, Fahmy A, Acharya S, Etienne-Cummings R, Thakor N: Decoding of individuated finger movements using surface electromyography. Biomed Eng, IEEE Trans 2009, 56(5):1427–1434.View ArticleGoogle Scholar
  11. Kelly M, Parker P, Scott R: The application of neural networks to myoelectric signal analysis: a preliminary study. Biomed Eng, IEEE Trans 1990, 37(3):221–230. 10.1109/10.52324View ArticleGoogle Scholar
  12. Englehart K, Hudgins B: A robust, real-time control scheme for multifunction myoelectric control. Biomed Eng, IEEE Trans 2003, 50(7):848–854. 10.1109/TBME.2003.813539View ArticleGoogle Scholar
  13. Englehart K, Hudgin B, Parker P: A wavelet-based continuous classification scheme for multifunction myoelectric control. Biomed Eng, IEEE Trans 2001, 48(3):302–311. 10.1109/10.914793View ArticleGoogle Scholar
  14. Chu JU, Moon I, Lee YJ, Kim SK, Mun MS: A supervised feature-projection-based real-time EMG pattern recognition for multifunction myoelectric hand control. Mechatronics, IEEE/ASME Trans 2007, 12(3):282–290.View ArticleGoogle Scholar
  15. Park SH, pil Lee S: EMG pattern recognition based on artificial intelligence techniques. Rehabil Eng, IEEE Trans 1998, 6(4):400–405. 10.1109/86.736154View ArticleGoogle Scholar
  16. Micera S, Sabatini AM, Dario P, Rossi B: A hybrid approach to EMG pattern analysis for classification of arm movements using statistical and fuzzy techniques. Med Eng Phys 1999, 21(5):303–311. http://www.sciencedirect.com/science/article/pii/S1350453399000557 10.1016/S1350-4533(99)00055-7View ArticleGoogle Scholar
  17. Chan F, Yang YS, Lam F, Zhang YT, Parker P: Fuzzy EMG classification for prosthesis control. Rehabil Eng, IEEE Trans 2000, 8(3):305–311. 10.1109/86.867872View ArticleGoogle Scholar
  18. Chan A, Englehart K: Continuous myoelectric control for powered prostheses using hidden Markov models. Biomed Eng, IEEE Trans 2005, 52: 121–124. 10.1109/TBME.2004.836492View ArticleGoogle Scholar
  19. Ajiboye A, Weir R: A heuristic fuzzy logic approach to EMG pattern recognition for multifunctional prosthesis control. Neural Syst Rehabil Eng, IEEE Trans 2005, 13(3):280–291. 10.1109/TNSRE.2005.847357View ArticleGoogle Scholar
  20. Khezri M, Jahed M: Real-time intelligent pattern recognition algorithm for surface EMG signals. BioMed Eng OnLine 2007, 6: 45. http://www.biomedical-engineering-online.com/content/6/1/45 10.1186/1475-925X-6-45View ArticleGoogle Scholar
  21. Huang Y, Englehart K, Hudgins B, Chan A: A Gaussian mixture model based classification scheme for myoelectric control of powered upper limb prostheses. Biomed Eng, IEEE Trans 2005, 52(11):1801–1811. 10.1109/TBME.2005.856295View ArticleGoogle Scholar
  22. Chu JU, Lee YJ: Conjugate-prior-penalized learning of gaussian mixture models for multifunction myoelectric hand control. Neural Syst Rehabil Eng, IEEE Trans 2009, 17(3):287–297.View ArticleGoogle Scholar
  23. Oskoei M, Hu H: Support vector machine-based classification scheme for myoelectric control applied to upper limb. Biomed Eng, IEEE Trans 2008, 55(8):1956–1965.View ArticleGoogle Scholar
  24. Liu YH, Huang HP, Weng CH: Recognition of electromyographic signals using cascaded kernel learning machine. Mechatronics, IEEE/ASME Trans 2007, 12(3):253–264.View ArticleGoogle Scholar
  25. Shenoy P, Miller K, Crawford B, Rao R: Online electromyographic control of a robotic prosthesis. Biomed Eng, IEEE Trans 2008, 55(3):1128–1135.View ArticleGoogle Scholar
  26. Khokhar ZO, Xiao ZG, Menon C: Surface EMG pattern recognition for real-time control of a wrist exoskeleton. BioMed Eng OnLine 2010, 9: 41. http://www.biomedical-engineering-online.com/content/9/1/41 10.1186/1475-925X-9-41View ArticleGoogle Scholar
  27. Graupe D, Salahi J, Kohn KH: Multifunctional prosthesis and orthosis control via microcomputer identification of temporal pattern differences in single-site myoelectric signals. J Biomed Eng 1982, 4: 17–22. http://www.sciencedirect.com/science/article/pii/0141542582900218 10.1016/0141-5425(82)90021-8View ArticleGoogle Scholar
  28. Kang WJ, Shiu JR, Cheng CK, Lai JS, Tsao HW, Kuo TS: The effect of electrode arrangement on spectral distance measures for discrimination of EMG signals. Biomed Eng, IEEE Trans 1997, 44(10):1020–1023. 10.1109/10.634653View ArticleGoogle Scholar
  29. Chan ADC, Green GC: Myoelectric control development toolbox. 30th Conference of the Canadian Medical & Biological Engineering Society, Toronto, Canada, Volume Paper M0100. 2007Google Scholar
  30. Kevin E: Signal representation for classification of the transient myoelectric signal. PhD thesis, University of New Brunswick, 1998Google Scholar
  31. Pudil P, Novovicova J, Kittler J: Floating search methods in feature selection. Pattern Recognit Lett 1994, 15(11):1119–1125. 10.1016/0167-8655(94)90127-9View ArticleGoogle Scholar
  32. Theodoridis S, Koutroumbas K: Pattern Recognition (Third Edition). San Diego: Academic Press; 2006.Google Scholar
  33. Karaboga D, Akay B: A survey: algorithms simulating bee swarm intelligence. Artif Intell Rev 2009, 31: 61–85. 10.1007/s10462-009-9127-4View ArticleGoogle Scholar
  34. Liu X, Chen T, Kumar B: Face authentication for multiple subjects using eigenflow. Pattern Recognit 2003, 36(2):313–328. 10.1016/S0031-3203(02)00033-XView ArticleGoogle Scholar
  35. Das K, Osechinskiy S, Nenadic Z: A classwise PCA-based recognition of neural data for brain-computer interfaces. Engineering in Medicine and Biology Society, 2007. EMBS 2007. 29th Annual International Conference of the IEEE, 22–26 Aug. 2007, pp 6519–6522.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4353853&isnumber=4352185
  36. Das K, Nenadic Z: An efficient discriminant-based solution for small sample size problem. Pattern Recognit 2009, 42(5):857–866. 10.1016/j.patcog.2008.08.036View ArticleGoogle Scholar
  37. Karlsson S, Yu J, Akay M: Time-frequency analysis of myoelectric signals during dynamic contractions: a comparative study. Biomed Eng, IEEE Trans 2000, 47(2):228–238. 10.1109/10.821766View ArticleGoogle Scholar
  38. Eberhart R, Kennedy J: A new optimizer using particle swarm theory. Micro Machine and Human Science, 1995. MHS '95., Proceedings of the Sixth International Symposium on, 4–6 Oct 1995, pp. 39–43.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=494215&isnumber=10679
  39. Khushaba R, Al-Ani A, Al-Jumaily A: Swarm intelligence based dimensionality reduction for myoelectric control. Intelligent Sensors, Sensor Networks and Information, 2007. ISSNIP 2007. 3rd International Conference on, 3–6 Dec. 2007, pp. 577–582.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4496907&isnumber=4496790
  40. Jin J, Wang X, Zhang J: Optimal selection of EEG electrodes via DPSO algorithm. Intelligent Control and Automation, 2008. WCICA 2008, 7th World Congress on, 25–27 June 2008, pp. 5095–5099.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4593756&isnumber=4592780
  41. Forbes R, Nayeem Mohammad T: Particle swarm optimization on multi-funnel functions. http://www.cs.colostate.edu/~nayeem/papers/pso_paper.pdf
  42. Karaboga D: An idea based on honey bee swarm for numerical optimization. Tech. Rep. TR06, Erciyes University 2005Google Scholar
  43. Karaboga D, Basturk B: A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J Glob Optimization 2007, 39: 459–471. 10.1007/s10898-007-9149-xMathSciNetView ArticleGoogle Scholar
  44. Mogk JP, Keir PJ: Crosstalk in surface electromyography of the proximal forearm during gripping tasks. J Electromyography Kinesiol 2003, 13: 63–71. 10.1016/S1050-6411(02)00071-8View ArticleGoogle Scholar
  45. MATLAB: Version 7.10.0 (R2010a). Natick: The MathWorks Inc.; 2010.Google Scholar
  46. Hargrove L, Englehart K, Hudgins B: A comparison of surface and intramuscular myoelectric signal classification. Biomed Eng, IEEE Trans 2007, 54(5):847–853.View ArticleGoogle Scholar

Copyright

© Camacho et al.; licensee BioMed Central Ltd. 2013

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.