Fatigue Monitoring in Futsal Athletes using Physiological Wearable Sensors
收藏资源简介:
This dataset includes demographic, physiological, and fatigue-related data collected from 8 male futsal athletes during regular training sessions between 25 July 2024 and 8 August 2024. The goal of this dataset is to support the development of machine learning models for fatigue monitoring and performance evaluation using wearable sensor data. The data collection took place at the futsal stadium ("Stadio, Tensostatico Antistadio - A. Montinaro - Via del Mare, 73100 - Lecce") where athletes of the Lecce futsal team train and compete regularly. In addition, the experiments have been authorized from the Italian Ethical Committee through the protocol n. 1752/CEL - Studio IoTSport2024. Each participant signed a written informed consent describing the purpose, methodology, and minimum risks of the experiments, and they were explicitly informed about the implications of monitoring during training sessions. All data have been anonymized in compliance with the European General Data Protection Regulation (GDPR). When using this resource, please cite: A. Mamen, E. De Giovanni, T. Montanaro, I. Sergi, L. Patrono, "Human-Centered and Context-Aware Smart ML-based IoT Framework for Online Fatigue Detection: a Real-World Study of Football Training", Internet of Things, 2025, 101847, ISSN 2542-6605, DOI: 10.1016/j.iot.2025.101847 A. Data Description The following list summarizes the data contained in the “Data treated.zip” file that represents the final dataset collected through the conducted experiments described in the published paper. However, authors decided to publish more zip files that also contain raw data, pkl files, training table and code for reading files. A.1. Demographic Data For each participant, the dataset includes static personal and role-related attributes: Player ID (anonymized) (column “athleteId”) Age (years) (column “age”) Height (cm) (column “height”) Weight (kg) (column “weight”) Gender (column “gender“) Playing Position (e.g., side, central, pivot) (column “Position “) Smoking Status (smoker / non-smoker) (column “isSmoker”) A.2. Physiological Data Physiological measurements were collected at 1 Hz sampling rate using commercial wearable sensors: Polar H10 – ECG chest strap (HR and RR intervals) (column “hrH10,rr”) Polar Verity Sense – PPG arm band (HR) (column “hrSense”) A.2.1 Heart Rate (HR) Heart rate automatically extracted by Polar devices Heart Rate from ECG (chest strap) (column “hrH10”) Heart Rate from PPG (arm band) (column “hrSense”) Unit: beats per minute (bpm) A.2.2 RR Intervals RR intervals automatically extracted by the Polar device (column “rr”) RR intervals extracted from ECG Unit: milliseconds (ms) Used as the basis for HRV analysis Preprocessing: RR interval signals were first processed using the Interquartile Range (IQR) method to detect and remove outlier values while preserving the integrity of the dataset. This method identifies outliers by calculating the spread between the 25th and 75th percentiles (Q1 and Q3) and flagging observations outside the interval Q1 – 1.5 × IQR or Q3 + 1.5 × IQR. Next, we applied linear interpolation to maintain the main trend of the RR or HR series. This correction was followed by applying two standard filtering methods: a median filter (kernel size = 9) and a second-order low-pass Butterworth filter. The median filter smooths the signal by sliding a window (kernel) across the data and replacing each point with the median value within that window. This approach reduces isolated outliers while preserving the underlying structure of the RR-interval time series. Finally, we applied a second-order low-pass Butterworth (cutoff = 0.5 Hz) filter to remove high-frequency noise and preserve meaningful variations. A.3. Derived Physiological Features All features were extracted using short sliding windows (30 s window in length, 10 s sliding step) and computed at the edge device. A.3.1 Heart Rate Variability (HRV) Features Time-Domain HRV Features (column “HRV_SDNN,HRV_RMSSD,HRV_MinNN,HRV_MaxNN,HRV_SDNNd,HRV_SDNNa”) Non-Linear HRV Features (column “HRV_SD1,HRV_SD2,HRV_SD1SD2,HRV_ApEn,HRV_DFA_alpha1,HRV_MFDFA_alpha1_Width,HRV_MFDFA_alpha1_Peak,HRV_MFDFA_alpha1_Mean,HRV_MFDFA_alpha1_Max”) Frequency-domain HRV features are not included due to short analysis windows; however, raw RR intervals are provided to allow future extraction. A.3.2 Heart Rate–Derived Features (only for PPG-based HR) These features quantify cardiovascular load and aerobic demand: Percentage Heart Rate Reserve (%HRR) (column “percentageHRreserve”) Heart Rate Index (HR / HR_rest) (column “HRindex”) Net Heart Rate (HR − HR_rest) (column “HRnet”) Estimated VO₂ (derived from HR Index) (column “VO2”) A.4. Contextual and Exercise Data Exercise ID: unique identifier for each exercise segment (column “exerciseId") Exercise Type: mapped to specific training activities (e.g., warm-up, metabolic drills, shooting circuit) (column "Exercise_Description”) This contextual information enables context-aware fatigue modeling, linking physiological responses to exercise intensity and movement conditions. A.5. Fatigue Labels (Ground Truth) Fatigue annotations are based on the Borg Rating of Perceived Exertion (RPE) scale (6–20) and refined through expert validation: Athletes self-reported RPE values after each exercise segment (“borgScale”) Final labels reviewed and corrected by the coach using heart rate trends and professional expertise (column “borgScale ”) The corrected Borg scores were mapped into four categorical fatigue levels following the correspondence between the 6-20 scale and the 4-level physical fatigue scale reported in the literature: Low (Class 0) corresponds to Borg scale values between 6 and 11. Moderate (Class 1) corresponds to Borg scale values between 12 and 14. Heavy (Class 2) corresponds to Borg scale values between 15 and 16. Severe (Class 3) corresponds to Borg scale values between 17 and 20. These categorical labels are used for supervised fatigue classification tasks. B. Used Devices Polar H10 ECG Sensor Polar Verity Sense PPG Sensor Smartphone app for data collection and timestamping C. Intended Use This dataset is intended for: Fatigue detection and classification research Machine learning and signal processing applications HRV and RR interval analysis Sports performance analytics Wearable sensor benchmarking D. File description The following list summarizes the content of the attached files: D.1 raw data.zip: it contains the raw dataset consisting of time-stamped physiological, demographic, contextual, and subjective variables recorded during training sessions. The dataset is organized into five session-level folders, each representing one training session. Each folder contains individual CSV files corresponding to the athletes who participated in that session, with file names indicating the athlete ID used throughout the study. The dataset comprises data collected from eight distinct individuals across multiple data collection sessions. Participant attendance varied across collection days due to practical and logistical constraints; therefore, not all participants were present in every session: (Athlete n. 3 discontinued participation after the first session due to medical reasons, while Athlete 8 joined the study beginning with the third session.) Day 1: Data collected from 7 athletes (athleteId: 1, 2, 3, 4, 5, 6, 7) Day 2: Data collected from 6 athletes (athleteId: 1, 2, 4, 5, 6, 7) Day 3: Data collected from 6 athletes (athleteId: 1, 2, 5, 6, 7, 8) Day 4: Data collected from 7 athletes (athleteId: 1, 2, 4, 5, 6, 7, 8) Day 5: Data collected from 7 athletes (athleteId: 1, 2, 4, 5, 6, 7, 8) Each record represents the data captured at a frequency of 1Hz and includes the following fields: hrH10: Heart rate (bpm) measured using the Polar H10 ECG chest strap. hrSense: Heart rate (bpm) measured using the Polar Verity Sense PPG armband. rr: RR interval values extracted from ECG signals of the Polar H10, expressed in ms. age: Athlete age in years. height: Athlete height in cm. It is a static information reported in each record for simplicity weight: Athlete weight in kg. It is a static information reported in each record for simplicity isSmoker: Binary indicator of smoking status (1 = smoker, 0 = non-smoker). It is a static information reported in each record for simplicity gender: Athlete gender (male/female). It is a static information reported in each record for simplicity timestamp: Unix timestamp based on the smartphone system clock, representing the time at which the physiological data were recorded. exerciseId: Unique identifier of the exercise segment being performed. athleteId: Anonymized identifier of the athlete. It is a static information reported in each record for simplicity borgScale: Self-reported Rating of Perceived Exertion (RPE) value based on the Borg scale (6–20). injuries[0].id: Unique identifier of a recorded injury (if present). It indicates whether at least 1 injury was experienced by the athlete. In fact, in our experiments the number of injuries experienced by the athlete in all his life was not needed, therefore we preferred to insert only one field for all the injuries, and all the important injuries experienced by the athlete have been inserted in a single field. injuries[0].description: Textual description of the injury. It indicates whether at least 1 injury was experienced by the athlete. In fact, in our experiments the number of injuries experienced by the athlete in all his life was not needed, therefore we preferred to insert only one field for all the injuries, and all the important injuries experienced by the athlete have been inserted in a single field. injuries[0].date: Date on which the injury was reported. In our experiments it was important to know only if at least 1 injury was experienced by the athlete, so we preferred to insert only one field for all the injuries, and all the important injuries experienced by the athlete have been inserted in a single field. D.2 data for training.zip: contains the structured dataset used for model training, validation, and testing. The data have been preprocessed and labeled using coach-corrected fatigue levels derived from Borg RPE scores. The dataset is split into 70% training, 20% validation, and 10% testing subsets. These splits are provided to support reproducible model development and evaluation. The contained files are in .pkl format, a special-purpose language designed for configuration tasks. These are the files processed by the python scripts and saved in the format that the scripts provided can easily process though the pickle library. The contained files represents: HRFdata.pkl: hrSense, percentageHRreserve, HRnet, HRundex, age, height, weight, isSmoker, exerciseId MIXALLdata.pkl: HRV_SDNN, HRV_RMSSD, HRV_MinNN, HRV_MaxNN, HRV_SDNNd, HRV_SDNNa, HRV_SD1, HRV_SD2, HRV_SD1SD2, HRV_ApEn, HRV_DFA_alpha1, HRV_MFDFA_alpha1_Width, HRV_MFDFA_alpha1_Peak, HRV_MFDFA_alpha1_Mean, HRV_MFDFA_alpha1_Max, percentageHRreserve, HRnet, HRundex, age, height, weight, isSmoker, exerciseId NL+TDdata.pkl: HRV_MaxNN, HRV_SDNNd, HRV_SDNNa, HRV_SD1, HRV_SD2, HRV_SD1SD2, HRV_ApEn, HRV_DFA_alpha1, HRV_MFDFA_alpha1_Width, HRV_MFDFA_alpha1_Peak, HRV_MFDFA_alpha1_Mean, HRV_MFDFA_alpha1_Max, age, height, weight, isSmoker, exerciseId nonLineardata.pkl: HRV_SD1, HRV_SD2, HRV_SD1SD2, HRV_ApEn, HRV_DFA_alpha1, HRV_MFDFA_alpha1_Width, HRV_MFDFA_alpha1_Peak, HRV_MFDFA_alpha1_Mean, HRV_MFDFA_alpha1_Max, age, height, weight, isSmoker, exerciseId TimeDomaindata.pkl: HRV_SDNN, HRV_RMSSD, HRV_MinNN, HRV_MaxNN, HRV_SDNNd, HRV_SDNNa, age, height, weight, isSmoker, exerciseId D.3 code for reading data for training.py: it contains the python code that researchers can use or readapt to read data. The provided code allows to import the dataset from the pkl files and exctract it in different variables that the developers can easily process and manipulate. D.4 Data treated.zip: All data were treated uniformly during preprocessing, including raw physiological signals (heart rate from ECG and PPG sensors, and RR intervals), derived HRV features (time-domain and nonlinear metrics), and heart rate–based features (e.g., %HR reserve, HR index, net HR, and estimated VO₂) and the demographic data. D.5 training table.zip: It reports the list of all the performed and monitored training exercises as detailed in the following table. E. Training Exercises (reported in "training Table 1.zip") ExerciseId Exercise Description Duration (minutes ) 1st session 125 Dynamic Team Warm-up 15 Resting 2 127 metabolic training 15 Resting 2 129 strength transformation phase 20 2nd session 130 Core stability 4 Resting 2 132 Strength & Agility Warm-Up 15 Resting 2 134 Metabolic circuit 25 3rd session 136 Full-Body Warm-Up 15 Resting 2 138 Reactive speed training 15 Resting 2 140 Game-situation tactics 15 4th session 141 Core Endurance 5 Resting 2 143 Progressive Speed Warm-Up 10 Resting 2 145 Dry aerobic training 16 5th session 146 General Warm-up 20 Resting 2 148 Agility & Acceleration Circuit 5 Resting 2 150 Reactive Sprint Drill 4 Resting 2 152 Max Sprint End-to-Mid Drill 4 F. Keywords Fatigue detection, Heart rate variability, RR intervals, Wearable sensors, Polar H10, Polar Verity Sense, PPG, ECG, Athletes, Sports science



