Three-model deep ensemble (MobileNetV2 · EfficientNetB0 · ResNet50V2) with temperature-scaled calibration and federated learning security.
This project applies a three-model Deep Ensemble architecture to diabetic retinopathy (DR) severity grading and frames it inside a Federated Learning (FL) pipeline that is robust to label-flipping poisoning attacks. Instead of relying on a single network, the ensemble averages calibrated softmax probabilities from three complementary CNN backbones, which stabilizes predictions and limits the damage a poisoned client can inflict.
Lightweight, deployment-friendly feature extractor.
Efficient compound-scaled architecture.
Deep residual capacity with identity short-cuts.
Temperature scaling (calibration.json) sharpens the ensemble confidence so the reported probability
matches real-world accuracy — essential for a clinical screening tool.
In federated training, a malicious participant can flip labels on its local data to poison the global model. This thesis proposes a lightweight defense that combines ensemble-based aggregation with robust confidence checks, providing higher accuracy under label-flipping attacks than a single-model FL baseline, at a fraction of the computational cost of Byzantine-robust aggregation schemes.
app.py) and the three trained models are freely downloadable from the
model repository below, or deployable on any free host (Replit, Render, Hugging Face PRO).
pip install -r requirements.txtpython app.py — a Gradio interface opens in your browser.git clone https://huggingface.co/Haris-83/dr-screening-tool cd dr-screening-tool pip install -r requirements.txt python app.py
View Model Repository Deploy Instructions