Skip to content

AI-powered respiratory disease detection using deep learning on audio spectrograms | Published IEEE Research | Multi-class classification of 8 respiratory conditions including COPD, Asthma, and Pneumonia

License

Notifications You must be signed in to change notification settings

ritunjaym/respiratory-sound-classification-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🫁 Respiratory Sound Classification: 8-Class Pulmonary Disease Detection

License: MIT Python TensorFlow Status IEEE Publication

A deep learning pipeline for multiclass classification of pulmonary diseases from respiratory sounds. Published in IEEE WCONF 2023.


📌 Project Overview

This research project implements an 8-class respiratory disease classification pipeline using real-world auscultation data. It applies audio preprocessing, mel-spectrogram conversion, and CNN-based classification using ResNet50, EfficientNet-B0, and VGG16.

📝 Published Paper: "A Deep Learning Framework for Multiclass Categorization of Pulmonary Diseases"

🔗 IEEE Xplore Link

📚 DOI: 10.1109/WCONF58270.2023.10235057


🩺 Dataset

The project is based on the ICBHI 2017 Respiratory Sound Database, a real-world, expert-annotated dataset collected from 126 patients across various age groups.

  • 📈 6,898 labeled audio segments
  • 🧓 Age groups: Children, Adults, Elderly
  • ⏱ Recording length: 10s–90s
  • 🧬 Classes: Pneumonia, COPD, Asthma, LRTI, URTI, Bronchiectasis, Bronchiolitis, Healthy

🔗 Dataset Access

Dataset Version Link
📦 Official ICBHI Site bhichallenge.med.auth.gr
📁 Kaggle Mirror Kaggle Link
🎧 Preprocessed Audio Google Drive
🖼️ Mel-Spectrograms Google Drive

🧠 Pipeline Architecture

Pulmonary Classification Pipeline

  1. Preprocessing – Segment audio into 6s slices, denoise, normalize
  2. Feature Extraction – Convert to mel-spectrograms
  3. Model Training – CNN-based classification (EfficientNet, ResNet50, VGG16)
  4. Evaluation – Confusion matrix, accuracy, ROC curves

🧪 Model Performance

Model Task Accuracy (%)
ResNet50 Binary (Healthy vs Others) 87.1
EfficientNet-B0 Binary (Healthy vs Others) 94.1
EfficientNet-B0 Multiclass (8-Class) 82.1
ResNet50 Multiclass (8-Class) 79.8
VGG16 Multiclass (8-Class) 0.14 (failed)

📂 Repository Contents

.
├── 01_audio_preprocessing_subslices.ipynb
├── 02_train_test_split.ipynb
├── 03_feature_extraction_spectrograms.ipynb
├── 04_resnet50_binary_classification.ipynb
├── 05_efficientnet_binary_classification.ipynb
├── 06_efficientnet_multiclass_classification.ipynb
├── 07_resnet50_multiclass_classification.ipynb
├── 08_vgg16_multiclass_classification.ipynb
├── patient-disease-labels.csv
├── pulmonary.png
└── README.md

🧾 Notebook Descriptions

Notebook Description
01_audio_preprocessing_subslices.ipynb Splits raw audio into 6-second segments
02_train_test_split.ipynb 80/20 stratified data split
03_feature_extraction_spectrograms.ipynb Mel-spectrogram generation using librosa
04_resnet50_binary_classification.ipynb Binary classification using ResNet50
05_efficientnet_binary_classification.ipynb Binary classification using EfficientNet
06_efficientnet_multiclass_classification.ipynb 8-class classification using EfficientNet
07_resnet50_multiclass_classification.ipynb 8-class classification using ResNet50
08_vgg16_multiclass_classification.ipynb Failed training example (for comparison)

⚙️ Setup Instructions

🛠️ Requirements

  • Python 3.8.3+
  • TensorFlow 2.x
  • Librosa
  • NumPy, Pandas, scikit-learn
  • Jupyter, Matplotlib

🚀 Quick Start

git clone https://github.com/your-username/respiratory-sound-classification.git
cd respiratory-sound-classification
pip install -r requirements.txt

Then run notebooks in order from 01_ to 08_.


📖 Use Case & Clinical Scope

⚠️ This project is intended for research and educational purposes only. It is not approved for clinical use by any regulatory authority (e.g. FDA, CE, CDSCO).

Potential Applications:

  • Decision support tools
  • AI-assisted stethoscope design
  • Remote respiratory screening systems

📚 Citation

Please cite this work as:

@INPROCEEDINGS{10235057,
  author={Khanaghavalle, G R and Manoj, Allen and Karthikeyan, Janani and Murali, Ritunjay},
  booktitle={2023 World Conference on Communication & Computing (WCONF)}, 
  title={A Deep Learning Framework for Multiclass Categorization of Pulmonary Diseases}, 
  year={2023},
  pages={1-6},
  keywords={Deep learning;Pulmonary diseases;Lung;Air pollution;Convolutional neural networks},
  doi={10.1109/WCONF58270.2023.10235057}
}

🧠 Skills Demonstrated

  • Audio signal processing (librosa)
  • CNN-based image classification
  • Model evaluation & statistical validation
  • Reproducible research practices
  • Clinical AI design awareness
  • Research publication & reporting

About

AI-powered respiratory disease detection using deep learning on audio spectrograms | Published IEEE Research | Multi-class classification of 8 respiratory conditions including COPD, Asthma, and Pneumonia

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published