| Literature DB >> 35957347 |
Erwan Delhaye1,2, Antoine Bouvet1,2, Guillaume Nicolas1,2, João Paulo Vilas-Boas3, Benoît Bideau1,2, Nicolas Bideau1,2.
Abstract
This study presents a deep learning model devoted to the analysis of swimming using a single Inertial Measurement Unit (IMU) attached to the sacrum. Gyroscope and accelerometer data were collected from 35 swimmers with various expertise levels during a protocol including the four swimming techniques. The proposed methodology took high inter- and intra-swimmer variability into account and was set up for the purpose of predicting eight swimming classes (the four swimming techniques, rest, wallpush, underwater, and turns) at four swimming velocities ranging from low to maximal. The overall F1-score of classification reached 0.96 with a temporal precision of 0.02 s. Lap times were directly computed from the classifier thanks to a high temporal precision and validated against a video gold standard. The mean absolute percentage error (MAPE) for this model against the video was 1.15%, 1%, and 4.07%, respectively, for starting lap times, middle lap times, and ending lap times. This model is a first step toward a powerful training assistant able to analyze swimmers with various levels of expertise in the context of in situ training monitoring.Entities:
Keywords: deep learning; human activity recognition; inertial measurement units; lap time; swimming monitoring
Mesh:
Year: 2022 PMID: 35957347 PMCID: PMC9371205 DOI: 10.3390/s22155786
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.847
Figure 1Overview of the protocol.
Phase identification used in video labelling and then for feeding into the algorithms.
| Name of the Phase | Definition of the Phase Used for Video Labelling |
|---|---|
| Wallpush (WP) | From the first frame when the swimmer switches from vertical to horizontal position or from the first frame after TU or RS ends to the last frame when the swimmer’s feet touch the wall |
| Underwater (UN) | From the first frame after WP ends to the first frame when the hands are dissociated before stroking |
| Butterfly (BU) | From the first frame after UN ends when the swimmer performs BU style to the first frame when the swimmer’s hands touch the wall |
| Backstroke (BA) | From the first frame after UN ends when the swimmer performs BA style to the first frame when the swimmer starts the last arm pull before rotating |
| Breaststroke (BR) | From the first frame after UN ends when the swimmer performs BR style to the first frame when the swimmer’s hand touch the wall |
| Frontcrawl (FR) | From the first frame after UN ends when the swimmer performs FR technique to the first frame when the swimmer starts the last arm pull before rotating |
| Turn (TU) | From the first frame after BU, BA, BR, or FR ends to the first frame when the swimmer’s feet touch the wall before leg extension |
| Rest (RS) | From the first frame after BU or BA ends or first frame when the swimmer’s hand touches the wall during FR or BA, then from rest to the first frame of WP following a rest period |
Figure 2Correspondance between the signal and the true activity of the swimmer: (top,center) accelerometer and gyroscope signals for all axes, and (bottom) true activity of the signal, presented as activity labelling.
Network architecture and tuning.
| Layer Type | Output Shape | Activation Function | Dropout | Recurrent Dropout | Number of Parameters |
|---|---|---|---|---|---|
| Input layer | (64,90,6) | ||||
| Bi-LSTM | (64,128,6) | Tanh | 0.25 | 0.25 | 79,360 |
| Bi-LSTM | (64,64,6) | Tanh | 0.25 | 0.25 | 41,216 |
| Bi-LSTM | (64,32,6) | Tanh | 0.25 | 0.25 | 10,368 |
| Bi-LSTM | (64,32) | Tanh | 0.25 | 0.25 | 6272 |
| Flatten | (64,32) | 0 | |||
| Dense | (64,50) | ReLU | 0.5 | 1650 | |
| Batch Normalization | (64,50) | 0.5 | 200 | ||
| Dense | (64,8) | Softmax | 408 |
Definition of phase and events to compute LT CAM and to monitor swimmer activity with stopwatch (LT MAN).
| START | MIDDLE | END | |
|---|---|---|---|
| Frontcrawl and Backstroke | Time difference between the beginning of initial wall push and next wall push | Time difference between a wall push and next wall push | Time difference between last wall push and final touch with the hand |
| Butterfly and Breaststroke | Time difference between initial wall push and the first simultaneous touch with the hand | Time difference between a touch with the hand on the wall and the next touch on the wall | Time difference between the last touch on the wall with the hand and the final touch with hand |
Definition of phases and events to compute IMU lap times.
| START | MIDDLE | END | |
|---|---|---|---|
| Frontcrawl and Backstroke | Time difference between the last prediction of a wall push and next-to-last prediction of a wall push or first underwater prediction | Time difference between last wall push prediction or first underwater prediction and the next last turn prediction | Time difference between last wall push prediction or first underwater prediction and next first rest prediction |
| Butterfly and Breaststroke | Time difference between the last prediction of a wall push and next first prediction of a turn | Time difference between prediction of a turn and the next first prediction of a turn | Time difference between prediction of a turn and the next first rest prediction |
Performance results in swimming activity recognition on testing set before and after filtering step (–).
| Class | Precision | Recall | F1-Score | n |
|---|---|---|---|---|
| Wallpush | 0.17–0.53 | 0.08–0.19 | 0.11–0.28 | 581 |
| Underwater | 0.71–0.92 | 0.71–0.91 | 0.71–0.91 | 3519 |
| Butterfly | 0.98–0.99 | 0.83–0.88 | 0.90–0.93 | 7280 |
| Turn | 0.58–0.75 | 0.71–0.91 | 0.64–0.82 | 1553 |
| Backstroke | 0.96–0.98 | 0.94–0.99 | 0.95–0.99 | 6531 |
| Breaststroke | 0.83–0.89 | 0.95–0.98 | 0.89–0.94 | 7117 |
| Frontcrawl | 0.96–0.99 | 0.96–0.99 | 0.96–0.99 | 6124 |
| Rest | 0.99–0.99 | 0.99–0.99 | 0.99–0.99 | 17,539 |
| Accuracy | 0.91–0.96 | 50,244 | ||
| Average | 0.77–0.88 | 0.77–0.86 | 0.77–0.86 | 50,244 |
| Weighted Average | 0.92–0.96 | 0.91–0.96 | 0.91–0.96 | 50,244 |
Statistical agreement between lap times computed by IMU and gold standard video (n = 952 laps) respectively.
| Mean ± SD LT CAM | Mean ± SD LT IMU | TEM [IC] | Biais [IC] | MAPE ± SD |
|---|---|---|---|---|
| 23.73 ± 3.39 s | 23.79 ± 3.35 s | 0.60 s [0.57 s; 0.63 s] | 0.06 s [−0.05 s; 0.14 s] | 1.77 ± 1.82% |
Figure 3(Left) Bland–Altman plot of IMU and gold standard video, (middle) Bland–Altman plot of stopwatch and gold standard video, and (right) density distribution of difference between lap times assessed by IMU and gold standard video and by stopwatch and video.
Statistical agreement between lap times computed by stopwatch and gold standard video (n = 870 laps).
| Mean ± SD LT CAM | Mean ± SD LT IMU | TEM [IC] | Biais [IC] | MAPE ± SD |
|---|---|---|---|---|
| 23.74 ± 3.39 s | 23.63 ± 3.38 s | 0.58 s [0.55 s; 0.61 s] | −0.10 s [−0.14 s; −0.07 s] | 1.43 ± 2.04% |
Statistical agreement between lap times assessed by IMU and gold standard video according to lap time type.
| n | Type | Mean ± SD LT CAM | Mean ± SD LT IMU | TEM [IC] | Biais [IC] | MAPE ± SD |
|---|---|---|---|---|---|---|
| 243 | START | 22.64 ± 3.27 s | 22.65 ± 3.20 s | 0.39 s [0.36 s; 0.43 s] | 0.01 s [−0.04 s; 0.06 s] | 1.15 ± 1.31% |
| 470 | MIDDLE | 24.96 ± 3.18 s | 24.96 ± 3.17 s | 0.37 s [0.34 s; 0.39 s] | 0.00 s [−0.03 s; 0.03 s] | 1.00 ± 1.06% |
| 239 | END | 22.41 ± 3.15 s | 22.67 ± 3.06 s | 0.98 s [0.90 s; 1.08 s] | 0.25 s [0.13 s; 0.38 s] | 4.07 ± 1.93% |
Figure 4Statistical agreement between gold standard lap times and IMU lap times per type of lap time.