Skip to content

dylanbahenda/Cognitive-Load-Classification

Repository files navigation

Cognitive Load Classification using Physiological Signals

This repository contains the cognitive load classification project developed for the Advanced Human-System Interfaces course at the Università degli Studi di Milano-Bicocca.

This project implements a machine learning pipeline designed to classify human cognitive load using wearable physiological sensors. Photoplethysmography (PPG) and Galvanic Skin Response (GSR) signals, collected under the CLA WDAS protocol, are denoised, normalized, and segmented into high cognitive load (mental math calculations, AUCL) and low arousal (relaxing audio listening, AUDIO) tasks.

Features and Methodology

  • Wearable Sensors: Photoplethysmography (PPG) and Galvanic Skin Response (GSR) signals collected via Shimmer devices.
  • Signal Processing: Denoising, amplitude normalization, and chronological segmentation of tasks.
  • Feature Engineering: Extraction of hand-crafted features including statistical characteristics and peak characteristics from both PPG and GSR.
  • Normalization: Subject-wise scaling (z-scoring) to address inter-subject and feature variability.
  • Model Evaluation: 5 classifiers evaluated using k-fold cross-validation in the MATLAB Classification Learner App. A Binary Logistic Regression model was selected for the final classification.

Project Structure

  • Train_Pipeline_01.mlx: MATLAB Live Script for the training and feature extraction pipeline.
  • Test_Pipeline_02.mlx: MATLAB Live Script for the testing pipeline.
  • Model_Classification_03.mlx: MATLAB Live Script for model training, evaluation, and prediction.
  • Signal_Visualization_04.mlx: MATLAB Live Script for exploratory data analysis (EDA) and signal visualization.
  • ClassificationLearnerSession.mat: Saved MATLAB Classification Learner App session.
  • AHSI_Load_Classification.pdf: Technical report detailing the implementation, results, and evaluation.
  • functions/:
    • computeFeaturesGSR.mlx: MATLAB Live Function for extracting statistical features from GSR signals.
    • computeFeaturesPPG.mlx: MATLAB Live Function for extracting statistical features from PPG signals.
  • data/:
    • FEB_CLData_AUCL_AUDIO.mat: Complete combined dataset.
    • Session5_Shimmer_8965.mat, Session6_Shimmer_8965.mat: Raw sensor data sessions.
    • Train_Features.mat, Test_Features.mat: Processed feature tables for model training and testing.

Authors

  • Bahenda Yvon Dylan Ntegano

About

Wearable PPG and GSR sensor signal processing and machine learning classification of human cognitive loa

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors