
Figure 1:
A rower using the rowing ergometer with reflective markers (marked with red).

Figure 2:
Sequence splitting. Example visualization of rowing sequence input data. The sequence of rowing strokes was divided into multiple parts of single strokes (dark red box) with a 0.25-sec error margin (light red) to ensure a complete stroke was included. Each new sequence had a 1-second overlap with the previous sequence.

Figure 3:
The GRU-CNN model extended the initial GRU model with a CNN and more layers. The input (1) was sent through a convolutional layer (2) with 128 filters, a kernel size of 3 and ReLU activation, then a max pooling layer (3) with pool size 2, then two GRU layers (4, 5) with the same parameters as the original GRU model. At last, the data is sent through a dense layer (6) with 128 units and ReLU activation, then a dropout layer (7) with a dropout rate of 0.3 and then a final one-unit dense layer (8) with sigmoid activation.

Figure 4:
Rowing angles. Example visualization of the second type of input features: Angles between reflective markers. From the left: α, β and γ.

Figure 5:
Violin plot showing validation and test accuracies for different feature combinations in the GRU model. The mean value and range are marked in the plot. The mean was computed across 10 instances of training the model. The left-most plot shows the accuracies achieved for different input features when using the validation data set, while the right-most plot shows the accuracies for the test data set.

Figure 6:
10-fold cross-validation results for the GRU-CNN model. The mean value and range are marked in the plot.
Table 1:
Performance metrics for the best-trained GRU-CNN model when evaluated on the test dataset.
| Input features | F1 score | AUC | Accuracy | |
|---|---|---|---|---|
| Coords | Shoulders and hips | 0.4226 | 0.4026 | 0.5181 |
| Shoulders and seat | 0.4150 | 0.4460 | 0.5181 | |
| Shoulders and ergometer front | 0.6989 | 0.5376 | 0.7744 | |
| Ergometer handle and front | 0.6792 | 0.5368 | 0.7632 | |
| Hips and ergometer front | 0.5222 | 0.5117 | 0.5209 |

Figure 7:
Training and validation accuracies for the MLP model for coordinate input feature combinations.
Table 2:
Performance metrics for the best-trained MLP model when evaluated on the test dataset.
| Input features | F1 score | AUC | Accuracy | |
|---|---|---|---|---|
| Coords | Shoulders and hips | 0.2836 | 0.9962 | 0.6178 |
| Shoulders and seat | 0.3557 | 0.9949 | 0.6591 | |
| Shoulders and ergometer front | 0.9328 | 0.9996 | 0.9482 | |
| Ergometer handle and front | 0.9190 | 0.9999 | 0.9387 | |
| Hips and ergometer front | 0.6812 | 0.9948 | 0.8365 | |
| All joints | 1 | 1 | 1 |