🧠 Python • TensorFlow • Transfer Learning • ResNet50-VGG16 Fusion • Grad-CAM • Medical AI
An end-to-end deep learning system that detects lung diseases from CT scan images using a CNN-based architecture and provides explainable AI (XAI) visualizations to improve interpretability in medical diagnosis.
Medical image diagnosis requires high accuracy and interpretability. Traditional deep learning models often achieve strong performance but lack transparency in decision-making.
This project presents an Explainable Deep Learning-Based Lung Disease Detection System using a ResNet50–VGG16 Fusion Architecture with Transfer Learning and Grad-CAM Explainability.
The system is designed to:
- Classify CT scan images
- Detect multiple lung diseases
- Visualize affected regions using Grad-CAM heatmaps
- Improve interpretability in AI-assisted medical diagnosis
It is designed to simulate real-world AI-assisted radiology systems for medical image analysis.
- ResNet50–VGG16 Fusion Model
- Transfer Learning-Based Feature Extraction
- Grad-CAM Explainable AI Visualization
- Streamlit-Based Web Application
- Multi-Class CT Scan Classification
- COVID
- Normal
- Pneumonia
Manual analysis of CT scans is:
- Time-consuming
- Dependent on expert availability
- Prone to human error in complex cases
This project addresses these challenges by building a deep learning model that automatically:
- Detects lung disease patterns
- Provides interpretable visual explanations
- Assists medical decision-making
CT Scan Image Input
│
▼
┌──────────────────────┐
│ Image Preprocessing │ ← Resize, normalization
└────────┬─────────────┘
│
▼
┌──────────────────────┐
│ ResNet50 + VGG16 │ ← Feature extraction
└────────┬─────────────┘
│
▼
┌──────────────────────┐
│ Classification Head │ ← Softmax output
└────────┬─────────────┘
│
▼
┌──────────────────────┐
│ Explainability (XAI) │ ← Grad-CAM heatmaps
└────────┬─────────────┘
│
▼
Prediction + Visualization Output
- CT scan resizing and normalization
- Noise reduction for better feature learning
- CNN-based architecture
- Automatic feature extraction from CT images
- Multi-class classification
- Grad-CAM heatmaps
- Highlights infected lung regions
- Improves model transparency
- Disease prediction
- Confidence score
- Visual explanation map
| Layer | Description |
|---|---|
| Conv2D | Feature extraction |
| MaxPooling | Spatial reduction |
| Dropout | Prevent overfitting |
| Flatten | Vector conversion |
| Dense Layers | Classification |
| Softmax | Output probabilities |
| Metric | Score |
|---|---|
| Accuracy | ~90% – 97% |
| Precision | High |
| Recall | High |
| Interpretability | Enabled via Grad-CAM |
Performance varies based on dataset quality and training configuration.
Grad-CAM is used to:
- Highlight infected lung regions
- Show decision-making areas of CNN
- Improve trust in predictions
- Assist radiologists in validation
- Similar visual patterns between lung diseases
- Reducing false negatives in medical diagnosis
- Improving interpretability of deep learning models
- Handling limited labeled medical datasets
pip install tensorflow keras numpy matplotlib opencv-python scikit-learnpython train.py
python predict.pyCT-Lung-Disease-XAI/
│
├── dataset/
├── models/
├── utils/
│ ├── gradcam.py
│
├── outputs/
│ ├── confusion_matrix.png
│ ├── gradcam_result.png
│
├── train.py
├── predict.py
├── requirements.txt
└── README.md
- CNN achieves strong classification performance
- Grad-CAM consistently highlights infected regions
- Reliable multi-class lung disease prediction
- Suitable for AI-assisted diagnosis systems
- Web-based CT scan upload system
- Real-time hospital integration
- Mobile deployment
- Larger dataset training
- Advanced XAI (Grad-CAM++)
- Convolutional Neural Networks (CNN)
- Medical image preprocessing
- Multi-class classification
- Explainable AI (Grad-CAM)
- Deep learning model evaluation
This project is for academic and research purposes only.