今天将分享青光眼筛查二分类的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、背景介绍
1、动机
早期发现青光眼可以避免视力障碍,这可以通过筛查来促进。人工智能 (AI) 可以通过减少对体力劳动的需求来提高青光眼筛查的成本效益。
2、范围
参与者将获得可分级的图像,以开发青光眼筛查模型。在测试集中,也有不可分级的图像,鼓励参与者开发具有鲁棒性机制的方法,可以检测分布外的样本。这些方法不能用不可分级的图像进行训练,因为这种类型的数据不存在于训练集中,并且禁止使用外部数据。评估有两个方面:青光眼筛查性能和稳健性。
二、数据集及评估方法
1、数据集
鹿特丹 EyePACS AIROGS 数据集(完整,包括训练和测试)包含来自 60,357 名受试者和大约 500 个不同种族的不同地点的 113,893 幅彩色眼底图像。所有图像均由人类专家指定,标签为可参考青光眼、不可参考青光眼或不可分级。训练集可以从 Zenodo 下载。
为了鼓励参与者开发配备固有鲁棒性机制的技术,训练集是实验室内的集,其中仅考虑可分级图像,不包括不可分级图像。然而,测试集包括在筛选过程中获取的所有图像类型,模拟真实场景。测试集是“封闭的”,意味着无法下载测试数据。
训练集包含大约 102,000 张可分级图像。测试集包含大约 11,000 张可分级和不可分级的图像(可分级和不可分级)。对于评估期间的每个输入图像,所需的输出是可参考青光眼的似然分数 (O1)、关于可参考青光眼存在的二元决策 (O2)、关于图像是否不可分级的二元决策 (O3,如果不可分级则为真,如果可分级则为假),以及与不可分级的可能性正相关的非阈值标量值(例如,机器学习模型产生的概率向量的熵或集合的方差)(O4)。输出 O2 不会用于挑战排行榜的评估管道,而仅用于挑战论文中的任何 - 仍有待确定 - 额外评估。
2、评估方法
评估将基于两个方面:筛选性能和稳健性。筛查性能将使用受试者操作特征曲线下的部分面积(90-100% 特异性)对可参考青光眼(α)和 95% 特异性(β)的敏感性进行评估。筛选性能指标基于这些特异性范围,因为在筛选设置中通常需要高特异性。为了计算 α 和 β,我们将输出 O1 与人类专家提供的可参考青光眼参考值进行比较。
使用 Cohen 的 kappa 分数,计算参考与挑战参与者提供的关于图像可分级性 O3 的决定之间的一致性 (γ)。此外,接收器操作员特征曲线下的面积将使用不可分级的人类参考作为真实标签和参与者提供的不可分级标量值 O4 作为目标分数 (δ) 来确定。
最终的参与者排名将基于以下方式的上述指标的组合。首先,所有参与者将根据个人指标α、β、γ和δ进行排名,分别产生排名Rα、Rβ、Rγ和Rδ。最终得分将按以下方式计算:Sfinal=(Rα + Rβ + Rγ + Rδ)/4。
最终排名随后将基于Sfinal,其中Sfinal的值越低,排名越高。
三、技术路线
1、读取train_labels.csv,分析类别数量:NRG有98172,RG有3270,可以看到两类相差很悬殊,为了平衡两数据,我们对NRG数据进行15倍下采样得到6500例数据,再与3270例数据进行组合。
2、将组合的数据分成8:1:1分成网络训练数据,验证数据和测试数据。
3、对所有的图像进行统一缩放处理,大小统一大小是256x256,图像归一化,用均值是0和方差是1的方式进行归一化。
4、网络采用的是VGG16网络结构,损失是交叉熵,学习率是0.001,droupout是0.5,epoch是20,batchsize是64。
5、训练结果
训练损失函数结果:

训练精度函数结果:

验证损失函数结果:

验证精度函数结果:

6、测试结果
混淆矩阵

分类指标
precision recall f1-score support
0.0 0.90 0.92 0.91 670
1.0 0.82 0.80 0.81 330
avg / total 0.88 0.88 0.88 1000
ROC曲线

PR曲线
