★ Just validated Sens 97.8% · Spec 93.1%
Diabetic retinopathy detection · Edge AI · Open Source

Diabetic retinopathy screening
with AI 100% on your device

DIRD+ detects retinal lesions using YOLO ONNX models running 100% locally as a Tauri desktop app. No cloud. No per-screening fees. Full privacy for patient data.

Tauri 2 React ONNX Runtime YOLOv26 SQLite TypeScript Rust
DIRD+
DIRD+ — Main view with lesion detections

Explain it simply

What DIRD+ does, why it matters, and how it's used — in clear language, no jargon.

1

What is this?

An application that looks at fundus photographs of your eye and detects signs of damage caused by diabetes. The AI marks the lesions; the clinician reviews and decides.

2

Why does it matter?

Diabetes can damage the retina without the patient noticing until vision is already affected. Catching it early prevents the leading cause of preventable blindness in working-age adults.

3

Who uses it?

Healthcare professionals: ophthalmology, optometry, general practice, primary care. The AI assists, it does not diagnose on its own — the clinician validates every finding before the report.

4

Is my data safe?

Yes. All analysis runs on the clinician's device. Images are never uploaded to the cloud or to any external server. Zero patient data exposure to the internet.

5

How good is it?

Externally validated on 3,662 images the model had never seen: correctly detects 97 out of 100 cases with retinopathy and correctly rules out 93 out of 100 healthy eyes.

See validation details →

Assisted detection for ophthalmology

YOLO model trained on fundus images, run locally, with clinical reports generated on-device.

Multiclass detection

Optic disc, fovea, hemorrhages, hard and soft exudates, microhemorrhages, and edema. 11 classes defined, 7 active.

Local AI, no cloud

ONNX model running locally via ONNX Runtime inside the Tauri binary. Patient data never leaves the device.

Clinical reports

Automatic PDF report generation with findings, metrics, and visualization. Pluggable clinical-guidelines engine.

Fast screening

Inference in seconds per image. Designed for high-volume screening workflows in primary care and telemedicine.

Data sovereignty

Zero transfer to external servers. Aligns with strict privacy principles and local healthcare regulation.

Cross-platform architecture

Tauri desktop (Windows/Linux/macOS). The ONNX model runs inside the app, fully on-device.

Detection on fundus

Boxes and scores on the fundus image

The model marks each lesion with a color according to type (hemorrhage, exudate, microhemorrhage) and severity. The clinician reviews, corrects, and validates before generating the report.

Lesion detection on fundus image
Reports

Decision-support report — the clinician decides

Editable PDF template with the analyzed image, detected findings, and severity suggested by the model. The clinician reviews, adjusts as needed, and signs. The AI provides an organized format; diagnostic judgment and the final report always remain with the clinician.

Clinical PDF report generated by DIRD+
Clinical workflow

From image to screening in minutes

Fundus upload, local inference, clinician review, validation of findings, and report generation. All without opening the browser to the internet.

DIRD+ clinical flow: capture, local inference, clinician review, validation, and signed report

Progress in dird_models

ONNX models published in the dird_models repository. Open weights, documented, reproducible.

MCC 0.91APTOS · 5-fold CV
DIRDv2r0 detection-v2.0.0 · YOLOv26s end2end NMS
Externally validated
Trained: 2026-04-21 Input: 640×640 Classes: 6 active
0.978
Sensitivity
0.933
Specificity
0.911
0.967

Binary validation on APTOS 2019 (n=3,662, OOD, 5-fold CV). See details below.

mAP@50 per class (internal training)

Optic disc0.995
Fovea0.855
Cotton wool spot0.590
Microhemorrhages0.502
Hard exudate0.364
Hemorrhage0.161
Status: VALIDATED · Recommended operating point PCT_fpr02 (per-class τ calibrated to FPR≤2%). MCC 0.91 stable on 5-fold CV (σ≤0.015). ~9 FPS CPU.
View v2.0.0 metadata
DIRDv1r1 detection-v1.0.1 · YOLOv11
Previous stable
Trained: 2024-12-15 Input: 640×640 Classes: 11 (7 active)
0.826
0.820
Precision
0.790
Recall

mAP50 per class

