基于人工智能算法的糖尿病视网膜病变病灶分割方法实例

二、基于人工智能算法的糖尿病视网膜病变病灶分割方法实例

(一)基于Res-UNet的糖尿病视网膜病变病灶分割方法流程

基于Res-UNet的糖尿病视网膜病变病灶分割的总体流程见图6-9。眼底训练样本在送入深度神经网络进行训练前需要对其进行预处理。由于各训练数据集图像大小等信息不统一,因此对图像进行统一的预处理是有必要的。首先,眼底图像由于拍摄原因会包含大量无关信息,需要将图像裁剪缩放到一个统一的尺寸,以减少噪声干扰和减少计算量。其次,对全量数据集进行归一化处理和数据扩增,归一化方法包括通道变换、直方图均衡化和伽马校正。再次,使用Res-UNet进行分割网络训练,在训练过程中监督验证损失,当取得更优损失时保存模型。最后,为了评估病灶分割的效果,在公开数据集和本地数据集上分别验证效果。

图6-9 基于Res-UNet的糖尿病视网膜病变病灶分割总体流程图

(二)眼底图像预处理

眼底图像训练样本在送入深度神经网络进行训练前需要对其进行预处理。由于采集的眼底图像由不同型号的眼底照相机拍摄、拍摄仪器的参数和视场不同,因而图像的尺寸差异较大。此外,由于眼底照相的拍摄方式导致眼底图像除感兴趣区域外,还包含大量无关像素,因而需要对眼底图像进行裁剪和缩放,减少噪声干扰和训练计算量。

出于上述目的以及为了适应神经网络的输入,需要对眼底图像进行如下处理。首先,将彩色眼底图转换为灰度图,然后将灰度图二值化。其次,利用OpenCV库函数标出感兴趣区域的最小包围框,得到包围框中的裁剪图。最后,将裁剪图缩放为1 024×1 024尺寸。以相同的方式剪切和调整相应真实标签的大小。图像预处理流程见图6-10。

图6-10 图像预处理流程

训练一个深度神经网络所需的数据量是庞大的。在实际任务中,由于深度神经网络通常拥有百万级参数量,因而小样本数据集很难让网络收敛到全局最优。若训练样本数据量过小,则很容易造成网络过拟合。数据扩增指在原始的数据集上通过一定的变换方式得到某种意义上的新图片,变相地扩大了数据量,深度神经网络可以通过更多的数据更充分地学习到图像关键点的深层特征,提高深度神经网络的鲁棒性,从而提升整体的网络性能。常用的数据扩增的方法有以下几种:

(1)垂直翻转或水平翻转。

(2)以给定角度旋转图片。

(3)向内缩放或向外缩放。

(4)图片裁剪,在原始图片中进行随机采样。

(5)图片偏移,图片沿X轴或Y轴方向偏移一定量。

(6)添加噪声,如高斯噪声。

(7)基于生成式对抗网络生成伪样本。

在本实例训练过程中,对每张图片随机应用2或3种数据扩增方法。同时,仅对训练集进行数据扩增,验证集和测试集只采取预处理操作而无任何数据扩增。通过这些操作,训练集的数据量增加了约5倍。

(三)Res-UNet网络

Res-UNet网络是由何凯明等于2015年提出的新型网络架构。在2015年的ILSVRC&COCO竞赛中取得了多项第一的好成绩。目前Res-UNet网络常见的有34层、50层、101层等版本,Res-UNet网络的提出主要解决了网络深度加深导致的性能退化问题。从工程角度来看,网络模型的深度对模型的性能有很大的影响。当增加网络层数时,深度神经网络可以提取更加复杂的特征模式。理论上说,深度无限大的神经网络可以拟合任意的特征模式,因此可以取得理论上的最优性能。但事实是,随着网络深度的不断增加,网络性能会逐渐饱和,甚至性能不增反降,称为深度神经网络的性能退化问题。

Res-UNet网络提出的残差连接模块保证训练深度神经网络的稳定性。标准卷积块结构见图6-11a,x表示输入,H(x)表示卷积块输出,其输入经过一条通路上两个卷积层。而残差卷积块结构见图6-11b,它允许输入通过一个残差连接向后面的层传递,越过了中间层,则最终的网络输出等于原始的输入和卷积输出之和。此时,输出的映射关系为F(x)=H(x)-x。

