YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Pneumonia Detection using InceptionResNetV2
Project Description
This project implements a transfer learning approach for detecting pneumonia from chest X-ray images. It utilizes the InceptionResNetV2 model pre-trained on the ImageNet dataset, with the convolutional layers frozen and new layers added for binary classification.
Dataset
The model was trained on the Chest X-Ray Images (Pneumonia) dataset from Kaggle.
- Training set:
- Normal: 1341 images
- Pneumonia: 3875 images
- Validation set:
- Normal: 8 images
- Pneumonia: 8 images
- Test set:
- Normal: 234 images
- Pneumonia: 390 images
Dataset source: https://www.kaggle.com/paultimothymooney/chest-xray-pneumonia
Model Architecture
The model is based on the InceptionResNetV2 architecture. The convolutional base layers are frozen, and the following layers were added on top:
- Global Average Pooling 2D layer
- Two Dense layers with ReLU activation (512 and 128 units)
- Output Dense layer with Softmax activation for 2 classes (Normal, Pneumonia)
Training
- Optimizer: Adam (learning rate 0.001)
- Loss Function: Categorical Crossentropy
- Epochs: 20
Performance
The model's performance was evaluated on the test set:
- Accuracy on Normal images: 156 out of 234 correct
- Accuracy on Pneumonia images: 375 out of 390 correct
Usage
This model can be loaded and used to predict whether a chest X-ray image shows signs of pneumonia. The input images should be preprocessed (resized to 200x200 and scaled by 1/255.0) before being passed to the model for prediction.
Limitations and Future Work
- The validation set is small, which may lead to erratic validation accuracy plots.
- Image resizing from high-quality originals to 200x200 might impact performance.
- Further hyperparameter tuning and potentially training more layers of the base model are needed to improve overall performance, especially in reducing false positives for normal cases.