Skip to content

AhmAshraf1/COVID-19-CT-Scan-Classification-PyToch-DenseNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

COVID-19 CT Scan Classification DenseNet PyTorch

Python PyTorch License Kaggle

πŸ“‹ Table of Contents

🎯 Overview

This project implements deep learning models for automated COVID-19 detection from CT scan images using PyTorch. The notebook demonstrates two approaches:

  1. Custom CNN Architecture - Achieving 92% accuracy
  2. DenseNet Transfer Learning - Achieving 96% accuracy

Key Features

  • βœ… Binary classification (COVID-19 vs Non-COVID-19)
  • βœ… Transfer learning implementation
  • βœ… Data augmentation techniques
  • βœ… Model comparison and evaluation
  • βœ… Visualization of predictions and feature maps

πŸ“Š Dataset Information

SARS-CoV-2 CT Scan Dataset

The dataset contains CT scan images collected from real patients:

Dataset Structure:
β”œβ”€β”€ COVID-19/          # CT scans from COVID-19 positive patients
β”‚   └── ~1,252 images
└── Non-COVID/         # CT scans from healthy or other pneumonia patients
    └── ~1,229 images

Total Images: ~2,481 CT scans
Image Format: PNG
Image Size: Variable (resized to 224x224 for training)

Dataset Statistics

Metric Value
Total Images 2,481
COVID-19 Cases 1,252 (51%)
Non-COVID Cases 1,229 (49%)
Training Set 2108 (85%)
Validation Set 186 (7.5%)
Test Set 187 (7.5%)

Class Distribution

Class / Set Training Validation Test
COVID-19 Cases 1055 100 97
Non-COVID Cases 1053 86 90

πŸ“ˆ Performance Metrics

Model Comparison

Model Accuracy Precision Recall F1-Score
Custom CNN 92.0% 92.0% 92.0% 92.0%
DenseNet-69 96.0% 96.0% 96.0% 96.0%

DenseNet-69 Detailed Metrics

Classification Report:

Classification Report

Confusion Matrix

Confusion Matrix

πŸ“Š Data Visualization

Training History

Accuracy Over Epochs:

Model Accuracy

Loss Over Epochs:

Model Loss

πŸ”§ Installation & Usage

Installation

# Clone the repository
git clone https://github.com/yourusername/covid19-ct-classification.git
cd covid19-ct-classification

# Create Virtual Environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

πŸ“‰ Results & Analysis

Key Findings

  1. DenseNet Outperforms CNN

    • 4% accuracy improvement over custom CNN
    • Better generalization on test set
    • Fewer false negatives (critical for medical diagnosis)
  2. Transfer Learning Benefits

    • Faster convergence (15 epochs vs 35 epochs)
    • Better feature extraction from pre-trained weights
    • More robust to small dataset size
  3. Error Analysis

    • Most false positives: Early-stage COVID cases
    • Most false negatives: Atypical CT presentations
    • Confusion mainly in borderline cases

Training Configuration

Hyperparameters:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Custom CNN:
  β€’ Optimizer: Adam
  β€’ Learning Rate: 5e-5
  β€’ Batch Size: 16
  β€’ Epochs: 50

DenseNet-69:
  β€’ Optimizer: Adam
  β€’ Learning Rate: 3e-5
  β€’ Batch Size: 16
  β€’ Epochs: 50 finished 27
  β€’ Weight Decay: 0.01
  β€’ LR Scheduler: ReduceLROnPlateau

Data Augmentation

Training Augmentations:
β€’ Random Horizontal Flip (p=0.5)
β€’ Random Vertical Flip (p=0.5)
β€’ Random Rotation (Β±10Β°)
β€’ Normalization (ImageNet stats)

πŸš€ Future Improvements

Short-term Goals

  • Implement ensemble methods (CNN + DenseNet)
  • Add Grad-CAM visualizations for interpretability
  • Experiment with other architectures (EfficientNet)
  • Increase dataset size through additional sources

Long-term Goals

  • Multi-class classification (COVID vs Pneumonia vs Normal)
  • 3D CNN for volumetric CT analysis
  • Real-time deployment as web application

πŸ“š References

Datasets

  • SARS-CoV-2 CT Scan Dataset: Kaggle

Related Medical Projects

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“ž Contact

For questions or collaboration opportunities:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors