SeismoNet

This repository contains code used for the paper "End-to-End Deep Learning for Reliable Cardiac Activity Monitoring using Seismocardiograms" which has been accepted for presentation at the 19th International Conference on Machine Learning and Applications, Boca Raton, FL, USA.

SeismoNet is a Deep Convolutional Neural Network which aims to provide an end-to-end solution to robustly observe heart activity from Seismocardiogram (SCG) signals. These SCG signals are motion-based and can be acquired in an easy, user-friendly fashion. SeismoNet transforms the SCG signal into an interpretable waveform consisting of relevant information which allows for extraction of heart rate indices.

Preprint available at arxiv 📰

Getting Started 🚀

Model Architecture

Usage

Install all dependencies with:

$ pip install -r requirements.txt

Download datasets with:

$ wget -r -N -c -np https://physionet.org/files/cebsdb/1.0.0/

Preprocess raw data:

$ python preprocess.py --data_path /path/to/data

Train SeismoNet using preprocessed data:

$ python trainer.py --data_path /path/to/preprocessed/data 

Take inference and evaluate model:

$ python infer.py --best_model /path/to/model --data_path /path/to/preprocessed/data --evaluate

Inference

Authors 🎓

Prithvi Suresh, Naveen Narayanan, Pranav CV, Vineeth Vijayaraghavan