Skip to content

Attention-based Hybrid CNN-LSTM and Spectral Data Augmentation for COVID-19 Diagnosis from Cough Sound

Notifications You must be signed in to change notification settings

skanderhamdi/attention_cnn_lstm_covid_mel_spectrogram

Repository files navigation

Attention-based Hybrid CNN-LSTM and Spectral Data Augmentation for COVID-19 Diagnosis from Cough Sound

This repository contains the used source code of the experiments which led to the results presented in the paper Attention-based Hybrid CNN-LSTM and Spectral Data Augmentation for COVID-19 Diagnosis from Cough Sound

We used COUGHVID dataset. See in Zenodo.
The augmented version is now available publicly on the Kaggle plateform here.
The silence removed version of the dataset is now available here.

  • utils.py: Provides some helpful functions (progressbar, plotROCCurve, plotCurves, plotConfusionMatrix,...)
  • attention_layer.py: Attention layer class
  • pitch_shift.py: Run this script to create the signal-augmented version of the dataset
  • spec_augment.py: Run this script to create the spectral-augmented version of the dataset (apply SpecAugment technique)
  • cnn_baseline.py: Run this script to start CNN model training
  • lstm_baseline.py: Run this script to start LSTM model training
  • cnn_lstm_baseline.py: Run this script to start hybrid CNN-LSTM model training
  • attention_cnn_lstm.py: Run this script to start Attention-based hybrid CNN-LSTM model training

Note: You should change the relative paths in the scripts

Reference

Please cite our paper if you find this repository useful.

@article{Hamdi2022,
author = {Hamdi, Skander and Oussalah, Mourad and Moussaoui, Abdelouahab and Saidi, Mohamed},
doi = {10.1007/s10844-022-00707-7},
issn = {1573-7675},
journal = {Journal of Intelligent Information Systems},
title = {{Attention-based hybrid CNN-LSTM and spectral data augmentation for COVID-19 diagnosis from cough sound}},
url = {https://doi.org/10.1007/s10844-022-00707-7},
year = {2022}
}

Contact

Feel free to text me in [email protected] for any questions or issues in the repository.