CardioGAN: Attentive Generative Adversarial Network with Dual Discriminators for Synthesis of ECG from PPG
Authors: Pritam Sarkar and Ali Etemad
- Tensorflow v2.2
- Numpy
- Scikit-learn
- OpenCV
- Scipy
- Tqdm
- Pandas
- h5py
We provide the weights for CardioGAN, trained on the four public datasets mentioned above. The sample code can be used to convert PPG signals to ECG. link to download weights
test_cardiogan.py
To develop a realtime application using our proposed method, we utilize an Empatica E4 to collect and transfer PPG to a computer. Our model then converts 4-second segments of input PPG to synthetic ECG.
cardiogan_realtime.py
Please see a live demonstration using this link.
- My AAAI presentation can be found here: https://youtu.be/npMzbIfkVuo.
- Please check my slides here at: https://www.slideshare.net/PritamSarkar8/cardiogan.
- The poster displayed at AAAI-21 is availble here: https://www.slideshare.net/PritamSarkar8/cardiogan-poster.
- The full checkpoint can be downloaded from here: https://github.com/pritamqu/ppg2ecg-cardiogan/releases/tag/checkpoints.
Please cite our paper below when using or referring to our work.
@misc{sarkar2020cardiogan,
title={CardioGAN: Attentive Generative Adversarial Network with Dual Discriminators for Synthesis of ECG from PPG},
author={Pritam Sarkar and Ali Etemad},
year={2020},
eprint={2010.00104},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Some parts of our code has been borrowed from CycleGAN TF v2.
If you have any questions or would like to discuss our work, please contact me at pritam.sarkar@queensu.ca or connect with me on LinkedIN.