This project focuses on detecting COVID-19 infections from chest X-ray (CXR) images using deep learning models like ResNet, InceptionV3, DenseNet. It also involves image enhancement techniques to improve model performance. The project is based on the COVQU dataset prepared by researchers, which can be downloaded from Kaggle.
- Dataset Name: COVQU (COVID-19 Radiography Database)
- Kaggle Link: Download Here
- Classes:
- Normal
- COVID-19
- Lung Opacity
- Viral Pneumonia
After download, make sure the dataset folder is placed in the data folder.
The original images can be found in the COVID-19_Radiography_Dataset folder with multiple CATEGORIES = ['Normal', 'Lung_Opacity', 'COVID', 'Viral_Pneumonia']. We do not need the Viral_Pneumonia category of images here as we are doing 3 class classification.
To set up the project environment and necessary folders:
- Run the notebook setup.ipynb to create the required directory structure and organize the dataset.
To enhance the quality of CXR images before training:
- Techniques used include CLAHE, Histogram Equalization, Gamma Correction, Complement Transformation, and BCET.
- Sample enhancement script: CLAHE Enhancement.ipynb
Enhancements are saved in corresponding folders as defined in local_config.py
.
We have done all Enhancement techniques in our project as listed above. But for Training we have only worked with Original and Gamma Enhancement images.
So run the script: Gamma_enhancement.ipynb
to complete the gamma enhancement of the images. It is not required to run the other enhancement techniques files.
We use deep learning models such as ResNet18,ResNet50,ResNet101,DenseNet201,InceptionV3 for classification.
- To train the model:
- Refer to the ResNet101_training_original.ipynb.
- Models are trained separately on the original and enhanced datasets.
- Pre-trained model weights (
.pth
files) are saved for evaluation and inference in each of the respective models folders.
- To visualize sample CXR images and enhanced outputs:
- Use VisualizeImage.ipynb for original images.
- Use VisualizeEnhancedImages.ipynb for enhanced images.
├── local_config.py # Centralized project paths and configuration
├── setup.ipynb # Set up folders and prepare dataset
├── notebooks/VisualizeImage.ipynb # Notebook for visualizing CXR images
├── notebooks/Gamma_enhancement.ipynb # Image enhancement using Gamma
├── models/ # Directory containing saved model .pth files
├── data/ # Directory containing original and enhanced datasets
## 📦 Pre-trained Model Weights
You can download the pre-trained model weights (.pth files) here:
| Model | Dataset | Download Link |
|:---|:---|:---|
| ResNet101 | Original Images | [Download](https://drive.google.com/uc?id=1-5Nl64Jl1SIJ7o-Lvv618dSK7w_dINWg) |
| ResNet101 | Gamma Enhanced Images | [Download](https://drive.google.com/uc?id=1WXeIafTg7jpM2qE6OoYyINW) |
> 📄 **Note**: Please download and place the `.pth` files inside the corresponding `/models/` subfolder before running inference.