| Literature DB >> 30356012 |
Vu Ngoc Thanh Sang1, Shiro Yano2, Toshiyuki Kondo3.
Abstract
Many motion sensor-based applications have been developed in recent years because they provide useful information about daily activities and current health status of users. However, most of these applications require knowledge of sensor positions. Therefore, this research focused on the problem of detecting sensor positions. We collected standing-still and walking sensor data at various body positions from ten subjects. The offset values were removed by subtracting the sensor data of standing-still phase from the walking data for each axis of each sensor unit. Our hierarchical classification technique is based on optimizing local classifiers. Many common features are computed, and informative features are selected for specific classifications. In this approach, local classifiers such as arm-side and hand-side discriminations yielded F1-scores of 0.99 and 1.00, correspondingly. Overall, the proposed method achieved an F1-score of 0.81 and 0.84 using accelerometers and gyroscopes, respectively. Furthermore, we also discuss contributive features and parameter tuning in this analysis.Entities:
Keywords: feature selection; fractal dimension; hierarchical classification; inertial measurement unit; sensor position
Mesh:
Year: 2018 PMID: 30356012 PMCID: PMC6263469 DOI: 10.3390/s18113612
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Related works on sensor position classification.
| Ref. | Target Positions (Total Number) | Activities (Total Number) | Sensor(s) | Subjects | Feature Selection | Classifier(s) | Evaluation | Performance |
|---|---|---|---|---|---|---|---|---|
| [ | Chest, coat pocket, thigh pocket, and hand (4) | Walking, standing | Linear Accelerometer | 15 | 3D to 2D projection | DT | n-fold | 93.76 (DT) |
| [ | Neck, chest, jacket, trouser front/back, 4 types of bags (9) | Walking, standing | Accelerometer | 20 | Correlation-based | DT | LOSO | 80.5 |
| [ | Ankle, thigh, hip, upper arm, wrist (5) | Walking, standing | Accelerometer | 33 | none | SVM | LOSO | 81.0 (5-class) |
| [ | Dataset 1: backpack, messenger bag, jacket pocket, trouser pocket (4) | Walking, standing | Linear Accelerometer | 10 | WEKA machine | kNN | LOSO | 76.0 (Dataset1) |
| Dataset 2: trouser pocket, upper arm, belt, wrist (4) | Walking, standing | Linear Accelerometer | 10 | 93.0 (Dataset 2) | ||||
| Dataset 3: backpack, hand, trouser pocket (3) | Walking, standing | Accelerometer | 15 | 88.0 (Dataset 3) | ||||
| [ | Hand holding, talking on phone, watching a video, | Walking, standing | Accelerometer | 10 | none | DT | n-fold | 88.5 (Accelerometer) |
| [ | Head, upper arm, forearm, waist, thigh, shin (6) | Walking and non-walking (2) | Accelerometer | 25 | none | SVM | n-fold | 89.0 |
| [ | Head, torso, wrist, front pocket, back pocket (5) | Walking and non-walking (2) | Accelerometer | 6 | none | HMM | n-fold | 73.5 |
| [ | Pelvis, sternum, head, right shoulder, right upper arm, | Walking and non-walking (2) | Accelerometer | 10 | none | DT | n-fold | 97.5 |
DT: Decision Tree; NB: Naive Bayes; SVM: Support Vector Machine; MLP: Multilayer Percentron; kNN: k-Nearest Neighbor; RF: Random Forest; LR: Linear Regression; HMM: Hidden Markov Model; LOSO: Leave-One-Subject-Out.
Common features for sensor position classification.
| Feature | References | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| [ | [ | [ | [ | [ | [ | [ | [ | This Work | |
| Mean | x | x | x | x | x | x | x | ||
| Standard deviation | x | x | x | x | x | x | x | ||
| Variance | x | x | x | x | |||||
| Minimum | x | x | x | x | |||||
| Maximum | x | x | x | x | |||||
| Range | x | ||||||||
| Percentile | x | x | |||||||
| Inter quartile range | x | ||||||||
| Root-mean-square | x | x | |||||||
| Number of peaks | x | x | |||||||
| Zero-crossing rate | x | x | |||||||
| Skewness | x | ||||||||
| Kurtosis | x | ||||||||
| Entropy | x | ||||||||
| Fractal dimension | x | ||||||||
| Energy | x | x | |||||||
Figure 1Overview of sensor position classification.
Figure 2Target positions used in this study, FB: forward and backward, TA: toward and away, ML: medial and lateral.
Figure 3The flows of data in preprocessing stage.
Figure 4First 25 s of raw and the preprocessed data from the accelerometer at right thigh of one subject.
Figure 5An overlapping sliding window creates more patterns than a non-overlapping sliding window.
Figure 6The hierarchical classification body-segment approach (left) and body-side approach (right).
Result of optimized classifiers for body-segment, body-side classifications.
| Clasification | Sensor | LR | kNN | SVM | DT | XGB | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| D | T | D | T | D | T | D | T | D | T | ||
| Body-segment | A | 0.86 |
| 0.80 | 0.81 | 0.86 |
| 0.84 | 0.76 |
|
|
| G | 0.89 | 0.90 |
|
| 0.93 |
| 0.89 | 0.81 | 0.95 |
| |
| Body-side | A | 0.80 | 0.80 | 0.64 | 0.66 | 0.79 | 0.80 |
| 0.78 | 0.68 | 0.68 |
| G | 0.84 | 0.84 |
|
| 0.81 | 0.83 | 0.83 | 0.81 | 0.81 | 0.81 | |
A: Accelerometer, G: Gyroscope, D: Default classifier, T: Tuned classifier.
Result of optimized classifiers for left-segment, right-segment classifications.
| Clasification | Sensor | LR | kNN | SVM | DT | XGB | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| D | T | D | T | D | T | D | T | D | T | ||
| Left-segment | A |
|
| 0.99 |
|
|
| 0.92 | 0.93 | 0.96 | 0.96 |
| G | 0.95 | 0.96 | 0.98 | 0.99 | 0.98 |
| 0.95 | 0.93 | 0.95 | 0.96 | |
| Right-segment | A |
|
| 0.93 | 0.93 | 0.93 | 0.94 | 0.84 | 0.86 | 0.90 | 0.91 |
| G |
|
| 0.95 | 0.95 |
|
| 0.89 | 0.78 | 0.95 |
| |
A: Accelerometer, G: Gyroscope, D: Default classifier, T: Tuned classifier.
Result of optimized classifiers for arm-side, hand-side and thigh-side classifications.
| Clasification | Sensor | LR | kNN | SVM | DT | XGB | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| D | T | D | T | D | T | D | T | D | T | ||
| Arm-side | A |
|
|
|
|
|
| 0.95 | 0.95 |
|
|
| G | 0.70 | 0.71 |
|
| 0.66 | 0.75 | 0.70 | 0.79 | 0.53 | 0.62 | |
| Hand-side | A | 0.99 |
|
|
| 0.99 |
|
|
|
|
|
| G |
|
|
|
|
|
|
|
|
|
| |
| Thigh-side | A | 0.62 | 0.62 | 0.51 | 0.54 | 0.60 | 0.67 | 0.54 | 0.70 |
|
|
| G | 0.82 | 0.88 | 0.86 | 0.88 | 0.84 |
| 0.82 | 0.88 | 0.88 | 0.88 | |
A: Accelerometer, G: Gyroscope, D: Default classifier, T: Tuned classifier.
Processing time of classifiers that have similar performance.
| Classification | Sensor | Classifier | Samples | Number of Features | Processing Time | ||
|---|---|---|---|---|---|---|---|
| Train | Test | Mean (ms) | Std (ms) | ||||
| Body-segment | A | LR | 2500 | 300 | 8 | 603.0 | 14.1 |
| SVM | 2500 | 300 | 10 |
|
| ||
| XGB | 2500 | 300 | 10 | 4630.0 | 113.0 | ||
| G | kNN | 2500 | 300 | 8 |
|
| |
| XGB | 2500 | 300 | 4 | 2530.0 | 16.0 | ||
| Left-segment | A | LR | 1250 | 150 | 7 | 78.0 | 0.5 |
| kNN | 1250 | 150 | 4 |
|
| ||
| SVM | 1250 | 150 | 6 | 272.0 | 14.8 | ||
| Right-segment | G | LR | 1250 | 150 | 6 |
|
|
| SVM | 1250 | 150 | 6 | 268.0 | 11.2 | ||
| XGB | 1250 | 150 | 6 | 1210.0 | 87.0 | ||
| Arm-side | A | LR | 800 | 100 | 4 |
|
|
| kNN | 800 | 100 | 4 | 59.1 | 0.2 | ||
| SVM | 800 | 100 | 3 | 91.7 | 0.6 | ||
| XGB | 800 | 100 | 4 | 333.0 | 2.2 | ||
| Hand-side | A | LR | 800 | 100 | 1 | 84.2 | 0.1 |
| kNN | 800 | 100 | 1 |
|
| ||
| SVM | 800 | 100 | 1 | 86.1 | 7.5 | ||
| DT | 800 | 100 | 1 | 74.7 | 19.3 | ||
| XGB | 800 | 100 | 1 | 186.0 | 18.2 | ||
| G | LR | 800 | 100 | 1 | 64.4 | 8.24 | |
| kNN | 800 | 100 | 1 | 79.0 | 9.5 | ||
| SVM | 800 | 100 | 1 | 71.1 | 7.4 | ||
| DT | 800 | 100 | 1 |
|
| ||
| XGB | 800 | 100 | 1 | 197.0 | 12.0 | ||
A: Accelerometer, G: Gyroscope.
The performance of selected features and classifiers using the accelerometer.
| Classification | Classifier | Feature Types | P | R | F1 | Processing Time | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Centrality | Position | Dispersion | Distribution | Chaotic | Energy | # | Mean (ms) | Std (ms) | |||||
| Body-segment | SVM | mean-FB | std | kurt-FB | k-2 | 10 | 0.90 | 0.88 | 0.88 | 475.0 | 26.6 | ||
| Body-side | DT | mean | std | skew-ML | k-4 | 7 | 0.83 | 0.82 | 0.82 | 204.0 | 17.3 | ||
| Left-segment | kNN | mean | std | k-4-TA | 4 | 1.00 | 1.00 | 1.00 | 74.5 | 10.7 | |||
| Right-segment | LR | mean-ML | std | skew-FB | k-2-FB | 7 | 0.95 | 0.95 | 0.95 | 91.5 | 12.5 | ||
| Arm-side | LR | mean-FB | skew-FB | 4 | 0.99 | 0.99 | 0.99 | 67.4 | 4.1 | ||||
| Hand-side | LR | mean | 1 | 1.00 | 1.00 | 1.00 | 73.1 | 13.1 | |||||
| Thigh-side | XGB | mean | std-TA | kurt-FB | 4 | 0.91 | 0.89 | 0.88 | 468.0 | 30.8 | |||
FB: forward and backward direction, TA: toward and away direction, ML: medial and lateral direction; #: total number of feature, P: precision, R: recall, F1: F1-score.
The performance of selected features and classifiers using gyroscope.
| Classification | Classifier | Feature Types | P | R | F1 | Processing Time | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Centrality | Position | Dispersion | Distribution | Chaotic | Energy | # | Mean (ms) | Std (ms) | |||||
| Body-segment | kNN | mean | IQR | kurt-FB | k-8-TA | 8 | 0.96 | 0.96 | 0.96 | 158.0 | 17.8 | ||
| Body-side | kNN | mean | per25-FB | kurt-FB | entro20 | 7 | 0.87 | 0.86 | 0.86 | 146.0 | 15.3 | ||
| Left-segment | SVM | mean | per50-FB | std-FB | skew-FB | k-8-TA | 5 | 1.00 | 1.00 | 1.00 | 90.5 | 7.4 | |
| Right-segment | LR | mean | min-FB | skew-ML | k-2-ML | 6 | 0.97 | 0.97 | 0.97 | 84.5 | 5.0 | ||
| Arm-side | kNN | mean-FB | per50-ML | min | kurt-TA | k-4-FB | 6 | 0.84 | 0.82 | 0.81 | 73.5 | 3.3 | |
| Hand-side | DT | mean | 1 | 1.00 | 1.00 | 1.00 | 58.9 | 7.2 | |||||
| Thigh-side | SVM | skew-FB | 1 | 0.94 | 0.91 | 0.89 | 167.0 | 6.6 | |||||
FB: forward and backward direction, TA: toward and away direction, ML: medial and lateral direction, #: total number of feature, P: precision, R: recall, F1: F1-score.
Parameters of selected classifiers using the accelerometer.
| Classification | Classifier | Parameters | Note |
|---|---|---|---|
| Body-segment | SVM | C = 2.0, gamma = 0.5, kernel = ’poly’ | Tuned |
| Body-side | DT | criterion = ’gini’, max_depth = None, | Default |
| Left-segment | kNN | n_neighbors=5, weights=’uniform’, p=1 | Tuned |
| Right-segment | LR | C = 1.0, penalty = ’l2’ | Default |
| Arm-side | LR | C = 1.0, penalty = ’l2’ | Default |
| Hand-side | LR | C = 1.0, penalty = ’l2’ | Default |
| Thigh-side | XGB | learning_rate = 0.1, max_delta_step = 0, | Default |
Parameters of selected classifiers using gyroscope.
| Classification | Classifier | Paramters | Note |
|---|---|---|---|
| Body-segment | kNN | n_neighbors = 5, p = 2, weights = ’uniform’, | Default |
| Body-side | kNN | n_neighbors = 5, p = 2, weights = ’uniform’, | Default |
| Left-segment | SVM | C = 3.5, gamma = 4.0, kernel = ’rbf’ | Tuned |
| Right-segment | LR | C = 1.0, penalty = ’l2’ | Default |
| Arm-side | kNN | n_neighbors = 5, p = 2, weights = ’uniform’, | Default |
| Hand-side | DT | criterion = ’gini’, max_depth = None, | Default |
| Thigh-side | SVM | C=0.5, gamma = 2.0, kernel = ’sigmoid’ | Tuned |
Figure 7The comparison of final results based on different hierarchical classifiers.
Figure 8The boxplot for hand sides of all subject using accelerometer and gyroscope.