Skip to content
This repository has been archived by the owner on Apr 7, 2024. It is now read-only.
/ ebme380 Public archive

Algorithm and application for the wearable stress measurement system developed for the EBME 380 senior design project.

Notifications You must be signed in to change notification settings

rtatton/ebme380

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wearable Stress Measurement System Application

Application for the wearable stress measurement system for the 2020/2021 EBME senior design project of Team 4 at Case Western Reserve University. The deep-learning model is an implementation of the deep reconstruction-classification network [1]. This model was selected because it satisfies all user needs for a wearable stress measurement system designed for the ICU.

The following README provides a high level overview of the source code organization and what tasks remain after the first iteration of design.

Organization

All source code is contained within the wsma directory.

The app package contains app.py, which is the user interface application of the system. It implements the dashboard with the dash library by Plotly. While it is mostly completed, except for a couple errors, it runs. The connect.py module containers the data access class WearableDevice, which allows data transduced and processed by the wearable device to be received by the application device.

The model package contains the drcn.py module, which includes the DRCN class, and is the model used by the wearable stress measurement system to infer patient stress. Note that the multi-task learning convolutional neural network described in [1] is not currently implemented. The DRCN class, while not formally verified with unit testing, is completed and should not require modification, beyond (perhaps) refactoring to expose several parameters of the individual networks layers. Many of the parameter values hard-coded in the constructors are specified by [1].

The preprocess.py module contains functions used for preprocessing the datasets. Note that while [1] provides several source-target comparisons in their experiments, this library assumes the use of the Distracted Driving dataset (source) and the MIT Driver Stress dataset (target) specified in the paper since it scored the highest. The preprocessing of the MIT dataset is completed, but the Distracted Driving dataset is not. The complete dataset contains many other files, which are not necessary for this model. Be aware that the full dataset is about 2 TB, but it appears that much of that is from the irrelevant video files. It is suspected that once the irrelevant data files are removed, the dataset will become significantly more manageable, and may even be small enough to keep in memory while training, like the MIT dataset.

The train.ipynb references some online tutorials to help optimize training times with Google Colab. Please refer to those tutorials. This notebook is not complete. Once the preprocessing code has been implemented, the rest of the notebook can be written, which will simply entail making calls to drcn. py , preprocess.py, and train.py. Google Colab is highly encouraged for training since it offers GPU computing for free and is fairly simple learn.

Remaining Tasks

In summary, the following are what remain to be done:

  • Implement preprocessing for the Distracted Driving dataset
  • Finish implementing the train.py functions
  • Complete the Google Colab notebook
  • Train the model
  • Clean up and fix bugs with app.py (this runs, however)
  • Implement callbacks from the model in app.py
  • Implement real-time updating of the dashboard

References

[1] A. Saeed, T. Ozcelebi, J. Lukkien, J. B. F. van Erp and S. Trajanovski, "Model Adaptation and Personalization for Physiological Stress Detection," 2018 IEEE 5th International Conference on Data Science and Advanced Analytics (DSAA), 2018, pp. 209-216, doi: 10.1109/DSAA.2018.00031.

About

Algorithm and application for the wearable stress measurement system developed for the EBME 380 senior design project.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published