| Literature DB >> 32486068 |
Isaac Debache1, Lorène Jeantet1, Damien Chevallier1, Audrey Bergouignan1,2, Cédric Sueur1,3.
Abstract
Here we propose a new machine learning algorithm for classification of human activities by means of accelerometer and gyroscope signals. Based on a novel hierarchical system of logistic regression classifiers and a relatively small set of features extracted from the filtered signals, the proposed algorithm outperformed previous work on the DaLiAc (Daily Life Activity) and mHealth datasets. The algorithm also represents a significant improvement in terms of computational costs and requires no feature selection and hyper-parameter tuning. The algorithm still showed a robust performance with only two (ankle and wrist) out of the four devices (chest, wrist, hip and ankle) placed on the body (96.8% vs. 97.3% mean accuracy for the DaLiAc dataset). The present work shows that low-complexity models can compete with heavy, inefficient models in classification of advanced activities when designed with a careful upstream inspection of the data.Entities:
Keywords: accelerometers; human activity recognition; machine learning; sensors
Mesh:
Year: 2020 PMID: 32486068 PMCID: PMC7308842 DOI: 10.3390/s20113090
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Illustration of our hierarchical classification system.
Figure 2The architecture of the convolutional neural network tested here. Except for the output, all layers were activated with the RELU function.
Overview of previous algorithms applied to the DaLiAc dataset (with testing on unseen subjects).
| Authors | Year | Classifiers | Mean Accuracy Score (%) | Remark |
|---|---|---|---|---|
| Leutheuser et al. [ | 2013 | SVM, AdaBoost, KNN | 89.6 | Reference paper |
| Chen et al. [ | 2016 | SVM | 93.4 | |
| Nazabal et al. [ | 2016 | HMM | 95.8 | Merged the two bicycle activities |
| Zdravevski et al. [ | 2017 | SVM | 93.4 | |
| Hur et al. [ | 2018 | CNN | 96.4 | |
| Jurca et al. [ | 2018 | LSTM | 87.2 | |
| Huynh-The et al. [ | 2019 | CNN | 95.7 | |
| Proposed algorithm | 2020 | LR | 97.3 |
SVM = support vector machine; KNN = k nearest neighbors; HMM = hidden Markov model; CNN = convolutional neural network; LSTM = long short time memory; LR = logistic regression.
Best mean (maximum) and standard deviation (minimum) of accuracy score by classification task and classifier.
| Task | Base | Stand/Washing Dishes | Vacuum/Sweep | Walk/Ascending Stairs/Descending Stairs | Bike 50 Watt/ Bike 100 Watt | Overall | Execution | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ↓ Classifiers | Mean | sd | Mean | sd | Mean | sd | Mean | sd | Mean | sd | Mean | sd | |
| SVM | 0.9911 | 0.0076 | 0.9716 | 0.0365 | 0.9397 | 0.0521 | 0.9872 | 0.0076 | 0.9495 | 0.0577 | 0.9684 | 0.0166 | 7.2 min |
| Best sensor combination | ACHW | AH | ACHW | AHW | ACHW | HW | A | A | ACH | C | ACHW | AHW | |
| CNN | 0.9896 | 0.0093 | 0.965 | 0.0498 | 0.9364 | 0.0607 | 0.9799 | 0.0168 | 0.9259 | 0.0577 | 0.9542 | 0.022 | 32.0 min |
| Best sensor combination | ACW | ACW | AW | A | ACW | ACW | ACH | ACHW | AHW | ACH | ACW | ACW | |
| KNN | 0.984 | 0.0128 | 0.9336 | 0.0742 | 0.8642 | 0.0633 | 0.9873 | 0.0085 | 0.8042 | 0.0754 | 0.9182 | 0.0233 | 4.5 min |
| Best sensor combination | ACW | AW | ACHW | ACHW | ACW | ACW | AC | AC | AC | ACH | ACW | ACW | |
| GB | 0.9923 | 0.0057 | 0.974 | 0.0313 | 0.9292 | 0.0487 | 0.9908 | 0.0063 | 0.9408 | 0.0546 | 0.9694 | 0.0188 | 10.7 min |
| Best sensor combination | ACH | AHW | ACHW | ACHW | ACHW | AHW | ACH | ACH | ACW | CHW | ACHW | ACHW | |
| LR | 0.9921 | 0.0069 | 0.9706 | 0.0354 | 0.9444 | 0.0453 | 0.9872 | 0.0099 | 0.9547 | 0.0493 | 0.973 | 0.0135 | 4.5 min |
| Best sensor combination | AHW | AW | ACW | AHW | ACW | AHW | AC | A | ACHW | AW | ACHW | AW | |
Legend: SD = standard deviation, A = ankle, C = chest, H = hip, W = wrist.
Aggregated confusion matrix for all leave-one-subject-out rounds (logistic regression). Class-specific precision, recall and f-score (β = 1) are reported for each class of the DaLiAc dataset. Values in bold (diagonal) represent correct predictions.
| Sit | Lie | Stand | Wash | Vacuum | Sweep | Walk | Stairs-Up | Stairs-Down | Run | Bike 50W | Bike 100W | Jump | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
| 0 | 17 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
| 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
| 2 | 0 |
| 8 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
|
| 0 | 0 | 2 |
| 7 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
| 0 | 0 | 0 | 7 |
| 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
| 0 | 0 | 6 | 4 | 23 |
| 4 | 2 | 0 | 0 | 0 | 0 | 0 |
|
| 0 | 0 | 3 | 1 | 4 | 5 |
| 11 | 6 | 1 | 0 | 0 | 0 |
|
| 0 | 0 | 0 | 0 | 0 | 1 | 6 |
| 1 | 0 | 0 | 0 | 0 |
|
| 0 | 0 | 0 | 0 | 0 | 0 | 5 | 2 |
| 0 | 0 | 0 | 0 |
|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 |
|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 46 | 0 |
|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 37 |
| 2 |
|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
| 0.993 | 1.00 | 0.940 | 0.976 | 0.926 | 0.953 | 0.992 | 0.954 | 0.974 | 0.999 | 0.959 | 0.950 | 0.992 |
|
| 0.956 | 0.998 | 0.976 | 0.986 | 0.930 | 0.948 | 0.985 | 0.975 | 0.974 | 0.999 | 0.950 | 0.958 | 1.000 |
|
| 0.974 | 0.999 | 0.958 | 0.981 | 0.927 | 0.950 | 0.989 | 0.964 | 0.974 | 0.999 | 0.954 | 0.955 | 0.996 |
Comparison of classification accuracy on the DaLiAc dataset with versus without gyroscope data for all combinations of devices.
| Accelerometer/Gyroscope | Accelerometer Only | Mean Difference | |||
|---|---|---|---|---|---|
| Mean | sd | Mean | sd | ||
|
| 0.920 | 0.03 | 0.921 | 0.02 | 0.0010 |
|
| 0.926 | 0.03 | 0.901 | 0.03 | 0.0250 |
|
| 0.894 | 0.04 | 0.867 | 0.05 | 0.0270 |
|
| 0.867 | 0.5 | 0.809 | 0.05 | 0.0580 |
|
| 0.959 | 0.02 | 0.954 | 0.02 | 0.0050 |
|
| 0.943 | 0.03 | 0.941 | 0.02 | 0.0020 |
|
| 0.968 | 0.01 | 0.958 | 0.01 | 0.0100 |
|
| 0.943 | 0.03 | 0.93 | 0.03 | 0.0130 |
|
| 0.954 | 0.02 | 0.934 | 0.03 | 0.0200 |
|
| 0.945 | 0.03 | 0.926 | 0.03 | 0.0190 |
|
| 0.960 | 0.02 | 0.956 | 0.02 | 0.0040 |
|
| 0.970 | 0.02 | 0.966 | 0.02 | 0.0040 |
|
| 0.968 | 0.01 | 0.964 | 0.01 | 0.0040 |
|
| 0.962 | 0.02 | 0.949 | 0.02 | 0.0130 |
|
| 0.973 | 0.02 | 0.969 | 0.02 | 0.0040 |