Optic disc0.984
Fovea0.957
Edema *0.995
Cotton wool spot0.830
Hard exudate0.781
Hemorrhage0.698
Microhemorrhages0.538
* edema with low validation support (severe class imbalance). Global metrics better than v2, but v2 uses end2end NMS architecture with tighter integration for edge deployment.
View v1.0.1 metadata
Optic disclandmark
Fovealandmark
Hard exudatemoderate
Hemorrhagemod–severe
Cotton wool spotmod–severe
Microhemorrhagesmild–mod
Edemasevere
Microaneurysmmild
Neovascularizationsevere
Venous beadingsevere
IRMAsevere

Segmentation (vessels, MA, exudates, hemorrhages, neovascularization) in active development — not yet released.

External validation of DIRDv2r0

Binary evaluation (normal vs. retinopathy) on public datasets not used for training. No retraining, only operating-point calibration.

APTOS 2019 n=3,662 · India · 49.3% normal / 50.7% DR
Completed
Closed: 2026-04-30 Design: Stratified 5-fold CV Hardware: CPU, ONNX Runtime
0.978
Sens (±0.013)
0.933
Spec (±0.004)
0.911
MCC (±0.015)
0.967

Sensitivity by APTOS grade (baseline conf=0.25)

Grade 1 — Mild DR0.989
Grade 2 — Moderate DR0.999
Grade 3 — Severe DR1.000
Grade 4 — Proliferative DR0.997
Operating point: — per-class τ calibrated to FPR≤2% on normals: hard_exudate 0.63 · microhemorrhages 0.26 · cotton_wool_spot 0.85 · hemorrhage 0.05.
6 experiments (baseline run, conf/N sweep, per-class calibration, 5-fold CV, area filter, area×per-class). PPV 0.876 · NPV 0.995 · Youden J 0.909. Median latency 112 ms (p95 127 ms) on CPU.
View full report Download validation scripts (.zip, 37 KB)
Messidor-2 n=1,057 · France · preprocessed mirror
Preliminary
Closed: 2026-06-20 Design: frozen APTOS τ (no refit)
0.672
Sens
0.831
Spec
0.503
0.813
Transportability confirmed (ΔMCC ≈ 0 vs. refit), but the absolute AUC is confounded by the preprocessed mirror (not raw ADCIS).
Part of the AUC drop is an artifact of the mirror's preprocessing, not a real population shift. DDR (raw images) is the clean version of this test. Raw-ADCIS re-run pending. See experiment 3 →
DDR n=12,522 · China · raw · 50/50
Completed
Closed: 2026-06-20 Design: frozen APTOS τ (no refit) Hardware: CPU, ONNX Runtime
0.603
Sens
0.914
Spec
0.544
0.840
Transportability confirmed and clean: ΔMCC = +0.007 (refitting on DDR gives no gain). Different population (China), raw images, no confounder.
AUC OOD 0.840 [0.833–0.847] (bootstrap 95%, 2000 iters). At FROZEN_fpr02 the operating point is conservative (sens 0.60); FROZEN_fpr05 rebalances to sens 0.73 / spec 0.85 without refit. Real, modest OOD drop (0.95 → 0.84). See experiment 4 →

Limitation: APTOS does not provide lesion-level annotations, so validation is at the per-image binary classification level (no IoU/mAP). External validation on DDR (China) and Messidor-2 (France) confirms the threshold transports across cohorts, with a quantified discrimination drop (OOD AUC ≈ 0.84).

Get the latest version

Desktop executable (Linux, Windows, macOS), updated directly from GitHub Releases.

Loading releases...
Important notice: DIRD+ is a research and development system. It is not an approved medical device. It must not be used as the sole diagnostic criterion in real clinical settings. Every finding must be reviewed by a qualified ophthalmologist.
Project developed at Universidad Austral de Chile, Puerto Montt, Chile 🇨🇱 campus. DIRD+ aims to close the screening gap in diabetic retinopathy: the leading preventable cause of blindness in working-age adults.
100% free Free software AGPLv3 license Open source 🇨🇱 Made in Puerto Montt

DIRD+ (the app) and dird_models (the AI models) are free and gratis, distributed under GNU AGPLv3. No cloud, no subscription, no fine print.