图6-11 标准卷积块结构与残差卷积块结构对比

标准卷积的梯度更新时,由于深度逐渐加深,梯度信息逐渐减弱甚至消失,导致训练不稳定,而残差卷积通过残差连接转换了学习目标,此时梯度信息中始终会带有常量1,避免了梯度消失的问题。

近年来,基于深度学习的U-Net网络结构已广泛用于医学分割。由编码器和解码器以及跳跃连接组成的U形结构使U-Net能够结合高级语义信息和低级特征,因此适用于各种生物医学分割问题。采用的网络Res-UNet主要基于Res Net50和U-Net,图6-12是Res-UNet分割模型结构图。

图6-12 Res-UNet分割模型结构图

它可以分为三个部分:编码器模块、注意力模块和解码器模块。具体来说,使用Res Net50网络作为编码器,分别将Res Net50的每个阶段输出保留,在网络结构图的第四层采用注意力机制得到特征图M4,将M4进行卷积之后上采样,与上层的特征图M3拼接之后通过卷积降低维度,如此反复3次,最后通过3×3大小的卷积层得到输出结果。相较于传统的U-Net网络,Res Net50作为编码器具有更强的特征提取能力。

在整个下采样过程中,只使用一次池化层。在DR病灶的分割中有许多微小的微动脉瘤,并且太多的池化层可能不利于在解码器阶段恢复微小目标的特征。因此,在以后的下采样过程中,使用步长为2的卷积层替换池化层。图6-12中的红色箭头(Conv Block)和绿色箭头(Identity Block)分别代表有卷积层的跳跃连接卷积块和无卷积层的跳跃连接卷积块,如图6-13所示。

图6-13 卷积跳跃连接和传统跳跃连接

卷积跳跃连接和传统跳跃连接具有相似的结构。在卷积跳跃连接块中,输入x,分别经过卷积核大小为1、3、1的三个卷积层组得到特征图y,每个卷积层组包含卷积层、批归一化层和ReLU激活层,将原始输入x通过单独的1×1卷积与y相加,最后通过ReLU激活层获得最终输出。而与传统跳跃连接的区别在于输入通过跳过连接直接与y相加。

(四)数据集

为了训练本节提出的基于卷积神经网络的糖尿病视网膜病变病灶分割网络,使用了3个数据集:E_OPHTHA_EX、IDRiD以及标注的本地数据集Ben QDR。

E_OPHTHA是专门为糖尿病视网膜病变(DR)科学研究而设计的彩色眼底图像数据库,主要用于DR筛查。它是由法国研究机构(ANR)资助的ANR-TECSANTELEOPHTA项目,来源于OPHDIAT©远程医疗网络。E_OPHTHA有两个子数据集,分别为E_OPHTHA_EX和E_OPHTHA_MA,其中E_OPHTHA_EX仅含有硬性渗出病灶,而E_OPHTHA_MA仅含有微动脉瘤病灶。本实例仅使用其中的E_OPHTHA_EX数据集。

E_OPHTHA_EX数据集由82张带有精确病变标注的图像组成。这些图像具有4种不同的大小,尺寸大小从1 440×960到2 544×1 696像素不等。其中47张病变图像包含分割标签,而35张则为健康图像。

IDRiD由81张图片组成,分辨率为4 288×2 848。它提供了糖尿病视网膜病变中4种病变的像素级标注。IDRiD事先划分了训练集和测试集,其中54张图片用于训练,其余27张图片用于测试。测试集中的所有图像均具有微动脉瘤、出血和硬性渗出,而14张图片具有软性渗出。

数据集Ben QDR(糖尿病视网膜病变的BenQ数据集)是用于眼病分类和病变分割的通用高质量数据集。从6万多张临床彩色眼底图片中,选择199张图片进行此项研究。其中63张图片具有微动脉瘤病变,84张图片具有出血病变,86张图片具有硬性渗出和29张图片具有软性渗出。另外,提供了它们对应的像素级标注图像。在数据标注中,有5位眼科医生参与其中。为了最大限度地降低错误标注的可能性,所有图像标注过程由4位眼科医生完成,最后由眼科主任医师进行检查。除了病变图像,还另外挑选了101张健康眼底图片作为补充数据集,用来保证模型的鲁棒性。BenQDR数据集中的图像大小均为2 736×1 824像素。为了保护患者的隐私,所有图像均已经过脱敏处理。

