Retinal Disease Risk Detection
Model Description
This deep learning model automatically detects the risk of retinal disease from fundus images. It classifies a patient as either "No Disease Risk" or "Disease Risk Present".
The goal is to assist doctors with early diagnosis as a preliminary screening tool.
Intended Use
- Diagnostic support in a clinical setting.
- Helps prioritize cases and streamline evaluation of at-risk patients.
- Not a standalone medical diagnostic tool.
Model Architecture and Training
- Model Name: Retinal Disease Risk Detection Model
- Architecture: Convolutional Neural Network (CNN)
- Training Dataset: RFMiD (Retinal Fundus Image Multidisease)
- Data Preparation: Images resized to 224x224 and normalized (0-1)
- Optimizer: Adam, learning rate = 0.0001
- Techniques: Data augmentation, class weights, early stopping to prevent overfitting
Model Performance
| Class | Precision | Recall | F1-Score | Support |
|---|---|---|---|---|
| No Risk | 0.63 | 0.61 | 0.62 | 134 |
| Risk Present | 0.90 | 0.90 | 0.90 | 506 |
| Weighted Avg | 0.84 | 0.84 | 0.84 | 640 |
- Overall Accuracy: 84.22%
- The model performs well on "Disease Risk Present" but has lower recall for "No Risk".
Limitations and Ethical Considerations
Not a diagnostic tool. Final diagnosis must be by a qualified healthcare professional.
Lower recall for "No Risk" could misclassify healthy individuals.
Model accuracy depends on the quality and diversity of the training data; performance may vary across demographics and imaging conditions.
Contact
Name: Seyid Yıldız
Email: [email protected]
LinkedIn: https://www.linkedin.com/in/seyid-yıldız-310091349
Installation
pip install tensorflow opencv-python numpy
import numpy as np
import cv2
from tensorflow.keras.models import load_model
# Load the model
model = load_model("retina_disease_risk.h5")
# Load and preprocess an image
img_path = 'new_image.png'
img = cv2.imread(img_path)
img = cv2.resize(img, (224, 224))
img = np.expand_dims(img, axis=0) / 255.0
# Prediction
prediction = model.predict(img)
if prediction[0][0] > 0.5:
print("Disease Risk Present")
else:
print("No Disease Risk")
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support