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 📰
- preprocess.py Preprocesses the CEBS dataset available at physionet
- trainer.py Helps train the model.
- infer.py Helps take inference on any input SCG signal.
- utils.py This file consists of all the helper functions.
- model.py SeismoNet architecture in torch
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
Prithvi Suresh, Naveen Narayanan, Pranav CV, Vineeth Vijayaraghavan