1. 引言
糖尿病视网膜病变(DR)是糖尿病引起的血管损伤最严重的并发症之一。如图1所示,眼科医生根据微动脉瘤、渗出物和出血等各种病变的存在来评估DR。眼底图像涉及三个DR相关病变,箭头表示不同的DR病变。
DR自动诊断已被广泛探索并应用于各种实用的计算机辅助医疗系统中。DR逐像素的病变分割 [1] [2] [3] [4] 和严重程度评级 [5] [6] [7] 是DR自动诊断的两个主要的基本问题。
考虑到眼底图像逐像素的标签数据是昂贵的,需要眼科专家非常耗时的标注。所以对于需要大量标签的全监督学习的分割任务 [8] [9] [10] 来说,分割医学图像是不切实际的。而在医学图像分割中,精确性是至关重要的,因为错误的分割结果可能会导致误诊或错误的治疗决策。
在早期的研究中,半监督方法主要将传统机器学习方法应用于医学图像数据集中的无标签数据。例如,Bai等人 [11] 提出了一种基于自训练的心脏MR图像分割方法,通过自监督学习特征和预测解剖位置,在标签数据较少的情况下取得了和U-net网络相近的效果。Filipovych等人 [12] 将半监督SVM应用于解决阿尔茨海默病中轻度认知障碍的分类问题。
近年来,医学图像领域的半监督学习方法大多基于深度学习,主要包括基于对抗性网络和基于一致性正则化的方法。Lecouat等人 [13] 提出了一种基于图像块的半监督方法,用于克服糖尿病性视网膜病变分类中精细度不够的问题,该方法能够利用极少的标签数据取得很好的AUC值。Diaz-Pinto等人 [14] 将生成对抗网络引入到青光眼图像数据集上,用于自动分类青光眼图像,该方法能够利用标记和未标记数据合成图像,并且能够自动提取标签。Perone等人 [15] 则通过将基于一致性的平均教师模型应用到MRI图像数据集中进行验证,实验证明在不同大小的数据集上都有着不错的提升。
近年来,GAN被广泛应用到视网膜眼底图像的自动生成中。Costa等人 [16] 首先使用对抗性自编码器
![](//html.hanspub.org/file/169-2571702x7_hanspub.png?20240606101408040)
Figure 1. A fundus image with microaneurysms, exudates and hemorrhages
图1. 眼底图像显示微动脉瘤,渗出和出血
进行视网膜眼底血管树生成,随后以生成的视网膜眼底血管树为输入,生成视网膜眼底图像。这种方法能够合成更多形态学不同的血管树,增加生成的视网膜眼底图像的多样性。然而,在合成视网膜眼底图像时没有考虑DR相关病变信息,导致生成的视网膜眼底图像中DR相关病变信息不明显。Zhao等人 [17] 在生成器中引入风格迁移技术以增加生成的视网膜眼底图像的多样性。该方法能够以单一的血管树为输入生成多个视网膜眼底图像。然而,生成的视网膜眼底图像的DR病变等级设定与输入图像相同,导致生成的视网膜眼底图像DR病变等级标签不准确。Niu等人 [18] 首先从参考图像中提取病理描述符,随后使用病理描述符指导生成器生成视网膜眼底图像。该方法可以操纵病变的位置和数量,但不能精确控制DR病变等级。Tavakkoli等人 [19] 使用基于CGAN的两阶段生成器,以视网膜眼底图像作为输入生成荧光素血管造影图像。Lim等人 [20] 以StyleGAN [21] 作为生成器、ResNet-50 [22] 作为判别器,以潜在变量为输入生成视网膜眼底图像。他们首先用所有DR病变等级的视网膜眼底图像训练GAN模型,随后使用DR病变等级较高的视网膜眼底图像对模型进行微调,最后用训练好的判别器,对生成的视网膜眼底图像进行筛选。Yang等人 [23] 以残差结构对CycleGAN进行改进,对不同眼底相机品牌的视网膜眼底图像进行域适应。
针对上述问题,本文设计了一种基于半监督的糖尿病视网膜病变自动评级和分割,主要贡献如下:
(1) 提出了一种用于逐像素分割的多病灶掩模生成器。设计了一个基于Token-MLP模块的U型网络和一个联合目标函数;
(2) 对于图像级别的注释数据,设计了一种基于EfficientNet的疾病注意力评级模型,该模型仅采用弱监督的类别特定信息即可自动预测病灶图;
(3) 病灶分割和疾病分级任务在端到端模型中进行优化。
2. 模型设计
像素级标注图像
和图像级标注图像
,本文方法的最终目标是协同优化病变分割模型
和疾病分级模型
,二者共同提高彼此的精度。为了训练分割模型,目标是通过以下函数最小化预测的病变图与地面真实掩膜之间的差异:
(1)
这里,
表示像素级标注图像的地面真实情况,而
则是由病变注意力分级模型学习得到的图像级标注图像的伪掩蔽。L是与特定疾病相关的病变种类的总数。疾病分级模型的优化函数定义为:
(2)
其中,att(·)表示病变注意力模型,yI是图像级标注数据的疾病严重性分类标签。注意,在公式1中,
等于
。LSeg和LCls的详细定义在第4.2节和第4.3节中分别解释。因此,要协同学习这两个任务,最重要的因素是如何设计和优化G(·)、C(·)和att(·)。
提出的网络架构概述如图2所示,它由两部分组成。对于第一部分,将少量的XP作为输入,以全监督的方式训练一个多病变掩模生成器。一旦它预训练完成,剩余的大规模XI也会通过生成器。一个通过对抗性训练损失进行优化的鉴别器被设计用来区分这两种类型的数据。对于第二部分,XI及其最初预测的病变图被采用来学习一个病变注意力模型,该模型仅使用疾病分级标签。病变注意力分级模型提高了分类准确性。此外,生成的病变注意力图可以作为伪掩蔽,在半监督的方式下为大规模未标记数据改进病变掩模生成器。
![](//html.hanspub.org/file/169-2571702x18_hanspub.png?20240606101408040)
Figure 2. Overall network architecture diagram.
图2. 总体网络结构图
2.1. 对抗性多病变掩膜生成器
训练一个语义分割模型往往需要大部分像素级别标注的数据。然而,在医学影像中标注的成本极高,不得不找到一种有效利用有限标注数据来训练模型的方法。本文采用了一种多病变掩膜生成器,来自于U型网络,并且嵌入了一种MLP的结构来完成任务。U型网络最初用于电子显微镜堆栈中,神经结构的分割,其采用了编解码的结构,由全卷积网络构建。跳跃连接的作用是在神经网络的不同层之间建立直接连接,使得网络能够跨越较长的路径传递信息,有助于解决梯度消失的问题。这种设计可以在解码的过程中更好的保留边缘和纹理细节并且加快收敛速度。
首先在U型网络中,嵌入了标记化的MLP模块并修改成一个多病变掩膜生成器。如图3(a)所示,在标记化的MLP块中,首先移动特征并将它们投影到token中。为了标记化,首先使用3 × 3的卷积核,并将通道数更改为E,其中E是嵌入维度(token数量),是一个超参数。然后,将这些令牌传递到一个移动的MLP(沿宽度),其中MLP的隐藏维度是一个超参数H。接下来,特征通过一个深度可分离卷积层(DWConv)传递。在这个块中使用DWConv有两个原因:1) 它有助于编码MLP特征的位置信息,在MLP块中的卷积层足以编码位置信息,并且实际上表现比标准的位置编码技术更好。像ViT中的位置编码技术需要在测试和训练分辨率不同时进行插值,通常会导致性能降低。2) DWConv使用的参数数量较少,因此提高了效率。然后,使用一个GELU激活层。本文使用GELU而不是RELU,因为它是一种更平滑的替代方案,并且被发现性能更好。然后,将特征通过另一个移动的MLP (沿高度)传递如图3(b)所示,将维度从H转换为O。在这里使用一个残差连接,并将原始的token作为残差添加。然后,应用一个层归一化(LN)并将输出特征传递到下一个块。因为沿着token进行归一化更有意义。
图3中左边的部分显示了分割模型的示意图。总体而言,编码器和解码器共包括九个特征映射模块。除了编码器的前两个模块和解码器的后两个模块使用常规卷积操作外,其余模块都替换为标记化的MLP模块。每个元组由两个可分离卷积组成,后跟批量归一化、ReLU激活、最大池化和1 × 1卷积的快捷方式。空间卷积核大小为3 × 3,并设置相同的填充。在解码器部分,每个元组之前都使用了上采样和跳跃连接。最后,添加了L个带有Sigmoid激活的卷积层,以生成L个不同的病变掩模。
![](//html.hanspub.org/file/169-2571702x19_hanspub.png?20240606101408040)
Figure 3. Architecture of token-MPL model
图3. 标记化的MLP结构图
为了优化病变掩模生成器,同时使用像素级标注数据和图像级标注数据。对于像素级标注的病变掩模,使用二元交叉熵损失函数LCE 最小化预测与地面真实之间的距离。基于第2.2节介绍的病变注意力模型,还获得了图像级标注数据的伪掩模地面真实,以优化 LCE 。此外,为了利用没有像素级标注的数据生成更好的病变掩模,添加了一个多病变鉴别器D,通过生成对抗网络(GAN)架构进行训练。传统的GAN包括一个生成网络和一个判别网络,它们进行竞争性的极小–极大博弈。通常会使用来自均匀分布或高斯分布的潜在随机向量z作为生成器的输入来合成样本。然后,鉴别器的目标是区分真实数据x和生成的样本。其本质目标是使
收敛到目标真实数据分布pdata(x)。在本文中,并不是从随机噪声中生成样本,而是将由像素级标注数据的生成器预测的病变图作为真实数据分支,将由图像级标注数据生成的病变图作为假样本分支。用于优化病变分割任务的总损失可以定义为:
(3)
其中,s是
和
的简明表示,分别对应像素级和图像级标注数据的地面真实情况。
是两个目标函数的平衡权重。预测的多病变掩模与输入图像连接起来,然后作为鉴别器D的输入,该鉴别器具有五个卷积映射元组。每个元组由两个卷积层组成,卷积核大小为3,以及一个步长为2的最大池化层,用于逐渐编码增大的感受野的上下文信息。对于每个元组,采用了ReLU激活和批量归一化。在D的末尾使用了全局平均池化,然后是一个密集连接和Sigmoid激活函数,如果预测的病变图是真实标签或伪标签则输出。
2.2. 疾病注意病变注意力疾病分级
为了评估疾病的严重程度,专家通常通过观察疾病特征的详细病变迹象进行诊断。采用经典的深度分类模型可以实现基本性能,但准确性有限。视觉注意力模型以类似人类的方式处理识别任务,自动提取特定于任务的区域,并忽略不相关的信息以提高性能。然而,大多数传统的注意力模型都是为一般物体图像提出的,并且只需要预测粗略的注意力图。注意力机制通常是使用高级特征设计的。对于医学图像,在病变区域非常小,且预期以像素级方式关注的情况下,本文的模型还采用具有高分辨率的低级特征图来指导注意力模型的学习。此外,对于那些仅具有图像级疾病分级注释的图像,本文的病变注意力模型可以生成像素级注意力图,然后将其用作病变分割模型中的半监督学习的伪标签。
病变注意力疾病分级模型如图4所示,是由一个主分支用于提取和分类输入疾病图像的特征,并由L个分支用于学习L个病变的注意力模型。不使用最初由分割模型预测的病变掩模直接关注分类模型,因为像素级标注的医学图像通常非常少,因此最初预测的掩模太弱无法使用。此外,可以利用图像级分级标签来提供区分性的本地化信息,以改进病变注意力图。
在本文的方法中,疾病分级模型
和病变注意力模型
紧密集成。首先采用一个带有基本卷积神经网络的疾病分类模型,仅使用输入图像进行分级学习。一旦它被预训练,分别表示低级和高级特征表示的
和
可以作为像素级和类别级别的指导,用于学习注意力模型。此外,还将最初预测的病变图,表示为
,编码为注意力模型的输入。整体表达式由以下方程定义:
(4)
其中,输出
是注意力图,对于不同病变区域给出高响应,这些区域特征化了该疾病。提出的注意力机制由两个步骤组成。第一步是利用像素级病变特征,通过融合来自输入图像和最初预测的病变掩模的编码低级嵌入。对于第l个病变,可以通过以下方程获得一个关注特征的中间状态:
(5)
![](//html.hanspub.org/file/169-2571702x33_hanspub.png?20240606101408040)
Figure 4. Disease-specific lesion grading module
图4. 疾病注意病变评级模块
其中,
表示沿通道方向的拼接。对于第二步,使用全局上下文向量与低级注意力特征进行相关,并进一步生成病变图,如下所示:
(6)
其中,⊙表示逐元素乘法。全局上下文向量
具有与
相同的通道维度,通过对基本预训练分类模型的顶层特征进行1 × 1卷积计算得到。这种高级别的指导包含丰富的类别信息,以加权低级特征并细化精确的病变细节。注意,
、
和偏置项是第l个病变的可学习参数。
基于L个病变注意力图,分别对低级图像特
进行逐元素乘法,并使用这些注意力特征微调预训练的疾病分类模型。所有病变注意力特征共享与分级模型相同的权重,并将输出特征向量拼接以学习最终表示。疾病分级的目标函数
采用了由于不平衡数据问题而采用的焦点损失。与此同时,精细化的多病变注意力图被用作伪标签,以半监督的方式与分割模型共同训练。
3. 实验结果与分析
3.1. 实验数据集
为了评估本文所提出的算法的性能,本文主要用到的数据集是IDRiD数据集,EyePACS数据集和Messidor1数据集。
IDRiD数据集 [24] 是唯一提供像素级多病变注释的DR数据集。它包含81张具有DR症状的彩色眼底图像,并分为54张用于训练和27张用于测试。医学专家使用二进制掩模对包括微小动脉瘤、出血、硬性渗出和软性渗出在内的病变进行了注释。IDRiD还有一个图像级别注释集,包含413张训练图像和103张测试图像,这些图像只有严重程度分级标签。使用病变分割集以完全监督的方式训练多病变掩模生成器。然后,使用分级集来学习用于分类和半监督分割的病变注意模型。
EyePACS数据集 [25] 包含35,126张训练图像和53,576张测试图像。分级协议与IDRiD数据集相同,有五个DR类别。然而,从该数据集收集的图像是由不同类型的相机在各种光照条件下拍摄的,并且注释质量较差。由于该数据集只有图像级别的分级标签,主要用它来训练病变注意的疾病分级模型。
Messidor1数据集 [26] 包含1200张眼底图像,但其分级标准与前两个数据集不同,只有4个级别。等级0和1被标记为不需转诊,而等级2和3被视为需要转诊。除等级0外的所有等级都表示DR的异常情况。遵循中使用的评估协议,仅采用此数据集来测试在EyePACS上训练的模型。
3.2. 评价指标和训练策略
为了定量评估病变分割任务的性能,计算了受试者工作特征曲线(Receiver Operating Characteristic Curve, ROC Curve)和精确召回曲线(Precision-Recall, PR Curve)曲线下的曲线下面积(AUC)值。此外,为了评估DR分级模型的精度,除了正常的分类准确率外,还引入了一个二次加权kappa指标。
(7)
(8)
(9)
(10)
(11)
(12)
(13)
ROC曲线的横坐标为FPR (False Positive Rate),如式12和13所示,纵坐标为TPR (True Positive Rate),如式所示PR曲线的横坐标为召回率,纵坐标为精确率。其中TP (True positive)表示真阳性即标签为1预测也是1,FN (False negative)表示假阴性即标签为1预测为0,FP (False positive)表示假阳性即标签是0预测为1,TN (True negative)表示真阴性即标签为0预测也为0。
模型的训练方案分为两个阶段。在第一步中,使用像素级标注数据通过
预训练多病变分割模型,并使用图像级标注数据通过
预训练基本疾病严重程度分类模型。两者都是以全监督的方式训练的。采用了ADAM优化器,学习率为0.0002,动量为0.5。对于预训练分割模型,批量大小设置为32,训练60个epochs;而对于分级模型,批量大小为128,训练30个epochs。一旦预训练完成,可以获得最初预测的病变掩模以及输入图像的低级和高级特征表示,从而可以同时训练病变注意力模型进行半监督分割,并进一步提高分级性能。在这个阶段,添加了
进行半监督学习,以及病变注意力模块进行疾病分级。整个模型以端到端的方式进行微调。方程3中的λ设置为10,这是得到最佳性能的值。微调时,批量大小设置为16,训练50个epochs。所有实验在一台NVIDIA Geforce GTX 4090 Ti GPU上进行训练,显存为12 G。
3.3. 关于预测精度的对比实验与结果分析
在评估定量病变分割精度和DR分级准确性之前,首先在IDRID数据集上定性展示了病变注意模型在半监督分割上的有效性。IDRID数据集具有真实的标签。图5比较了仅采用有限像素级注释数据的预训练模型和使用大规模图像级别注释数
据进行半监督训练的最终模型对四种不同病变的分割结果。对于预训练模型,失败的情况通常是病变模式的漏检(假阴性)。在一些小区域也出现了误报(假阳性)。通过使用图像级别注释数据进行半监督分割,所有病变的结果都明显得到了改善。病变分割对提高DR分级的有效性由第3.3节的消融研究进行评估。
首先粗略地标记了一些区域,以比较仅使用像素级别病变注释进行预训练的初始模型和使用大规模图像级别注释数据进行半监督训练的模型。
为了评估病变分割对于DR分级的有效性以及注意模型对半监督学习的改进,将三种基线模型与提出的最终模型进行比较。Ori:首先研究病变分割模型是否可以提高DR分级的准确性。在这个基线中,不使用病变注意特征,而是直接在预处理的眼底图像上训练分级模型。Lesion (预训练):作为对比,本文还测试了一个仅在有限的像素级别病变注释数据上预训练的基线模型。最初生成的多病变掩模在图像特征图上加权,用于训练分级模型,而没有使用病变注意模型。Lesion (半监督):本文还探讨了通过病变注意模型对半监督学习的改进。在这个基线中,只采用交叉熵损失来学习病变分割模型。Lesion (半监督 + Adv):最终的方法将对抗性训练架构集成到病变分割目标函数中。
表1显示了不同方法的分类准确度和kappa分数。在IDRID数据集上,与不使用病变掩模信息的基本分类模型相比,仅在像素级别注释数据上预训练的初始分割模型可以将分级的准确度提高2.67%,kappa分数提高3.8%。通过使用图像级别注释数据进行半监督学习,可以实现更显著的改进。特别是,kappa分数的大幅增加5.86%证明了提出的病变注意模型可以有效地精细化病变图,并因此改善分级结果。
此外,对抗性训练架构也可以使最终结果受益,分类准确度进一步提高1.18%,kappa分数提高1.55%。由于EyePACS数据集只有图像级别的注释,采用在IDRID数据集上预训练的完全监督模型。与在IDRiD数据集上获得的性能结果相比,本文的模型的每个组件对于分级任务都具有积极的贡献,相对于其他方法。
为进一步评估模型,还在Messidor1数据集上进行了实验。遵循 [27] 中的评估方法和协议,比较了
![](//html.hanspub.org/file/169-2571702x52_hanspub.png?20240606101408040)
Figure 5. Qualitative multi-lesion segmentation result
图5. 定性多病变分割结果
![](Images/Table_Tmp.jpg)
Table 1. Ablation experiments on the IDRID dataset and EyePACS
表1. 在IDRID数据集和EyePACS的消融实验
ROC曲线下面积(AUC)和正常和转诊分类的准确性,如表2所示。对于两种实验设置,具有病变注意模型、半监督分割和对抗性训练架构的提出方法达到了最佳性能。由于Messidor1数据集的图像质量接近于IDRID,即使是基于预训练病变的模型,也可以与基本的整体分类模型相比获得显著的增益。
除了疾病分级性能的提升外,还调查了基于病变伪标签的半监督分割的有效性。在具有真实标签的IDRID数据集上评估分割性能。评估的四种不同病变,包括微动脉瘤、出血、硬渗出和软渗出,是糖尿病视网膜病变的主要表现。通过ROC曲线、PR曲线和相应的AUC值进行评估。探索了最终模型的每个提出的组件与三个基线:使用正常卷积元组的预训练分割模型、基于标记化的MLP模块的模型以及不带对抗性训练架构的半监督学习组件。
![](Images/Table_Tmp.jpg)
Table 2. Ablation experiments on the Messidor1 dataset
表2.在Messidor1数据集上的消融实验
在表3中列出了详细的AUC值。表格中CE1和CE2分别表示分割模型仅采用普通的卷积层和采用了标记化的MLP层。基于标记化的MLP模块的病变分割模型在四种不同病变上一贯优于基于普通卷积的版本。ROC曲线和PR曲线的AUC平均分别提高了1.02%和1.92%,证明可移动的MLP模块及深度可分离卷积确实可以改善分割结果。通过利用更多的图像级别注释数据,生成伪标签进行半监督分割,观察到了明显的改善,PR曲线的AUC平均提高了2.16%。此外,用于半监督学习的对抗性训练架构可以稍微进一步提高分割精度。
![](Images/Table_Tmp.jpg)
Table 3. Performance comparison of multi-lesion segmentation on the IDRID dataset
表3. 多病变分割在IDRID数据集上的性能比较
如表4显示了不同病变的PR曲线的AUC得分的前三名,以及来自其他视觉任务的两种半监督分割方法AdvSeg和ASDNet的表现。尽管本文的方法在微动脉瘤检测方面的性能略低于当前的顶级模型,但其他三种病变都取得了适度的改善。软渗出病变取得了特别大的提升,提高了4.12%。此外,的模型在PR的AUC上的平均增加分别比AdvSeg和ASDNet高出了6.89%和5.22%。
为了使本文的方法更加令人信服,将其与最先进的DR分级模型进行比较。组合了CKML和带有额外核心的VNX旨在采用多个滤波器尺寸来学习细粒度的判别特征。
Zoom-in-Net提出了一个门控注意力模型,并结合了三个子网络来对整体图像、高分辨率裁剪和门控区域进行分类。 AFN具有统一病变检测和DR分级的类似思想。然而,所使用的注意模型仅是类驱动的,无法学习精确的语义病变图。此外,还邀请了专家对Messidor1数据集进行分级。
表5比较了不同方法的结果。在Messidor1数据集的可引用/不可引用和正常/异常设置中,与其他方法相比,本文的方法可以获得ROC曲线下面积(AUC)和分级准确性的最高得分。值得一提的是,本文的方法在转诊和正常设置的AUC上分别比专家高出3.6%和2.1%。
![](Images/Table_Tmp.jpg)
Table 4. Comparative experiments on segmentation performed by our method on the IDRID dataset
表4. 本文的方法在IDRID数据集上分割的对比实验
![](Images/Table_Tmp.jpg)
Table 5. Comparative experiments on grading performed by our method on the Messidor1 dataset
表5. 在Messidor1数据集上评级的对比实验
4. 结论
在本文中,提出了一种协同学习的方法,用于医学影像的半监督病变分割和疾病分级。病变标签被用来指导分类模型并提高分级的准确性,同时利用特定类别的标签的病变注意力模型也使得分割结果受益。大量实验表明,本文方法在IDRID数据集上的分割PR和ROC指标,优于目前大多数先进的方法。以及在Messidor1数据集上的分类效果领先于很多传统的CNN网络模型和半监督模型。在消融模块中,在IDRID数据集以及EyePACS数据集,我们的每个模块都体现了优秀的性能。