眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析

  • 提出背景
  • 目的与解法
  • 类别·不·平衡·
  • 数据增强
  • 不同损失函数的性能对比
  • 混淆矩阵
  • 不同输入分辨率的性能对比
  • 学习率调度策略对性能的影响
  • 数据增强策略的性能对比



 


提出背景

论文:https://arxiv.org/pdf/2110.14160

代码:https://github.com/YijinHuang/pytorch-classification

在这项研究中,研究者通过系统地分析了ResNet-50框架下,用于糖尿病视网膜病变(DR)分级的几个关键训练设置组件的影响。

通过在公开的EyePACS数据集上进行广泛的实验,研究表明:

  1. 输入分辨率、目标函数和数据增强的组合 对DR分级框架的敏感性很高。这意味着不同的输入分辨率、使用不同的损失函数和数据增强技术可以显著影响模型的性能。
  2. 使用均方误差(Mean Square Error)作为损失函数 能有效提高模型在特定评估指标(即二次加权卡帕系数)上的表现。这种损失函数可能比传统的交叉熵损失更适合于DR分级任务。
  3. 利用眼睛对(eye pairs) 增强了DR分级的性能。这可能是因为左眼和右眼的图片在一定程度上提供了相互验证的信息,有助于提升识别的准确性。
  4. 使用数据重采样来处理数据不平衡 在EyePACS数据集中实际上降低了性能。这表明不是所有的常见数据处理技术都适合于每种情况,其效果可能取决于具体任务和数据的特性。

基于这些观察,研究者提出了一种最优的组件组合,该组合在不需要任何专门网络设计的情况下,仅使用图像级标签就在EyePACS测试集(包含42670张眼底图像)上达到了最先进的结果,即卡帕系数为0.8631。

这项研究强调了在使用深度学习进行疾病分类时,不仅网络架构,训练设置的选择也极为重要,且应根据具体任务和数据特性仔细调整。

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_预处理


这幅图展示了两张眼底照片,用于比较正常情况和糖尿病视网膜病变(DR)的特征。

左侧是一张正常的眼底图像,显示健康的视网膜,没有明显异常。

右侧是一张代表性的糖尿病视网膜病变的眼底图像,标注了几种典型的病变类型:

  1. 微动脉瘤(Microaneurysm) - 这是DR的早期迹象,表现为图中的红色小点。
  2. 出血(Hemorrhage) - 图中以蓝色框标示的区域,显示出血的情况。
  3. 硬渗出(Hard exudate) - 图中红色框中的亮黄色斑点,是由血管渗漏的脂质沉积形成。
  4. 软渗出(Soft exudate) - 图中黄色框所示,通常呈现为黄白色,质地较硬渗出更为松软。

这些特征的检测对于诊断DR的严重程度至关重要,这张图提供了一个视觉参考,有助于理解DR的不同阶段和病变特征。

目的与解法

目的: 提高糖尿病视网膜病变(DR)的自动分级性能。

解法: 通过优化训练设置来改善模型的分级性能。

  1. 数据集的多样化和分布平衡
  • 子解法1: 使用EyePACS, Messidor-2, 和DDR数据集,这些数据集具备不同的图像数量、类别分布和图像质量。
  • 之所以使用这些数据集,是因为: 这些数据集能提供多样化的训练样本,有助于提升模型的泛化能力和鲁棒性。例如,EyePACS数据集非常不平衡,有助于测试模型在处理不平衡数据时的性能。
  1. 模型架构的选择
  • 子解法2: 采用ResNet-50作为基线模型。
  • 之所以选择ResNet-50,是因为: 它是广泛使用的深度学习架构,已在多个领域证明其有效性,尤其是在图像识别任务中。
  1. 损失函数的优化
  • 子解法3: 使用交叉熵损失、焦点损失和Kappa损失。
  • 之所以采用这些损失函数,是因为: 它们可以有效处理类别不平衡问题,特别是焦点损失和Kappa损失,它们通过加重对难以分类样本的关注来提高模型的识别能力。
  1. 输入图像的预处理和增强
  • 子解法4: 应用CLAHE和Graham方法进行图像预处理,以及使用随机翻转、旋转和裁剪等数据增强技术。
  • 之所以使用这些预处理和增强技术,是因为: 它们可以改善图像的对比度和细节,增加训练数据的多样性,从而提高模型对不同病变特征的识别能力。
  1. 学习率调整策略
  • 子解法5: 实施多步衰减、指数衰减和余弦衰减等学习率调整策略。
  • 之所以采用这些学习率调整策略,是因为: 它们有助于在不同的训练阶段根据模型的收敛状态动态调整学习率,提高训练的效率和最终模型的性能。

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_数据集_02


