| Literature DB >> 32587667 |
Abeer A Badawi1, Ahmad Al-Kabbany1,2,3, Heba A Shaban1.
Abstract
This research addresses the challenge of recognizing human daily activities using surface electromyography (sEMG) and wearable inertial sensors. Effective and efficient recognition in this context has emerged as a cornerstone in robust remote health monitoring systems, among other applications. We propose a novel pipeline that can attain state-of-the-art recognition accuracies on a recent-and-standard dataset-the Human Gait Database (HuGaDB). Using wearable gyroscopes, accelerometers, and electromyography sensors placed on the thigh, shin, and foot, we developed an approach that jointly performs sensor fusion and feature selection. Being done jointly, the proposed pipeline empowers the learned model to benefit from the interaction of features that might have been dropped otherwise. Using statistical and time-based features from heterogeneous signals of the aforementioned sensor types, our approach attains a mean accuracy of 99.8%, which is the highest accuracy on HuGaDB in the literature. This research underlines the potential of incorporating EMG signals especially when fusion and selection are done simultaneously. Meanwhile, it is valid even with simple off-the-shelf feature selection methods such the Sequential Feature Selection family of algorithms. Moreover, through extensive simulations, we show that the left thigh is a key placement for attaining high accuracies. With one inertial sensor on that single placement alone, we were able to achieve a mean accuracy of 98.4%. The presented in-depth comparative analysis shows the influence that every sensor type, position, and placement can have on the attained recognition accuracies-a tool that can facilitate the development of robust systems, customized to specific scenarios and real-life applications.Entities:
Mesh:
Year: 2020 PMID: 32587667 PMCID: PMC7298253 DOI: 10.1155/2020/7914649
Source DB: PubMed Journal: J Healthc Eng ISSN: 2040-2295 Impact factor: 2.682
Review of the different techniques from the literature that are most-related to the proposed research.
| Study | No. of subjects | No. of activities | No. of features | No. of positions | Sensor position | Sensor type | Classifiers | Average of classification accuracy |
|---|---|---|---|---|---|---|---|---|
| [ | 10 | 7 | 11 | 2 | Wrist and ankle | Accelerometer | PNN and K-PNN | 96% |
| [ | 10 | 7 | 5 | 3 | Hip, thigh, and ankle | Accelerometer | SVM, regularized LR, and Adaboost | 78.2% |
| [ | 15 | 18 | 4 | 3 | Wrist, waist, and thigh | Accelerometer | Decision tree | 93.8% |
| [ | 4 | 5 | 12 | 4 | Left thigh, right arm, ankle, and abdomen | Accelerometer | SVM, AMM, HNN | 81% avg. per subject |
| [ | 30 | 6 | 24 | 1 | Waist | Accelerometer and gyroscope | RF, SVM, NB, J48, NN, K-NN, Rpart, JRip, Bagging, and Adaboost | 99.8% avg. per activity |
| [ | 18 | 1 | 9 | 1 | Chest | Accelerometer | NB, SVM, RF, J48, NN, K-NN, Rpart, JRip, Bagging, and Adaboost | 99.9% avg. per activity |
| [ | 10 | 11 | 8 | 8 | Arms, thigh, waist, and chest | Accelerometer and electromyography | ANN | 97.4% |
| [ | 10 | 30 | 12 | 1 | Arm | Accelerometer, gyroscope, magnetometer, and electromyography | LDA and QDA | 71.6% |
| [ | 19 | 13 | 19 | 4 | Chest, ankle, hip, and wrist | Accelerometer and gyroscope | k-NN | 99.13% |
| [ | 10 | 12 | 14 | 1 | Wrist | Accelerometer | DT, SVM, k-NN, MLP, and NB | 96.87% |
| [ | 30 | 6 | 17 | 1 | Waist | Accelerometer and gyroscope | SVM and RF | 99.22% |
| [ | 31 | 6 | 17 | 1 | Waist | Accelerometer and gyroscope | SVM and RF | 95.33% |
| [ | 30 | 6 | 5 | 1 | Waist | Accelerometer and gyroscope | Multiple HMMs, MOT, and k-NN | 92.6% |
| [ | 4 | 4 | — | 14 | Upper body, leg, and hip | Inertial sensors and accelerometers | DL (NMF + SAE) | 99.9% |
| [ | 10 | 12 | — | 3 | Chest, right wrist, and left ankle | Accelerometer, ECG, gyroscope and magnetometer | Hierarchical classification method HCM | 97.2% |
| Ours | 18 | 12 | 14 | 7 | Right and left thighs, right and left shins, and right and left feet and an EMG on the thigh | Accelerometer, gyroscope and EMG | Neural networks, naive Bayes, random forest, (k-NN), SVM, and decision trees | 99.8% |
Review of the different performance metrics that were used with pertinent techniques in the literature.
| Study | Accuracy (%) |
| Precision | Recall | CV method | Sensitivity (%) | Specificity (%) |
|---|---|---|---|---|---|---|---|
| [ | 96 | — | — | — | Leave-one-out (LOOCV) | — | — |
| [ | 78.2 | — | — | — | 10-fold CV | — | — |
| [ | 93.8 | — | — | — | Leave-one-out (LOOCV) | — | — |
| [ | 81 | — | — | — | Leave-one-out (LOOCV) | — | — |
| [ | 99.8 | — | — | — | 5-fold CV | 100 | 100 |
| [ | 97.4 | — | — | — | — | 95 | 99.7 |
| [ | 71.6 | — | — | — | — | — | — |
| [ | 99.13 | Avg. of all activities 98.86% | Avg. of all activities 98.77% | Avg. of all activities 98.95% | Leave-one-out (LOOCV) | — | — |
| [ | 96.87 | 85.84% | — | — | 10-fold CV | 84.7 | 85.3 |
| [ | 99.22 | Avg. of all activities 99.23% | Avg. of all activities 99.23% | Avg. of all activities 99.23% | 10-fold CV | — | — |
| [ | 95.33 | Avg. of all activities 95.52% | Avg. of all activities 95.52% | Avg. of all activities 95.50% | 10-fold CV | — | — |
| [ | 92.6 | — | — | — | — | — | — |
| [ | 99.9 | 99.4% | 99.4% | 99.4% | Leave-one-out (LOOCV) | — | — |
| [ | 97.2 | 97.2% | 97.2% | 97.2% | — | — | — |
| Ours | 99.8 | 99.3% | 99.1% | 99.4% | 10-fold CV | 99.4 | 99.1 |
Definition of the features extracted in the proposed research.
| Feature | Description |
|---|---|
| Standard deviation | Standard deviations of ( |
| Standard deviation | Auto-correlation of the standard deviations of ( |
| Standard deviation | Auto-covariance of the standard deviations of ( |
| Variance | Variance of ( |
| Mean | Mean of ( |
| Mean | Auto-covariance of the mean values of ( |
| Mean | Auto-correlation of the mean values of ( |
| Minimum | Minimum value of ( |
| Maximum | Maximum value of ( |
| Skewness | Asymmetry of ( |
| Kurtosis | Fourth central moment value divided by the variance square value of ( |
| Root-mean squared | Square root of the mean square ( |
| Mean crossing rate | Mean crossing rate of ( |
| Jitter | Jitter of ( |
Figure 1Scheme of the proposed system adopted in this research.
Parameters of each of the adopted classifiers.
| Classifiers | Parameters |
|---|---|
| Multilayer Perceptrom | sklearn.neural_network.MLPClassifier(hidden_layer_sizes = (100,), activation = “relu”, solver = “adam”, alpha = 0.0001, batch_size = “auto,” learning_ate = “constant,” learning_rate_init = 0.001, power_t = 0.5, max_iter = 200, shuffle = True, random_state = None, tol = 0.001, verbose = False, warm_start = False, momentum = 0.9, nesterovs_momentum = True, early_stopping = False, validation_fraction = 0.1, beta_1 = 0.9, beta_2 = 0.999, epsilon = 1 |
|
| |
| Decision tree (DT) | sklearn.tree.DecisionTreeClassifier(criterion = “gini,” spliter = “best,” max_depth = None, min_samples_split = 2, min_samples_leaf = 1, min_weight_fraction_leaf = 0.0, max_features = None, random_state = None, max_leaf_nodes = None, Min_impurity_decrease = 0.0, min_impurity_spilt = None, class_weight = None, presort = “deprecated.” ccp_alpha = 0.0) |
|
| |
| Random forest (RF) | sklearn.ensemble.RandomForestClassifier(n_estimators = 128, criterion = “gini,” max_depth = None, min_samples_spilt = 2, min_samples_leaf = 1, min_weight_fraction_leaf = 0.0, max_features = “auto,” max_leaf_nodes = None, min_impurity_decrease = 0.0, min_impurity_split = None, bootstrap = True, oob_score = False, n_jobs = None, random_state = None, verbose = 0, warm_start = False, class_weight = None, ccp_alpha = 0.0, max_samples = None) |
|
| |
| k-Nearest neighbors (k-NN) | kNeighborsClassifier(n_neighbors = 5, weights = “uniform,” algorithm = “auto,” leaf_size = 30, p = 2, metric = “minkowski,” metric_params = None, n_jobs = None, |
|
| |
| Support vector machine (SVM) | sklearn.svm.SVC(C = 10, kernel = “linear,” degree = 3, gamma = “auto,” coef0 = 0.0, shrinking = True, probability = False, tol = 0.001, cache_size = 200, class_weight = None, verbose = False, max_iter = ‒1, decision_function_shape = “ovr,” break_ties = False, random_state = None |
|
| |
| Naive Bayes | sklearn.naive_bayes.GaussianNB (priors = None, var_smoothing = 1 |
Figure 2Boxplots of different classifiers' accuracies for data from accelerometer signals (please see text for more details).
Figure 3Confusion matrix for the random forest classifier from the accelerometer and the gyroscope sensors placed on the left thigh [5].
Figure 4Gyroscope y-axis performance when the number of features is varied [6].
Comparison between accuracies attained using single axis and triple axes before using feature selection.
| Sensor type and position | DT | SVM | RF |
| Number of features |
|---|---|---|---|---|---|
| A_lt_ | 88.10 | 89.40 | 90.70 | 79.10 | 14 |
| G_lt_ | 85.80 | 83.90 | 86.80 | 66.90 | 14 |
| A_lt_ | 90.00 | 89.40 |
| 71.50 | 28 |
| A, G_lt_ | 95.10 | 95.40 |
| 84.80 | 112 |
Comparison between accuracies attained using single axis and triple axes after using feature selection.
| Sensor type and position | DT | SVM | RF |
| Number of features |
|---|---|---|---|---|---|
| A_lt_ | 89.80 | 91.50 | 91.67 | 82.00 | 7 |
| G_lt_ | 88.10 | 85.20 | 88.70 | 87.80 | 8 |
| A_lt_ | 91.60 | 91.20 |
| 75.00 | 15 |
| A, G_lt_ | 96.40 | 97.00 |
| 86.30 | 37 |
Figure 5Six classification algorithm accuracies when applied on the x-axis signal from the foot, thigh, and shin of the left leg accelerometer, gyroscope, and EMG.
Comparison between accuracies attained using single axis and triple axes for accelerometer and electromyography signals without using feature selection.
| Sensor type and position | DT | SVM | RF |
| Number of features |
|---|---|---|---|---|---|
| A_lt_ | 88.10 | 89.40 | 90.70 | 79.10 | 14 |
| EMG | 76.90 | 78.90 | 79.20 | 66.20 | 14 |
| A_lt_ | 87.45 | 85.19 |
| 67.17 | 28 |
| A_lt_all | 92.03 | 93.60 | 95.00 | 83.90 | 56 |
| A_lt_all + EMG | 93.65 | 92.87 |
| 84 | 70 |
Comparison between accuracies attained using single axis and triple axes for accelerometer and electromyography signals with sequential forward floating feature selection.
| Sensor type and position | DT | SVM | RF |
| Number of features |
|---|---|---|---|---|---|
| A_lt_ | 89.80 | 91.50 | 91.67 | 82 | 7 |
| EMG | 78.00 | 80.30 | 84.30 | 70.10 | 11 |
| A_lt_ | 88.91 | 87.65 |
| 70.22 | 16 |
| A_lt_all | 94.20 | 95.10 | 96.20 | 85.10 | 23 |
| A_lt_all + EMG | 95.65 | 95.01 |
| 85.83 | 30 |
Comparison between accuracies attained using single axis and triple axes for gyroscope and electromyography signals without using feature selection.
| Sensor type and position | DT | SVM | RF |
| Number of features |
|---|---|---|---|---|---|
| G_lt_ | 85.80 | 83.90 | 86.80 | 66.90 | 14 |
| EMG | 76.90 | 78.90 | 79.20 | 66.20 | 14 |
| G_lt_ | 88.60 | 90.41 |
| 72.96 | 28 |
| G_lt_all | 87.90 | 88.60 | 92.50 | 81.20 | 56 |
| G_lt_all + EMG | 90.27 | 90.83 |
| 73.10 | 70 |
Comparison between accuracies attained using single axis and triple axes for gyroscope and electromyography signals with sequential forward floating feature selection.
| Sensor type and position | DT | SVM | RF |
| Number of features |
|---|---|---|---|---|---|
| G_lt_ | 88.10 | 85.20 | 88.70 | 87.80 | 8 |
| EMG | 78.00 | 80.30 | 84.30 | 70.10 | 11 |
| G_lt_ | 90.11 | 91.78 |
| 75.23 | 18 |
| G_lt_all | 89% | 90.10 | 94.40 | 82.90 | 26 |
| G_lt_all + EMG | 93.13 | 92.83 |
| 76.32 | 32 |
Comparison between single axis vs triple axes for accelerometer, gyroscope, and electromyography signals before using feature selection.
| Sensor type and position | DT | SVM | RF |
| No. of features |
|---|---|---|---|---|---|
| A_lt_ | 88.10 | 89.40 | 90.70 | 79.10 | 14 |
| G_lt_ | 85.80 | 83.90 | 86.80 | 66.90 | 14 |
| EMG | 76.90 | 78.90 | 79.20 | 66.20 | 14 |
| A_lt_ | 90.00 | 89.40 | 94.70 | 71.50 | 28 |
| A_lt_ | 91.40 | 90.70 |
| 72.80 | 42 |
| A_lt_all | 92.03 | 93.60 | 95.00 | 83.90 | 56 |
| G_lt_all | 87.90 | 88.60 | 92.50 | 81.20 | 56 |
| A, G_lt_all | 95.10 | 95.40 | 96.80 | 84.80 | 112 |
| A, G_lt_all + EMG | 96.80 | 96.70 |
| 87.30 | 126 |
Comparison between accuracies attained using single axis and triple axes for accelermoeter, gyroscope, and electromyography signals with sequential forward floating feature selection.
| Sensor type and position | DT | SVM | RF |
| No. of features |
|---|---|---|---|---|---|
| A_lt_ | 89.80 | 91.50 | 91.67 | 82 | 7 |
| G_lt_ | 88.10 | 85.20 | 88.70 | 87.80 | 8 |
| EMG | 78.00 | 80.30 | 84.30 | 70.10 | 11 |
| A_lt_ | 91.60 | 91.20 | 96.90 | 75.00 | 15 |
| A_lt_ | 93.10 | 92.40 |
| 78.40 | 24 |
| A_lt_all | 94.20 | 95.10 | 96.20 | 85.10 | 23 |
| G_lt_all | 89 | 90.10 | 94.40 | 82.90 | 26 |
| A, G_lt_all | 96.40 | 97 | 98.40 | 86.30 | 37 |
| A, G_lt_all + EMG | 97.30 | 98 |
| 88.10 | 45 |
Comparison between 10-fold CV and LOPO CV for accelerometer, gyroscope, and EMG sensors before applying feature selection.
| Classifier/validation protocol | 10-fold CV (%) | LOPO CV (%) |
|---|---|---|
| Random forest | 98.5 | 98.9 |
| SVM | 96.7 | 96.5 |
| Decision tree | 96.8 | 96.3 |
| KNN | 87.3 | 86.8 |
Comparison between 10-fold CV and LOPO CV for accelerometer, gyroscope, and EMG sensors after applying feature selection.
| Classifier/validation protocol | 10-fold CV (%) | LOPO CV (%) |
|---|---|---|
| Random forest | 99.8 | 99.4 |
| SVM | 98 | 98.2 |
| Decision tree | 97.3 | 97.1 |
| KNN | 88.1 | 88.5 |
Figure 6Difference in the number of features before and after using feature selection and sensor fusion.
Figure 7Difference in accuracies attained with and without feature selection as shown in Figure 6.
List of input sources and the corresponding features acquired from them.
| Input source | Features |
|---|---|
| A_lt_ | Jitter, mean, standard deviation, maximum, standard deviation auto covariance, standard deviation auto-correlation, and root-mean square |
| A_lt_ | Jitter, mean crossing rate, variance, minimum, maximum, standard deviation auto-correlation, kurtosis, and root-mean square |
| A_lt_ | Jitter, mean, standard deviation, minimum, variance, standard deviation auto covariance, skewness, and kurtosis |
| Ac_lt_mag | Mean and variance |
| G_lt_ | Mean, jitter, and standard deviation auto-correlation standard deviation, minimum, variance, mean auto correlation, root-mean square, and skewness |
| G_lt_ | Mean crossing rate, mean, mean auto covariance, and root-mean square |
| G_lt_mag | Mean crossing rate, standard deviation, standard deviation auto covariance, and root-mean square |
| EMG_l | Mean crossing rate, minimum, and kurtosis |