ML

publicv1
8h ago
1 views0 comments0 reviews5 min read
raw .md ↗

Input: A retinal fundus image.

Output:

  1. Image quality → Accept / Reject
  2. DR grade → Level 0–4
  3. Referable DR → Yes / No
  4. Confidence
  5. Explanation → Grad-CAM / lesion evidence
  6. Eventually: an automated screening report
Fundus Image
     │
     ▼
[Preprocessing]
     │
     ▼
[Image Quality Check]
     │
     ├── Poor → Reject / Recapture
     │
     ▼
[DR Classification Model]
     │
     ├── Grade 0
     ├── Grade 1
     ├── Grade 2
     ├── Grade 3
     └── Grade 4
     │
     ▼
[Referable?]
     │
     ▼
[Grad-CAM + Confidence]
     │
     ▼
[Screening Report]

The segmentation/lesion-detection components can then be added incrementally.


2. Split the project into modules

ml/
│
├── data/
│   ├── raw/
│   ├── processed/
│   ├── train/
│   ├── validation/
│   └── test/
│
├── preprocessing/
│   ├── quality_assessment
│   ├── illumination_normalization
│   ├── denoising
│   └── enhancement
│
├── models/
│   ├── quality_model/
│   ├── dr_classifier/
│   ├── lesion_detection/
│   └── segmentation/
│
├── training/
│   ├── train_quality_model
│   ├── train_classifier
│   └── evaluate
│
├── explainability/
│   ├── gradcam
│   ├── confidence
│   └── lesion_evidence
│
├── pipeline/
│   └── inference
│
├── reports/
│   └── report_generation
│
├── simulink/
│
├── evaluation/
│   ├── metrics
│   ├── confusion_matrix
│   └── benchmark_comparison
│
└── README.md

3. First milestone

#Milestone 1 — Minimum viable ML system

Image
 ↓
Preprocessing
 ↓
DR classifier
 ↓
0–4 prediction
 ↓
Referable / non-referable
 ↓
Confidence

Just:

Given a fundus image, can our model reliably classify its DR severity?


4. Dataset

We need images with ground-truth DR severity labels corresponding as closely as possible to:

0 → No DR
1 → Mild NPDR
2 → Moderate NPDR
3 → Severe NPDR
4 → Proliferative DR

The problem statement explicitly expects this five-level classification.

For the initial prototype, the most important dataset properties are:

  • fundus photographs
  • severity labels
  • sufficient samples per class
  • preferably publicly documented
  • preferably with established use in DR research
  • train/test separation that prevents leakage

Do not start training until the dataset and label mapping are written down.


5. Two separate ML problems

#Problem A — 5-class severity

Image → {0,1,2,3,4}

#Problem B — screening decision

Image → {Non-referable, Referable}

where:

0, 1 → Non-referable
2, 3, 4 → Referable

The problem statement specifically defines Level 2+ as referable.

Our model can therefore produce:

Predicted class: 3
Confidence: 0.87

Referable DR: YES

6. Model plan

Use transfer learning.

Conceptually:

Pretrained CNN
      │
      ▼
Fundus image
      │
      ▼
Feature extraction
      │
      ▼
Classification head
      │
      ▼
5 DR classes

Possible backbone families can be decided later based on MATLAB support and compute availability.

Our initial experiment should answer:

Can a pretrained image-classification network fine-tuned on the chosen dataset achieve useful DR classification performance?

Only after that should we start experimenting with architectures.


7. Preprocessing pipeline

Raw image
   ↓
Resize
   ↓
Crop / remove irrelevant borders
   ↓
Normalize
   ↓
Optional contrast enhancement
   ↓
Model

Later we'll investigate:

CLAHE
illumination normalization
denoising
color normalization
etc.

The problem statement specifically calls for CLAHE, illumination normalization and denoising as possible enhancement techniques.


8. Image-quality module

This should be a separate model/module rather than mixing it into the DR classifier initially.

Its job:

Fundus image
      ↓
Quality assessment
      ↓
 ┌───────────────┐
 │               │
Good          Ungradeable
 │               │
 ▼               ▼
DR model       Reject

Initially, we can even implement a basic rule-based quality check before training a dedicated quality model.

Eventually:

Quality Model

Input image
     ↓
Quality features
     ↓
     ├── Focus
     ├── Illumination
     ├── Field of view
     └── Overall gradability
     ↓
Gradeable / Ungradeable

This is important because the problem specifically targets variable-quality portable-camera images.


9. One-at-a-time lesion detection

The statement asks for:

  • optic disc/fovea localization
  • vessel segmentation
  • microaneurysm detection
  • exudate segmentation
  • hemorrhage classification
  • neovascularization detection

#Phase 1

Fundus → DR severity

#Phase 2

Fundus → DR severity
       ↘
        lesion evidence

#Phase 3

Fundus
 ├── optic disc/fovea
 ├── vessels
 ├── microaneurysms
 ├── exudates
 ├── hemorrhages
 └── neovascularization

10. Explainability

Once we have:

Image → prediction

add:

Image
  ↓
Classifier
  ↓
Prediction
  +
Grad-CAM
  ↓
Heatmap

The intended question is:

What part of the retinal image caused the model to make this prediction?

Then eventually correlate those regions with actual lesions.

The problem statement explicitly requests Grad-CAM, lesion-level evidence and calibrated confidence.

So the eventual output could look conceptually like:

DR Grade: 3
Confidence: 91%

Referable DR: YES

Evidence:
 ┌──────────────────────┐
 │ retinal photograph   │
 │       +              │
 │    Grad-CAM          │
 │      overlay         │
 └──────────────────────┘

11. Evaluation

For the 5-class problem, track:

Accuracy
Precision
Recall
F1
Confusion matrix

For the referable DR problem, prioritize:

Sensitivity
Specificity
ROC-AUC
PR-AUC

The problem statement's explicit targets are:

Sensitivity > 90%
Specificity > 85%

for referable DR.

                    Result
--------------------------------
Sensitivity          XX.XX%
Specificity          XX.XX%
ROC-AUC              X.XXX
Accuracy             XX.XX%
F1                   X.XXX

12. First experiment

Dataset
   ↓
Train / validation / test split
   ↓
Resize + normalize
   ↓
Pretrained CNN
   ↓
5-class classifier
   ↓
Train
   ↓
Evaluate

Record:

Dataset version
Number of images
Class distribution
Image resolution
Preprocessing
Model architecture
Learning rate
Batch size
Epochs
Training time
Validation metrics
Test metrics

13. Scientific iteration

Your experiment progression can be:

EXP-001
Baseline CNN
       ↓
EXP-002
+ preprocessing
       ↓
EXP-003
+ augmentation
       ↓
EXP-004
different backbone
       ↓
EXP-005
class imbalance handling
       ↓
EXP-006
hyperparameter tuning
       ↓
EXP-007
referable-DR optimization
       ↓
EXP-008
Grad-CAM
       ↓
EXP-009
quality assessment
       ↓
EXP-010
integrated pipeline

14. Backlog

For the initial skeleton, explicitly put these in the backlog:

  • Simulink resource optimization
  • Telemedicine bandwidth simulation
  • Automated clinical report generation
  • Full lesion segmentation suite
  • Neovascularization detection
  • Ophthalmologist validation interface
  • Deployment infrastructure
  • Mobile/web application

They're part of the eventual solution, but they're downstream of the fundamental ML pipeline.

The problem statement ultimately expects the integrated pipeline plus Simulink simulation and benchmark validation.


comments (0)

reviews (0)