https://github.com/suryavamsi-p/diabetic-retinopathy-detection-with-resnet50
Built an end-to-end deep learning pipeline using ResNet-50 to classify retinal images into five stages of Diabetic Retinopathy. Applied transfer learning, image preprocessing, and AUC-based evaluation on the APTOS 2019 Kaggle dataset, achieving a 94% validation AUC—offering real-world potential in clinical diagnosis automation.
https://github.com/suryavamsi-p/diabetic-retinopathy-detection-with-resnet50
aptos2019 auc-evaluation clinical-decision-support cnn-model computer-vision data-augmentation deep-learning diabetic-retinopathy early-detection healthcare-ai image-classification keras medical-diagnosis medical-imaging multi-class-classification optical-imaging resnet50 retinal-image-analysis tensorflow transfer-learning
Last synced: 3 months ago
JSON representation
Built an end-to-end deep learning pipeline using ResNet-50 to classify retinal images into five stages of Diabetic Retinopathy. Applied transfer learning, image preprocessing, and AUC-based evaluation on the APTOS 2019 Kaggle dataset, achieving a 94% validation AUC—offering real-world potential in clinical diagnosis automation.
- Host: GitHub
- URL: https://github.com/suryavamsi-p/diabetic-retinopathy-detection-with-resnet50
- Owner: SuryaVamsi-P
- Created: 2023-10-09T22:38:46.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-24T21:25:51.000Z (5 months ago)
- Last Synced: 2025-06-12T19:07:31.620Z (4 months ago)
- Topics: aptos2019, auc-evaluation, clinical-decision-support, cnn-model, computer-vision, data-augmentation, deep-learning, diabetic-retinopathy, early-detection, healthcare-ai, image-classification, keras, medical-diagnosis, medical-imaging, multi-class-classification, optical-imaging, resnet50, retinal-image-analysis, tensorflow, transfer-learning
- Language: Python
- Homepage:
- Size: 2.15 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Diabetic Retinopathy Detection using ResNet-50
## Project Overview
This project presents a deep learning-based diagnostic solution for **early detection and classification of Diabetic Retinopathy (DR)**—a leading cause of vision loss among diabetic patients. Leveraging the power of **ResNet-50**, a pre-trained convolutional neural network (CNN), the model classifies high-resolution retinal images into five severity levels of DR:
- 0 – No DR
- 1 – Mild
- 2 – Moderate
- 3 – Severe
- 4 – Proliferative DREarly detection of DR is crucial for timely medical intervention and preventing irreversible vision damage. This project serves as a decision-support tool for ophthalmologists and healthcare professionals by offering fast, automated classification of retinal images with strong accuracy.
## Key Highlights
- **Model Used:** ResNet-50 (pre-trained on ImageNet)
- **Frameworks & Tools:** Python, TensorFlow, Keras, NumPy, Pandas, Matplotlib, Seaborn
- **Techniques:** Image preprocessing, data augmentation, transfer learning, AUC & accuracy evaluation
- **Performance:** Achieved **Training AUC: 97.77%**, **Validation AUC: 94%**
- **Dataset:** APTOS 2019 Blindness Detection Dataset from Kaggle (35,000+ images)
- **Problem Type:** Multi-class image classification (5 classes)## Problem Statement
> Develop an automated deep learning model that can accurately detect and classify the stage of Diabetic Retinopathy from retinal fundus images, minimizing manual screening time and increasing diagnostic efficiency.
## Project Workflow
1. **Data Acquisition:** High-resolution retinal fundus images from Kaggle
2. **Data Preprocessing:**
- Image resizing (224x224)
- Normalization and noise removal
- Data augmentation using `ImageDataGenerator`
3. **Model Architecture:**
- Feature extraction with ResNet-50
- Fine-tuning the classifier head
4. **Training:**
- Optimizer: Adam
- Loss: Categorical Crossentropy
- Epochs: 100
5. **Evaluation:**
- Accuracy
- Loss
- AUC Score
- Confusion Matrix## Results
| Metric | Value |
|----------------------|---------------|
| Training Accuracy | 87% |
| Validation AUC Score | 94% |
| Training AUC Score | 97.77% |
| Classification Type | 5-class |Visual plots of accuracy, loss, and AUC are provided in the results section of the code.
## File Structure
```
.
├── DR.py # Main Python script with ResNet-50 implementation
├── trainLabels.csv # Annotated labels for training
├── /Dataset/ # Directory with retinal images
├── README.md # This file
└── [Additional plots & model artifacts]
```## Mentor
This project was completed as part of the B.Tech final project at **Lakireddy Bali Reddy College of Engineering**, under the guidance of Mr. N. V. Naik, Sr. Assistant Professor.
**Author**
- **Surya vamsi Patiballa** [ MS in Data Science at George Washington University ]
- Email :- svamsi2002@gmail.com
- LinkedIn :- https://www.linkedin.com/in/surya-patiballa-b724851aa/
- Resume :- https://drive.google.com/file/d/178IYcArC6YYVdJiIwRmJYodzKZ-JXe-D/view?usp=sharing## Future Enhancements
- Implement advanced models like **VGG16**, **InceptionV3**, or **EfficientNet**
- Integrate hyperparameter tuning using **GridSearchCV**
- Convert the model into a real-time **web-based diagnostic tool** using Flask/Django## References
1. APTOS 2019 Blindness Detection – Kaggle Dataset :- (https://www.kaggle.com/competitions/aptos2019-blindness-detection)
2. Deep learning papers cited in the included `Research Paper.pdf`