Companion GitHub repository for the paper “MultiPhysio-HRC: Multimodal Physiological Signals Dataset for Industrial Human-Robot Collaboration.”
This repo hosts code, preprocessing pipelines, feature extraction, and baseline models to reproduce results from the paper.
MultiPhysio-HRC is a multimodal dataset and toolkit for mental-state estimation in industrial Human-Robot Collaboration (HRC).
This repository provides:
.
├─ paper/ # Camera‑ready or preprint PDF, figures (optional)
├─ docs/
│ ├─ dataset_overview.md # Modalities, tasks, questionnaires, ethics
│ ├─ data_schema.md # File formats, splits, naming, timestamps
│ └─ benchmarks.md # Baseline setups & expected metrics
├─ src/
│ ├─ dataprep/ # Loading, syncing, cleaning
│ ├─ features/ # Physio, EEG, voice, AUs feature extraction
│ ├─ models/ # Baselines (RF/AB/XGB), utils
│ └─ eval/ # Metrics, LOSO CV, reporting
├─ notebooks/
│ ├─ 01_quicklook.ipynb # Explore a subject & modalities
│ ├─ 02_extract_features.ipynb # End‑to‑end feature extraction
│ └─ 03_train_baselines.ipynb # Reproduce results from the paper
├─ examples/
│ └─ minimal_pipeline.py # Scripted end‑to‑end run
├─ requirements.txt # Python deps
└─ README.md # You are here
Tip: If you keep raw data outside the repo, set
MULTIPHYSIO_HRC_DATAenv var to the dataset root to avoid passing paths around.
# create a clean env (conda or mamba recommended)
conda create -n mphrc python=3.10 -y
conda activate mphrc
# install dependencies
pip install -r requirements.txt
export MULTIPHYSIO_HRC_DATA=/path/to/MultiPhysio-HRC
jupyter lab # then open notebooks/01_quicklook.ipynb
MultiPhysio-HRC/
│
├── physiological_data/
│ ├── filtered/ # Preprocessed signals
│ │ ├── subj1/
│ │ │ ├── task1.csv
│ │ │ ├── task2.csv
│ │ │ ...
│ │ └── subj2/
│ │ ├── task1.csv
│ │ ├── task2.csv
│ │ ...
│ │
│ └── raw/ # Raw signals as acquired
│ ├── subj1/
│ │ ├── task1.csv
│ │ ├── task2.csv
│ │ ...
│ └── subj2/
│ ├── task1.csv
│ ├── task2.csv
│ ...
│
├── features/ # Extracted features and labels
│ ├── aus_data.csv
│ ├── bio_features_60s.csv
│ ├── eeg_features_5s.csv
│ ├── nlp_embeddings.csv
│ ├── speech_features.csv
│ └── labels.csv
|
└── README.md
End‑to‑end (script):
python examples/minimal_pipeline.py \
--data $MULTIPHYSIO_HRC_DATA \
--modality physio \
--task regression --label STAI \
--cv loso --report out/report_physio_stai.json
Notebooks:
02_extract_features.ipynb – computes features for Physio/EEG/Voice/AUs.03_train_baselines.ipynb – trains RF / AdaBoost / XGBoost for regression & 3‑class classification (Low/Med/High) based on per‑subject z‑like thresholds.Models: RandomForest, AdaBoost, XGBoost. Evaluation uses Leave‑One‑Subject‑Out (LOSO). Features & labels are min–max normalized within‑subject as in the paper.
See
docs/benchmarks.mdfor expected ranges and how we compute the Low/Med/High bins per subject.
Q: How do I get access to raw videos or robot logs?
A: See the dataset page. Some assets may require additional request/agreements.
Q: Are there ready‑made splits?
A: We default to Leave‑One‑Subject‑Out. Utility functions can generate stratified splits by task/condition.
If you use MultiPhysio‑HRC or this code, please cite the paper:
@article{robotics14120184,
AUTHOR = {Bussolan, Andrea and Baraldo, Stefano and Avram, Oliver and Urcola, Pablo and Montesano, Luis and Gambardella, Luca Maria and Valente, Anna},
TITLE = {MultiPhysio-HRC: A Multimodal Physiological Signals Dataset for Industrial Human-Robot Collaboration},
JOURNAL = {Robotics},
VOLUME = {14},
YEAR = {2025},
NUMBER = {12},
ARTICLE-NUMBER = {184},
URL = {https://www.mdpi.com/2218-6581/14/12/184},
ISSN = {2218-6581},
DOI = {10.3390/robotics14120184}
}
This dataset was collected under institutional ethical approval (SUPSI), with informed consent from all participants.
Maintainers: Andrea Bussolan, Stefano Baraldo.
1 commits
Python
100.0%
Companion GitHub repository for the paper “MultiPhysio-HRC: Multimodal Physiological Signals Dataset for Industrial Human-Robot Collaboration.”
This repo hosts code, preprocessing pipelines, feature extraction, and baseline models to reproduce results from the paper.
MultiPhysio-HRC is a multimodal dataset and toolkit for mental-state estimation in industrial Human-Robot Collaboration (HRC).
This repository provides:
.
├─ paper/ # Camera‑ready or preprint PDF, figures (optional)
├─ docs/
│ ├─ dataset_overview.md # Modalities, tasks, questionnaires, ethics
│ ├─ data_schema.md # File formats, splits, naming, timestamps
│ └─ benchmarks.md # Baseline setups & expected metrics
├─ src/
│ ├─ dataprep/ # Loading, syncing, cleaning
│ ├─ features/ # Physio, EEG, voice, AUs feature extraction
│ ├─ models/ # Baselines (RF/AB/XGB), utils
│ └─ eval/ # Metrics, LOSO CV, reporting
├─ notebooks/
│ ├─ 01_quicklook.ipynb # Explore a subject & modalities
│ ├─ 02_extract_features.ipynb # End‑to‑end feature extraction
│ └─ 03_train_baselines.ipynb # Reproduce results from the paper
├─ examples/
│ └─ minimal_pipeline.py # Scripted end‑to‑end run
├─ requirements.txt # Python deps
└─ README.md # You are here
Tip: If you keep raw data outside the repo, set
MULTIPHYSIO_HRC_DATAenv var to the dataset root to avoid passing paths around.
# create a clean env (conda or mamba recommended)
conda create -n mphrc python=3.10 -y
conda activate mphrc
# install dependencies
pip install -r requirements.txt
export MULTIPHYSIO_HRC_DATA=/path/to/MultiPhysio-HRC
jupyter lab # then open notebooks/01_quicklook.ipynb
MultiPhysio-HRC/
│
├── physiological_data/
│ ├── filtered/ # Preprocessed signals
│ │ ├── subj1/
│ │ │ ├── task1.csv
│ │ │ ├── task2.csv
│ │ │ ...
│ │ └── subj2/
│ │ ├── task1.csv
│ │ ├── task2.csv
│ │ ...
│ │
│ └── raw/ # Raw signals as acquired
│ ├── subj1/
│ │ ├── task1.csv
│ │ ├── task2.csv
│ │ ...
│ └── subj2/
│ ├── task1.csv
│ ├── task2.csv
│ ...
│
├── features/ # Extracted features and labels
│ ├── aus_data.csv
│ ├── bio_features_60s.csv
│ ├── eeg_features_5s.csv
│ ├── nlp_embeddings.csv
│ ├── speech_features.csv
│ └── labels.csv
|
└── README.md
End‑to‑end (script):
python examples/minimal_pipeline.py \
--data $MULTIPHYSIO_HRC_DATA \
--modality physio \
--task regression --label STAI \
--cv loso --report out/report_physio_stai.json
Notebooks:
02_extract_features.ipynb – computes features for Physio/EEG/Voice/AUs.03_train_baselines.ipynb – trains RF / AdaBoost / XGBoost for regression & 3‑class classification (Low/Med/High) based on per‑subject z‑like thresholds.Models: RandomForest, AdaBoost, XGBoost. Evaluation uses Leave‑One‑Subject‑Out (LOSO). Features & labels are min–max normalized within‑subject as in the paper.
See
docs/benchmarks.mdfor expected ranges and how we compute the Low/Med/High bins per subject.
Q: How do I get access to raw videos or robot logs?
A: See the dataset page. Some assets may require additional request/agreements.
Q: Are there ready‑made splits?
A: We default to Leave‑One‑Subject‑Out. Utility functions can generate stratified splits by task/condition.
If you use MultiPhysio‑HRC or this code, please cite the paper:
@article{robotics14120184,
AUTHOR = {Bussolan, Andrea and Baraldo, Stefano and Avram, Oliver and Urcola, Pablo and Montesano, Luis and Gambardella, Luca Maria and Valente, Anna},
TITLE = {MultiPhysio-HRC: A Multimodal Physiological Signals Dataset for Industrial Human-Robot Collaboration},
JOURNAL = {Robotics},
VOLUME = {14},
YEAR = {2025},
NUMBER = {12},
ARTICLE-NUMBER = {184},
URL = {https://www.mdpi.com/2218-6581/14/12/184},
ISSN = {2218-6581},
DOI = {10.3390/robotics14120184}
}
This dataset was collected under institutional ethical approval (SUPSI), with informed consent from all participants.
Maintainers: Andrea Bussolan, Stefano Baraldo.
1 commits
Python
100.0%