| Literature DB >> 32733863 |
Ezio Preatoni1, Stefano Nodari2, Nicola Francesco Lopomo2.
Abstract
Observing, classifying and assessing human movements is important in many applied fields, including human-computer interface, clinical assessment, activity monitoring and sports performance. The redundancy of options in planning and implementing motor programmes, the inter- and intra-individual variability in movement execution, and the time-continuous, high-dimensional nature of motion data make segmenting sequential movements into a smaller set of discrete classes of actions non-trivial. We aimed to develop and validate a method for the automatic classification of four popular functional fitness drills, which are commonly performed in current circuit training routines. Five inertial measurement units were located on the upper and lower limb, and on the trunk of fourteen participants. Positions were chosen by keeping into account the dynamics of the movement and the positions where commercially-available smart technologies are typically secured. Accelerations and angular velocities were acquired continuously from the units and used to train and test different supervised learning models, including k-Nearest Neighbors (kNN) and support-vector machine (SVM) algorithms. The use of different kernel functions, as well as different strategies to segment continuous inertial data were explored. Classification performance was assessed from both the training dataset (k-fold cross-validation), and a test dataset (leave-one-subject-out validation). Classification from different subsets of the measurement units was also evaluated (1-sensor and 2-sensor data). SVM with a cubic kernel and fed with data from 600 ms windows with a 10% overlap gave the best classification performances, yielding to an overall accuracy of 97.8%. This approach did not misclassify any functional fitness movement for another, but confused relatively frequently (2.8-18.9%) a fitness movement phase with the transition between subsequent repetitions of the same task or different drills. Among 1-sensor configurations, the upper arm achieved the best classification performance (96.4% accuracy), whereas combining the upper arm and the thigh sensors obtained the highest level of accuracy (97.6%) from 2-sensors movement tracking. We found that supervised learning can successfully classify complex sequential movements such as those of functional fitness workouts. Our approach, which could exploit technologies currently available in the consumer market, demonstrated exciting potential for future on-field applications including unstructured training.Entities:
Keywords: activity monitoring; automatic classification; inertial measurement unit; machine learning; on-field testing; sport; wearable sensors
Year: 2020 PMID: 32733863 PMCID: PMC7358600 DOI: 10.3389/fbioe.2020.00664
Source DB: PubMed Journal: Front Bioeng Biotechnol ISSN: 2296-4185
Figure 1Experimental setup and movement tasks, where the position of IMU sensors has been highlighted. (A) “Clean and Jerk,” (B) “Box Jump,” (C) “American Swing,” and (D) “Burpee”. All the five sensors were worn by the participants throughout the execution of the protocol.
Figure 2Schematic representation of the execution stages of the fitness training drills used in this study: (A) “Clean and Jerk,” (B) “American Swing,” (C) “Box Jump,” and (D) “Burpee”.
Features extracted from each time window of each signal collected (from accelerometers and gyroscopes), and then used as input of the classification algorithm.
| Mean value (Magnitude) | Mean value |
| Standard deviation | Power |
| Root mean square | Higher frequency |
| Mean absolute deviation | Lower frequency |
| Max value | Median frequency |
| Min value | Mean frequency |
| Kurtosis | Spectral entropy |
| Skewness | |
| Quartile (25th, 50th, 75th) |
Figure 3Distribution of individual movement durations in the analyzed population. C&J, Clean and Jerk; AS, American Swing; BJ, Box Jump; BP, Burpee.
Overall classification performance (accuracy, in %) for Support Vector Machine (SVM) algorithms, as a factor of different kernel functions, window lengths, and percentage of window overlap.
| Window [ms] | 300 | 95.6 | 95.5 | 95.7 | 96.7 | 96.7 | 96.8 | 97.1 | 97.0 | 97.3 |
| 400 | 95.7 | 96.0 | 96.2 | 97.2 | 97.1 | 97.1 | 97.3 | 97.3 | 97.3 | |
| 500 | 96.3 | 96.6 | 96.4 | 97.1 | 97.1 | 97.1 | 97.4 | 97.4 | 97.2 | |
| 600 | 96.2 | 97.0 | 96.4 | 97.0 | 97.7 | 97.7 | 97.0 | 97.7 | ||
| Window [ms] | 300 | 82.6 | 82.7 | 95.5 | 95.5 | 95.7 | 93.5 | 93.7 | 94.0 | |
| 400 | 82.8 | 82.9 | 82.8 | 95.4 | 95.6 | 96.0 | 93.8 | 94.0 | 94.0 | |
| 500 | 83.6 | 83.2 | 83.3 | 95.2 | 95.4 | 95.5 | 93.6 | 94.6 | 94.3 | |
| 600 | 83.6 | 83.7 | 83.4 | 95.2 | 95.8 | 95.5 | 93.6 | 94.6 | 94.2 | |
Data from all the five IMUs available were used as input. Green bold numbers = best performance; red bold numbers = worst performance.
Overall classification performance (accuracy, in %) for k-Nearest Neighbors (kNN) algorithms, as a factor of different kernel functions, window lengths and percentage of window overlap.
| Window [ms] | 300 | 96.4 | 96.4 | 96.7 | 96.3 | 96.0 | 96.5 | 89.2 | 89.8 | 90.6 |
| 400 | 96.3 | 96.3 | 97.0 | 96.1 | 96.5 | 96.8 | 90.1 | 90.5 | ||
| 500 | 96.1 | 97.0 | 97.0 | 96.0 | 96.5 | 96.1 | 89.7 | 89.8 | 90.4 | |
| 600 | 96.2 | 96.7 | 95.7 | 96.4 | 96.2 | 89.9 | 90.5 | |||
| Window [ms] | 300 | 96.4 | 96.3 | 96.6 | 94.0 | 93.7 | 94.1 | 96.4 | 96.3 | 96.8 |
| 400 | 96.3 | 96.5 | 96.5 | 93.9 | 94.2 | 94.9 | 96.4 | 96.7 | 96.9 | |
| 500 | 96.1 | 96.7 | 96.3 | 94.6 | 94.7 | 94.8 | 96.3 | 96.6 | 96.4 | |
| 600 | 96.1 | 96.5 | 94.7 | 94.9 | 94.8 | 96.3 | 96.9 | 96.5 | ||
Data from all the five IMUs available were used as input. Green bold numbers = best performance; red bold numbers = worst performance.
Confusion matrixes for the cubic kernel SVM algorithm with a 600 ms window length and 10% overlap.
| True class | C&J | |||||
| AS | ||||||
| BJ | ||||||
| BP | ||||||
| TRANS | ||||||
| True class | C&J | |||||
| AS | ||||||
| BJ | ||||||
| BP | ||||||
| TRANS | ||||||
Classification performance is reported from the two stages of validation as total counts and % of total. Blank cells correspond to a count of zero. LOSO = “leave one subject out.” Training = sensor data from movements of Set 1 and Set 3 of the experimental protocol, used to train the classifier. Test = sensor data from movements of Set 2 of the experimental protocol, not used to train the algorithm. Results are the average across multiple iterations. Green = correct prediction, red = misclassification.
Accuracy (ACC), precision (PPV, Positive Predictive Value) and sensitivity (TPR, True Positive Rate) for each functional fitness movement, related to the cubic kernel SVM algorithm with a 600 ms length windows and 10% overlap.
| C&J | 99.4 | 97.3 | 91.2 | 82.2 | ||
| AS | 99.1 | 98.7 | 93.0 | |||
| BJ | 99.5 | 94.8 | 93.5 | 87.6 | 85.7 | |
| BP | 98.8 | 96.5 | 92.7 | 96.5 | 86.2 | |
| TRANS | 98.0 | |||||
Data from all the five IMUs available were used as input. Classification performance is reported from the two stages of validation as %, and results are the average across multiple iterations. Stage 1= 5-fold Cross-Validation—Training Dataset; Stage 2 = “leave one subject out” (LOSO) on test dataset. Green bold numbers = best performance; red bold numbers = worst performance.
Overall classification performance (accuracy, in %) for Support Vector Machine (SVM) algorithms, with 600 ms−10% overlap windows.
| Stage 1 | 94.5 | 93.5 | 93.5 | 96.5 | 97.0 | 96.8 | 96.8 | 97.4 | |||||
| Stage 2 | 89.3 | 91.0 | 86.8 | 87.5 | 92.0 | 92.0 | 92.6 | 92.2 | 92.2 |
Data from individual or pairs of IMUs were used as input. Stage 1= 5-fold Cross-Validation—Training dataset; Stage 2 = “leave one subject out” (LOSO) on workout dataset. Green bold numbers = best performance; red bold numbers = worst performance. W, Wrist; UA, Upper Arm; T, Thigh; A, Ankle; L, Lumbar Segment.
Accuracy (ACC), precision (PPV, Positive Predictive Value) and sensitivity (TPR, True Positive Rate) for each functional fitness movement, related to the cubic kernel SVM algorithm with a 600 ms length windows and 10% overlap.
| C&J | 85.7 | 96.2 | 72.9 | 93.0 | 65.1 | 62.9 | 93.2 | 67.6 | 58.5 | ||||||
| AS | 81.3 | 97.3 | 63.7 | 97.5 | 81.7 | 65.9 | 97.6 | 65.2 | 82.1 | ||||||
| BJ | 98.6 | 83.9 | 76.8 | 96.9 | 61.3 | 45.3 | 98.1 | 87.9 | 57.1 | ||||||
| BP | 97.0 | 83.6 | 97.5 | 85.3 | 69.8 | 97.1 | 79.5 | 69.2 | 68.0 | ||||||
| TRANS | 89.7 | 90.2 | 96.3 | 88.6 | 90.6 | 94.7 | 89.0 | 90.5 | 95.5 | ||||||
Data from individual IMUs were used as input. Classification performance is reported as %. For sake of clarity, only results from the most stringent validation (Stage 2 = “leave one subject out” on test dataset) are reported. Green bold numbers = best performance; red bold numbers = worst performance. W, Wrist; UA, Upper Arm; T, Thigh; A, Ankle; L, Lumbar Segment.
Accuracy (ACC), precision (PPV, Positive Predictive Value) and sensitivity (TPR, True Positive Rate) for each functional fitness movement, related to the cubic kernel SVM algorithm with a 600 ms length windows and 10% overlap.
| W+A | ACC | 96.4 | 98.4 | 98.8 | 98.0 | 92.5 |
| PPV | 83.5 | 91.8 | 89.1 | 84.8 | 93.7 | |
| TPR | 79.5 | 74.4 | 80.6 | |||
| W+L | ACC | 96.6 | 92.5 | |||
| PPV | 86.1 | 91.3 | 93.6 | |||
| TPR | 77.7 | 80.8 | 77.5 | 96.6 | ||
| W+T | ACC | 98.1 | 98.7 | 97.9 | ||
| PPV | 87.8 | 90.4 | 87.7 | 88.4 | 93.7 | |
| TPR | 69.6 | 77.3 | 97.3 | |||
| W+UA | ACC | 97.0 | 99.1 | 98.0 | ||
| PPV | 90.9 | 87.6 | 93.0 | |||
| TPR | 79.0 | 83.3 | 78.2 | 97.2 | ||
| UA+A | ACC | 98.2 | 99.1 | 92.6 | ||
| PPV | 90.6 | 89.1 | 93.8 | |||
| TPR | 71.1 | 82.3 | 96.6 | |||
| UA+L | ACC | 96.7 | 98.4 | 99.0 | 98.5 | |
| PPV | 88.6 | 89.0 | 89.9 | 93.8 | ||
| TPR | 76.3 | 72.6 | 83.7 | 84.9 | ||
| UA+T | ACC | 96.7 | 98.2 | 98.5 | ||
| PPV | 84.6 | 89.2 | 90.6 | |||
| TPR | 80.9 | 73.7 | 83.7 | 96.9 |
Data from pairs of IMUs were used as input. Classification performance is reported as %. For sake of clarity, only results from the most stringent validation (Stage 2 = “leave one subject out” on workout dataset) are reported. Green bold numbers = best performance; red bold numbers = worst performance. W= Wrist, UP= Upper Arm, T= Thigh, A= Ankle, L= Lumbar Segment.
Accuracy (ACC), precision (PPV, Positive Predictive Value) and sensitivity (TPR, True Positive Rate) for each functional fitness movement, related to the cubic kernel SVM algorithm with a 600 ms length windows and 10% overlap.
| UA | C&J | 95.4 | 79.6 | 70.8 |
| AS | 95.8 | |||
| BJ | 90.0 | 84.2 | ||
| BP | 97.3 | 78.8 | 75.4 | |
| TRANS | ||||
| UA+T | C&J | 96.0 | 79.3 | 80.5 |
| AS | 96.9 | |||
| BJ | 85.5 | 81.3 | ||
| BP | 97.5 | 82.7 | 75.1 | |
| TRANS |
Data from the IMU placed on the upper arm (UA) and the combination of upper arm and thigh (UA+T) were used as input. Classification performance is reported from the only Stage 2 = “leave one subject out” (LOSO) validation on test dataset. Green bold numbers = best performance; red bold numbers = worst performance in each stage.