BioPatRec: A modular research platform for the control of artificial limbs based on pattern recognition algorithms - PubMed (original) (raw)
BioPatRec: A modular research platform for the control of artificial limbs based on pattern recognition algorithms
Max Ortiz-Catalan et al. Source Code Biol Med. 2013.
Abstract
Background: Processing and pattern recognition of myoelectric signals have been at the core of prosthetic control research in the last decade. Although most studies agree on reporting the accuracy of predicting predefined movements, there is a significant amount of study-dependent variables that make high-resolution inter-study comparison practically impossible. As an effort to provide a common research platform for the development and evaluation of algorithms in prosthetic control, we introduce BioPatRec as open source software. BioPatRec allows a seamless implementation of a variety of algorithms in the fields of (1) Signal processing; (2) Feature selection and extraction; (3) Pattern recognition; and, (4) Real-time control. Furthermore, since the platform is highly modular and customizable, researchers from different fields can seamlessly benchmark their algorithms by applying them in prosthetic control, without necessarily knowing how to obtain and process bioelectric signals, or how to produce and evaluate physically meaningful outputs.
Results: BioPatRec is demonstrated in this study by the implementation of a relatively new pattern recognition algorithm, namely Regulatory Feedback Networks (RFN). RFN produced comparable results to those of more sophisticated classifiers such as Linear Discriminant Analysis and Multi-Layer Perceptron. BioPatRec is released with these 3 fundamentally different classifiers, as well as all the necessary routines for the myoelectric control of a virtual hand; from data acquisition to real-time evaluations. All the required instructions for use and development are provided in the online project hosting platform, which includes issue tracking and an extensive "wiki". This transparent implementation aims to facilitate collaboration and speed up utilization. Moreover, BioPatRec provides a publicly available repository of myoelectric signals that allow algorithms benchmarking on common data sets. This is particularly useful for researchers lacking of data acquisition hardware, or with limited access to patients.
Conclusions: BioPatRec has been made openly and freely available with the hope to accelerate, through the community contributions, the development of better algorithms that can potentially improve the patient's quality of life. It is currently used in 3 different continents and by researchers of different disciplines, thus proving to be a useful tool for development and collaboration.
Figures
Figure 1
BioPatRec flow diagram. BioPatRec is organized in different modules that are linked through the use of structure arrays. These structure arrays can be saved and loaded between the different modules. This also allows replacing or modifying any module without affecting the others, given that the structure arrays are preserved.
Figure 2
Signal processing: contraction time percentage (cTp). The top figure shows a single channel of a recording session that requested the repetition of a given movement 3 times with 3 seconds contraction time, and equal resting periods. The bottom figure shows the same signal trimmed to 70% of the contraction time. During signal treatment, the total of the recorded signal is segmented to extract the periods of interest. cTp can be used to include or remove transient periods.
Figure 3
Signal processing: time window. Myoelectric signal segmentation by time windowing including overlap or non-overlapped segments.
Figure 4
Signal features: feature vectors. Construction of the feature vectors (FVs) from bioelectric signals recorded during the execution of a given movement. Example of “f” features extracted from “c” channels, and “n” time windows (“W”). The FV is composed by the extracted signal features in a specific time window from all channels. There are as many FVs as windows for a given movement.
Figure 5
Pattern recognition: The xSets. The xSets, and corresponding xOuts, are the ensemble of data sets to be used in the different stage of offline pattern recognition. xSets and xOuts are ultimately 2 dimensional matrices where sets of a given phase, e.g. training, are stack over each other. Once all movements are merged, they can be distinguished by the xOuts matrices.
Figure 6
Recording session. Settings used for the recording session available in the repository: “10mov4chUntargetedForearm”.
Figure 7
Signal treatment. Signal treatment settings used to compare the different classifiers.
Figure 8
Offline accuracy. The offline accuracy between classifiers per movement (top) and subjects (bottom) are presented in box plots where the central mark represents the median value; the edges of the box are the 25th and 75th percentiles; the whiskers give the range of data values without considering outliers for clarity; and solid markers represent the mean. The average offline accuracy for LDA, MLP and RFN was 92.1(±0.04)%, 91.2(±0.05)%, and 83.5(±0.09)% respectively. Statistical significance (p<0.05) is shown only for the average values by “ * ”.
Figure 9
Selection time The selection time between classifiers per movement (top) and subjects (bottom) are presented in box plots where the central mark represents the median value; the edges of the box are the 25th and 75th percentiles; the whiskers give the range of data values without considering outliers for clarity; and solid markers represent the mean. The selection time reflects how fast the controller can produced the first correct prediction. It considers the time window (200 ms) and the time required for signal processing and classification. The average selection times for LDA, MLP and RFN were 0.62 (±0.24) s, 0.81 (±0.27) s, and 0.63 (±0.22) s, respectively. Statistical significance (p<0.05) is shown only for the average values by “ * ”.
Figure 10
Completion time. The completion time between classifiers per movement (top) and subjects (bottom) are presented in box plots where the central mark represents the median value; the edges of the box are the 25th and 75th percentiles; the whiskers give the range of data values without considering outliers for clarity; and solid markers represent the mean. The completion times reflects the stability of the classifier by computing the time required for 20 correct predictions to occur. It considers a time window (200 ms), and the time required for signal processing, and classifier computation. The average completion times for LDA, MLP and RFN were 1.86 (±0.31) s, 2.18 (±0.32) s, and 1.89 (±0.30)s, respectively. Statistical significance (p<0.05) is shown only for the average values by “ * ”.
Figure 11
Completion rate. The completion rate between classifiers per movement (top) and subjects (bottom) are presented in box plots where the central mark represents the median value; the edges of the box are the 25th and 75th percentiles; the whiskers give the range of data values without considering outliers for clarity; and solid markers represent the mean. The completion rate is equal to the number of movements that achieved completion time over all the attempted movements. The average completion rates for LDA, MLP and RFN were 87.3(±11)%, 75.8(±13)%, and 78.0(±12)%, respectively. Statistical significance (p<0.05) is shown only for the average values by “ * ”.
Figure 12
Cumulative completion rate. The cumulative completion rate illustrates the percentage of completed motions within a time span. E.g. The rightmost insert shows that over 80% of motions were completed within 3 seconds using LDA. Inserts from left to right show the cumulative completion rate of each trial per subject for LDA, MLP and RFN. The rightmost insert considers all trails of all subjects for each algorithm.
Figure 13
Real-time accuracy. The real-time accuracy between classifiers per movement (top) and subjects (bottom) are presented in box plots where the central mark represents the median value; the edges of the box are the 25th and 75th percentiles; the whiskers give the range of data values without considering outliers for clarity; and solid markers represent the mean. The real-time accuracy is computed by dividing the number of correct predictions during completion time over all predictions. If no motion completion was achieved, the accuracy was not considered. The real-time accuracies for LDA, MLP and RFN were 67.1(±10)%, 60.9(±8.8)%, and 67.4(±10)%, respectively. Statistical significance (p<0.05) is shown only for the average values by “ * ”.
Figure 14
Offline accuracy vs real-time indicators The offline accuracy per movement and subject is compared against their corresponding real-time accuracy and completion rate. The mean of each classifier, and the mean of all three, are shown with solid markers. A linear fitting of the data is shown in continues lines per classifier, and for all data using a discontinuous line. The overall offline accuracy of 89.1% produced 80.4% completion rate (8.7% difference). An average offline accuracy of 91.2% was reduced to 65.3% real-time accuracy (25.9% reduction). The offline accuracy in the latter case only considered cases where the motion was completed in order to be paired with its corresponding real-time counterpart.
Figure 15
The effect of decreasing the number of training and validations sets on offline accuracy. The average accuracy and standard deviation of 100 trainings per each of the 17 subjects is shown for each classifier. The amount of available data sets was reduced from 100% to 6%, and the data sets were randomized before each training. The 100% represents 48 training and 24 validation sets, each a feature vector extracted from a 200 ms time window with 50 ms time increment. The testing sets were kept constant (49 per movement). A statistical significant reduction of accuracy was found between each step for LDA and MLP, but only for the last two steps for RFN. This suggests that RFN allows considerable reductions of training data while conserving similar classification accuracy. For clarity in the graph, only the non-statistical significant differences are shown by “ # ”.
Figure 16
Non-amputee and amputee subjects demonstrating BioPatRec applications. The different insets in this figure show amputees and non-amputees using BioPatRec for the control of a multifunctional prosthesis; virtual limbs in augmented and virtual reality; and computer games. All these potential output possibilities from BioPatRec as a motion predicting software.
References
- MATLAB version 7.13.0.564 (R2011b) Natick: The MathWorks Inc. 2011.
- Hargrove LJ, Englehart K, Hudgins B. A comparison of surface and intramuscular myoelectric signal classification. IEEE Trans Biomed Eng. 2007;54(5):847–853. -PubMed
LinkOut - more resources
Full Text Sources
Other Literature Sources