(五)训练策略

由于硬件限制,所有图像在送入网络训练之前都将尺寸调整为512×512像素,同时将批处理大小设置为2。在训练过程中,根据经验设置相关超参数,设置学习率为0.000 1,Dropout为0.5,使用Re LU作为激活层,采用Dice Loss作为损失函数。与几种常见的梯度下降方法相比,选择Adam作为网络优化器。另外,在训练网络期间,将损失值作为监视指标,设定5个训练周期中没有优化损失,将学习率乘以衰减因子0.1以加速网络收敛。为了避免无效的训练,在训练过程中加入早熟策略,如果经过15个训练周期后,指标仍未改善,则提前终止训练。在训练开始之前,将训练集、验证集和测试集的比率设置为2∶1∶1。

(六)测试(临床)图像输入

分别在病灶级别和图像级别上评估了Res-UNet分割网络在3个数据集的性能。对于病灶级别的评估,直接计算属于真实标签与预测图像之间的交集像素似乎是不合适的,在医学病灶分割任务中,由于任务本身的难度非常大,想要完全分割准确是不切实际的,因此需要考虑预测的候选对象和真正标签的病灶之间的匹配程度。我们设置一个阈值σ来评估预测的候选对象和真实标签之间的重叠区域,在我们的研究中,我们将σ设置为0.2。如果两组之间的重叠面积大于或等于σ,则应考虑候选对象已正确分类,反之,则可认为是错误分类。对于图像级别的评估,真阳性(TP)图像的定义是至少有一个正确分类的候选病灶区域。真阴性(TN)图像是没有任何病变的图像,并且模型没有预测出任何病灶区域。假阳性(FP)图像是本身没有病灶的图像,但是模型错误地预测了候选对象。假阴性(FN)图像是本身包含病变的图像,但是模型未能预测任何候选对象,或者预测的候选对象与相对应的真实标签的重叠比例未能达到σ。

表6-2和表6-3分别为Res-UNet分割网络在E_OPHTHA_EX数据集上的病灶级别分割结果和图像级别分割结果。其中,表6-3中True包含真阳性和真阴性两种情况,False包含假阳性和假阴性两种情况。

表6-2 E_OPHTHA_EX数据集的病灶级别分割结果

表6-3 E_OPHTHA_EX数据集的图像级别分割结果

对IDRiD数据集评估性能:在IDRiD数据集上,与IDRiD竞赛的评估方法相同,使用精确率-召回率曲线下的面积(AUPR)作为评估指标,分割结果见表6-4。表6-4显示了该方法对于分割难度较大的微动脉瘤分割结果较差,在训练过程中,并没有针对微动脉瘤在网络中引入过多的分割技巧,因此在多标签分割任务中,网络对像素占比最小的微动脉瘤关注不够。

表6-4 IDRiD数据集分割结果

注:微动脉瘤(MA),视网膜出血(HM),硬性渗出(HE),软性渗出(SE)。

对本地Ben QDR数据集评估性能:在病灶级别评估了本地Ben QDR数据集的性能。对于不同类型的病变,本实例采用的方法分割结果如表6-5、图6-14所示。

表6-5 BenQDR数据集分割结果

图6-14展示了4种病灶分割结果。图6-14a~图6-14d分别为4张测试原图,图6-14e~图6-14h分别为Res-UNet病灶分割结果图。图中红色线条包围区域代表微动脉瘤,绿色代表视网膜出血,蓝色代表硬性渗出,黄色代表软性渗出。图中可以看出在复杂病灶分布情况下,算法仍能对其进行有效的分割,例如图6-14a和图6-14c中视网膜出血占较大比例,分布较散且远离视盘。从分割结果来看,面积较大的出血块和面积较小的出血点均被分割出来。再如图6-14b和图6-14d中硬性渗出为主要分割目标物,图6-14b中带有少量软性渗出,模型对分布较广、呈块或点状的硬性渗出以及呈棉絮状的少量软性渗出均具有良好的分割能力。

图6-14 病灶分割结果