shubhamasti/automated-detection-eye-disease
GitHub: shubhamasti/automated-detection-eye-disease
基于视网膜眼底图像的多种眼病自动化检测系统,结合深度学习与特征分析方法并提供 Grad-CAM 可解释性可视化。
Stars: 0 | Forks: 0
# 基于视网膜眼底图像的多种疾病自动化与可解释性检测
[](https://doi.org/10.1007/978-3-032-01169-5_9)
[](https://huggingface.co/shubhamasti)
伴随我们发表在 **IMPROVE 2025**(图像处理与视觉工程,Springer CCIS 第 2628 卷)上的论文的官方实现代码。
## 概述
本代码仓库包含用于从眼底图像中检测三种视网膜疾病的训练、评估和可解释性 pipeline:
- **病理性近视 (PM)**
- **青光眼**
- **糖尿病视网膜病变 (DR)**
我们探索了深度学习和基于特征的分类方法,并通过 Grad-CAM 可视化(深度学习)和特征重要性掩码(基于特征的方法)提供可解释性。该系统在所有三种疾病中实现了 **97% 的召回率**。
模型权重托管在 [Hugging Face](https://huggingface.co/shubhamasti) 上(请参阅下方的 [模型权重](#model-weights)),而不是在此仓库中。
## 我的贡献
这是一个合作项目;我的具体贡献包括:
- **概念化与数据:** 识别并最终确定了用于所有三种疾病训练和测试的相关数据集;主导了初期的想法规划和文献回顾(疾病背景及自动化检测的相关工作)
- **深度学习 pipeline:** 设计并运行了针对所有三种疾病的深度学习方法实验,包括结果的 Grad-CAM / Grad-CAM++ 解释
- **图像预处理:** 当标准方法无法充分分割微动脉瘤时,研究并应用了 CLAHE(对比度受限自适应直方图均衡化)来增强输入图像,这是 DR pipeline 的关键修复措施
- **跟踪与整合:** 维护了整个项目中所有实验、尝试方法和指标的详细记录;整合了本仓库的完整代码库
- **撰写:** 撰写了约 65% 的论文初稿,涵盖了相关工作、方法论、pipeline 图表、结果和观察分析
- **汇报:** 在 IMPROVE 2025(4月8日至9日,葡萄牙波尔图)上进行了论文的线上汇报,并回答了观众的提问
## 前置条件
python v3.8.19
## 仓库结构
```
.
├── training/
│ ├── pathological_myopia/
│ │ ├── DeepLearningApproach/ # Training scripts/notebooks for DL models
│ │ └── FeatureBasedApproach/ # Feature extraction + classical ML approaches
│ └── glaucoma/
│ │ └── FeatureBasedApproach/
│ ├── diabetic_retinopathy/
│ │ ├── DeepLearningApproach/
│ │ └── FeatureBasedApproach/
│
├── evaluation/
│ ├── pathological_myopia/ # Verify and compare performance of different models
│ └── glaucoma/
│ ├── diabetic_retinopathy/
│
├── walkthrough/
│ ├── sample_images/ # Example fundus images for demo purposes
│ ├── walkthrough.ipynb # End-to-end notebook: load → predict → explain for all diseases
│
├── requirements.txt
|
└── README.md
```
## 模型权重
所有训练好的模型权重均托管在 Hugging Face 上:
| 疾病 | 链接 |
|---|---|
| PM | [🤗 shubhamasti/pm-models](https://huggingface.co/shubhamasti/pm-models) |
| 青光眼 | [🤗 shubhamasti/glaucoma-models](https://huggingface.co/shubhamasti/glaucoma-models) |
| DR | [🤗 shubhamasti/dr-models](https://huggingface.co/shubhamasti/dr-models) |
每个模型卡片都包含了架构 details 和报告的指标。
## 快速开始
```
git clone https://github.com/shubhamasti/automated-detection-eye-disease.git
cd automated-detection-eye-disease
pip install -r requirements.txt
```
下载模型权重,并在样本图像上运行推理 + 可解释性分析:
```
cd walkthroughs/PM
jupyter notebook walkthrough.ipynb
```
此 notebook 会加载一张样本眼底图像,将其输入到训练好的模型中,并叠加 Grad-CAM 解释,显示视网膜中的哪些区域推动了该预测结果。
## 结果
| 疾病 | 最佳方法 | 准确率 |精确率 | 召回率 | 备注 |
|---|-----|---|---|---|---|
| PM | 深度学习 (ResNet50 backbone)| 98.92%| 98.92% | 98.91% | 完整指标请参阅 `evaluation/pathological_myopia` |
| 青光眼 | 基于特征 | 97.38% | 97.42% | 97.38% | 完整指标请参阅 `evaluation/glaucoma` |
| DR 存在情况 | 深度学习 (具有增强输入的 ResNet50 backbone) | 93.4% | 92.34% | 94.6% | 完整指标请参阅 `evaluation/diabetic_retinopathy` |
## 可解释性
每个深度学习模型都配有 Grad-CAM / Grad-CAM++ 可视化,以突出显示对预测结果影响最大的视网膜区域,从而支持临床可解释性。基于特征的模型包含相应的特征分析。
## 引用
如果您使用了这项工作,请引用:
```
@inproceedings{masti2026automated,
title={Automated and Explainable Detection of Multiple Diseases from Retinal Fundus Images},
author={Masti, Shubha and Prasad, T. and Srinivasa, G.},
booktitle={Image Processing and Vision Engineering. IMPROVE 2025},
series={Communications in Computer and Information Science},
volume={2628},
publisher={Springer},
year={2026},
doi={10.1007/978-3-032-01169-5_9}
}
```
## 联系方式
Shubha Masti
ssmasti@gmail.com
[LinkedIn](https://linkedin.com/in/shubha-masti)
标签:IaC 扫描, NoSQL, 逆向工具