这张图是一个流程图,描述了基于深度学习的糖尿病视网膜病变(DR)分级框架的评估过程,分为训练和测试两个阶段。

  1. 训练阶段
  • 数据预处理:包括选择输入分辨率和增强方法。
  • 训练策略:选择数据增强的组合和采样策略。
  • 模型训练:使用ResNet-50架构,选择目标函数和学习率调度策略进行优化。
  1. 测试阶段
  • 数据预处理:应用与训练相同的预处理步骤。
  • 特征融合:利用两只眼睛之间的关系,使用配对特征融合技术来提高预测准确性。
  • 集成方法选择:选择最佳的集成方法以优化最终预测结果。

这个框架清晰地展示了从训练数据的准备到最终预测的整个流程,强调了每一步中的关键组件,如预处理、训练策略和优化配置等,以及它们如何影响最终的DR分级性能。

类别·不·平衡·

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_人工智能_03


这张图显示了EyePACS数据集中不同糖尿病视网膜病变(DR)严重程度类别的分布情况,包括训练集、验证集和测试集的分布。从图中可以看出,类别分布非常不平衡:

  • 正常(Normal) 类别的数量远多于其他类别,在训练集中有25,810个样本,在验证集中有8,130个,在测试集中有31,403个。
  • 轻度DR(Mild DR) 在训练集中有2,443个,在验证集中有720个,在测试集中有3,042个。
  • 中度DR(Moderate DR) 在训练集中有873个,在验证集中有1,579个,在测试集中有977个。
  • 重度DR(Severe DR) 在训练集中有708个,在验证集中有237个,在测试集中有966个。
  • 增殖性DR(Proliferative DR) 在训练集、验证集和测试集中的数量相对较少,为244、240和628个。

这种数据不平衡对模型训练构成了挑战,因为模型可能会倾向于识别更多样本的类别,而忽视少数类别,这可能会影响模型的泛化能力和诊断准确性。

数据增强

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_数据_04

第一张图(数据增强技术)
这张图展示了常见的数据增强操作,用于增加模型训练数据的多样性和鲁棒性。展示的操作包括:

  • (a) 原始图像:没有进行任何修改的眼底图像。
  • (b) 水平翻转:图像左右翻转。
  • © 垂直翻转:图像上下翻转。
  • (d) 裁剪:从原始图像中裁剪出一部分。
  • (e) 旋转:将图像旋转一定角度。
  • (f) 色彩失真:调整图像的色彩设置,如饱和度或对比度。

第二张图(预处理技术)
这张图展示了两种不同的图像增强预处理方法,用以改善眼底图像的可视化质量,特别是在医学成像分析中:

  • (a) 原始图像:未经增强的原始眼底图像。
  • (b) Graham方法:应用Graham算法增强的图像,该方法通常用于增强图像的细节和对比度。
  • © CLAHE(对比度限制自适应直方图均衡化):一种增强图像对比度的技术,特别适用于提高低对比度图像的可视性。

第三张图(不同质量的眼底图像)
这张图展示了不同质量的左眼和右眼的眼底图像,突出显示质量差异对分析的影响:

  • 每一对图像分别展示左眼和右眼,显示出不同照明条件和成像质量(如清晰度、光照等)对图像质量的影响。

这些图像的展示有助于理解数据增强和图像预处理在提高深度学习模型训练效果和鲁棒性中的作用,同时也说明了处理不同质量眼底图像的重要性。

不同损失函数的性能对比

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_数据_05

这张表显示了使用不同目标函数对模型性能的影响。各损失函数在验证集和测试集上的Kappa值如下:

  • 均方误差(MSE) 在测试集上达到最高的Kappa值(0.8235),显示出最优性能。
  • 交叉熵损失(CE)焦点损失(Focal) 表现也相当不错,特别是在处理类别不平衡问题时。
  • Kappa损失 单独使用时性能较差,但与交叉熵损失结合使用时有所提高。

混淆矩阵

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_预处理_06

这张图展示了使用交叉熵损失和均方误差损失的模型在测试集上的混淆矩阵。

混淆矩阵显示了实际类别与模型预测类别之间的关系:

  • 交叉熵损失 对于正常类别的预测非常准确,但在区分更严重的DR级别时性能下降。
  • 均方误差损失 在区分中到高级别DR时表现更均衡,尤其是在最严重的类别(级别4)的预测上。

不同输入分辨率的性能对比

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_人工智能_07

这张表评估了不同输入分辨率对模型性能的影响,显示较高分辨率通常提供了更好的结果,尽管训练时间和计算需求也随之增加。

学习率调度策略对性能的影响

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_预处理_08

这张表展示了不同学习率调度策略对模型性能的影响,其中余弦衰减(Cosine)策略在测试集上达到了最高的Kappa值(0.8267)。

数据增强策略的性能对比

眼底图 + ResNet-50 + 糖尿病视网膜病变分级 + 组件分析_人工智能_09

这张表探讨了不同数据增强组合对模型性能的影响。组合使用多种数据增强技术通常能提高模型的性能,尤其是结合翻转、旋转和Krizhevsky颜色增强能达到较高的Kappa值。

这些图表提供了全面的视角,显示了不同训练配置对模型性能的具体影响,有助于优化DR分级模型的训练策略。