Three disease heads:
Two ideas:
Make RETFound features useful for classification.
Training signal mix:
Missing labels ignored. Positive labels aligned to disease sentences.
Datasets uneven.
| Dataset | Total images | Glaucoma cases | DR cases | AMD cases | Why mask? |
|---|---|---|---|---|---|
| AIROGS | 80,250 | 2,633 | Unknown | Unknown | Glaucoma labels only |
| EyePACS | 28,100 | Unknown | 7,496 | Unknown | DR labels only |
| ADAM400 | 400 | Unknown | Unknown | 89 | AMD labels only |
| ODIR7000 | 7,000 | 326 | 1,803 | 280 | All three observed |
Unknown ≠ negative.
Unknown = no supervision for that disease.
Each disease gets two pieces:
Example:
| Disease | Label | Mask | Meaning |
|---|---|---|---|
| Glaucoma | 1 | 1 | use as positive |
| DR | -1 | 0 | ignore |
| AMD | 0 | 1 | use as negative |
Loss only from mask = 1.
Model always predicts all three diseases.
only observed entries valid
prediction: [glaucoma, DR, AMD]
label: [positive, unknown, negative]
mask: [use, skip, use]
Effect:
No penalty for unknown DR.
No direct false negative.
Mask controls representation losses.
Same-disease grouping
Control alignment:
Why important:
EyeCLIP text encoder gives disease meaning.
Be close to text meaning of observed disease.
Image side:
Text side:
Only observed positives aligned.
Multiple short clinical sentences per disease.
Glaucoma:
DR:
AMD:
Prototype = average sentence meaning, disease-specific direction.
For image with observed glaucoma:
image feature ──move closer──▶ glaucoma sentence prototype
For image with DR unknown:
image feature ──no constraint──▶ DR sentence prototype
For image with AMD negative:
no sentence alignment from negative label
TextAlign uses positives only.
Negative labels still train the classifier.
Unknown labels are skipped everywhere for that disease.
| Label status | Prediction loss | Text alignment |
|---|---|---|
| Positive | predict disease present | Pull image toward disease text |
| Negative | predict disease absent | No alignment |
| Unknown | Ignore | No alignment |