Giter Club home page Giter Club logo

segade's Introduction

Segade

A supervised machine learning semantic segmentation approach for detecting artifacts in plethysmography signals from wearables

Segade Pipeline

overall_pipeline Step (1): 30-second signal segments from PPG DaLiA were split into train and test set by randomly chosen subject IDs.
Step (2): Datasets were uploaded into the web annotation tool for human annotation.
Steps (3): and (4): The tool transcribes human annotations into binary segmentation label masks (ground truth) and 30-second signal segments were stored into the back-end database.
Step (5): Ground truth and 30-second signal segments were then used to train the model.
Step (6): Predictions by the trained model are made on the PPG DaliA test set, WESAD, TROIKA, and UCSF datasets.
Step (7): The trained model’s predictions are provided for evaluation against human-annotated ground truth.

Model architecture

model

Results

results

Results Visualizations

vis_1 vis_2 vis_3 vis_4

Installation and Results Reproduction

Use environment_no_builds.yml if not on Linux
	*Packages might be different on different OS, if conflicts exists, please delete the confilct packages from yml file, since some packages are required only on Ubuntu/ Linux

Place test set in data/ folder\
	* 	test set folder structure should look like this:
		TESTSETNAME
			|_ processed_dataset
				|_ scaled_ppgs.npy
				|_ seg_labels.npy
		 
		scaled_ppgs.npy has shape (n*1920)
		seg_labels.npy has shape (n*1920), consists of only 1 and 0 integers
		* files must be named scaled_ppgs.npy and seg_labels.npy

cd to model folders (cnn_slider, pulse_template_matching, resnet34, proposed)

Run evaluation with command: python run_evaluations.py TESTSETNAME plot_limiter
	- TESTSETNAME is the same name of the test set folder you placed in the parent data/ folder
	- plot_limiter is an integer, how many plots you want to generate for sampling purpose
	* generate plots will increase evaluation time dramatically, recommend 0 if evaluation is the priority

segade's People

Contributors

chengstark avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.