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.txtDownload 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/dataTrain 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 --evaluatePrithvi Suresh, Naveen Narayanan, Pranav CV, Vineeth Vijayaraghavan

