基于残差通道注意力的视网膜血管图像分割

2024-01-15 14:42王文辉刘彦隆
智能系统学报 2023年6期
关键词:残差注意力视网膜

王文辉,刘彦隆

(太原理工大学 信息与计算机学院, 山西 晋中 030600)

视网膜血管分割在眼相关疾病的早期诊断中具有重要意义,通过观察眼底血管系统,可以很容易地诊断和跟踪许多疾病(如糖尿病和高血压)。在临床实践中,视网膜血管系统通常由眼科医生根据眼底图像手动分割。这种手动分割是一项烦琐、费力且耗时的任务。为了减少人工分割的工作量并提高视网膜血管分割的准确性、处理速度和再现性,大量的研究工作致力于开发全自动或半自动的视网膜血管分割方法。然而,视网膜血管有许多细小而脆弱的血管,而且这些血管紧密相连,视网膜血管树结构相当复杂。

现有的方法可以通过是否使用了人工预先标注血管信息分为有监督方法和无监督方法。大多数无监督方法都是基于血管固有的特征的,主要包括形态学方法[1-2]、匹配滤波方法[3]、血管跟踪方法[4]。

视网膜血管分割的监督方法是基于二进制像素分类,即预测像素属于血管类还是非血管类。机器学习方法包括两个步骤:第1 步,手工制作特征来捕捉目标像素的内在特征,Staal 等[5]提出了一种基于脊的特征提取方法,该方法利用了血管的细长结构,Soares 等[6]利用多尺度2D Gabor 小波变换进行特征提取;第2 步,使用诸如神经网络[7]、支持向量机[8]和随机森林[9]等各种分类器与从局部斑块提取的手工特征结合使用,用于对斑块的中心像素进行分类。上述监督方法依赖于由专家设计的相关特征表示,这通常需要复杂的特征设计过程和丰富的特征设计经验。

为了解决这些问题,基于深度学习的方法被用于视网膜血管的自动分割,并取得了很好的结果[10-16]。Oliveira 等[10]结合多尺度平稳小波变换和全卷积网络(FCN)分割眼底图像局部斑块内的视网膜血管。Zhang 等[11]在U-Net 中引入了基于边缘检测的机制,用来改进模型的性能。Wu 等[12]介绍了一种用于视网膜血管分割的多尺度网络跟踪网络(MS-NFN)。Wang 等[14]将通道注意机制应用于U-Net 结构中的“跳跃连接”来进一步提高血管分割能力。在文献[15]中通道注意力机制只采用了平均池化用来聚集血管空间信息,但是最大池化同样收集了血管另一个重要的空间信息,用来推断更精细的通道方向注意力[16]。但是由于视网膜血管结构复杂,细小血管众多,而且有病理性结构(渗出物、出血、视盘)影响,导致现有网络结构的灵敏度(模型识别血管的能力)普遍不高。

为了解决以上问题,本文提出了一种基于残差通道注意力的改进HED 网络模型用于视网膜血管分割。所提网络模型主要有以下4 个特点:1)受文献[15]启发,本文改进了ECA 模块,并将其命名为改进的高效通道注意力(modified efficient chanel attention,MECA),该模块在保持性能的同时大大降低了网络的复杂性;2)将传统的随机丢弃模块替换为结构化丢弃(DropBlock)模块,有效避免模型产生过拟合现象;3)将MECA 模块加入残差结构中,提出了双残差通道注意力模块(DRCAM),充分考虑了特征图通道间的相关性,提高了模型识别微小血管的能力;4)在HED 网络的特征融合阶段加入短连接结构,并把MECA 模块也融入短连接结构中,充分降低低级语义信息中的噪声和进一步提高模型的灵敏度,即识别精细血管的能力。

1 网络结构与算法原理

1.1 结构化丢弃模块

随机丢弃模块(Dropout)是一个被广泛采用的防止过拟合的方法之一,但是随机丢弃模块通常在全连接层使用,在卷积层起到的作用微乎其微。这是因为在卷积层中特征图相邻位置元素的特征信息差别很小,所以某个元素被丢弃掉时,该元素的语义信息仍然可以通过卷积网络流通过来。所以本文采用了DropBlock[17],这是一种结构化的随机丢弃模块。该结构把特征图的一小部分方块区域一起丢掉,如图1(b)所示,而不是随机的丢弃方块,如图1(c)所示。

图1 Dropout 和DropBlock 丢弃方块原理Fig. 1 Principle of discarding blocks about Dropout and DropBlock

DropBlock 模块主要有两个参数Sb和 γ,Sb表示丢弃的方块的大小, γ表示伯努利函数的概率。 γ通过如下公式得到

式中:Sb表示丢弃的方块的大小,S f表示输入特征的大小,K表示保留方块的概率。

1.2 改进高效通道注意力模块

SE(squeeze and excitation block)模块[18]就是最初的通道注意力(channel attention,CA)模块,该模块通过将输入的特征图进行全局平局池化然后进行激活,获得每个通道的权重,最后使用获得的权重对输入的特征图通道进行加权,从而抑制不重要的特征,增强重要的特征(例如细小的血管特征)。最近,一些研究采用了各种方法用来改进SE 模块,然而这些方法在改进模块性能的同时不可避免的增加了模型的复杂度。文献[15]提出了一种高效通道注意力(efficient channel attention,ECA)模块,该模块利用一维卷积来避免SE 模块在跨通道信息交流中的降维操作,从而在保持优越性能的同时大大降低了模型的复杂度。然而在ECA 中只有平均池化用来聚集空间信息,但是最大池化同样收集了特征图的另一个重要的空间信息,可以用来推算更精细的通道注意力。

因此,本文设计了一种改进高效通道注意力(MECA)模块,该模块采用平均池化和最大池化两种方式来获得更精细的通道注意力,如图2 所示。模块首先将输入特征图F∈RH×W×C通过平均池化和最大池化生成Fmp∈R1×1×C和Fap∈R1×1×C,分别通过以下公式得到:

图2 改进高效通道注意力模块Fig. 2 Modified efficient chanel attention module

式中:H、W、C分别代表输入特征图的高度、宽度、通道数的数量,Fc(i,j)表示第C个通道特定位置的像素值。

然后将两个生成的特征图通过一个共享权重的一维卷积层,获得两个输出特征向量,用来生成一个通道注意力图M∈R1×1×C。

式中:CONV (·)代表一维卷积层, σ(·)代表激活函数。MECA 在本文中使用的一维卷积的核被设置为3(k=3),即每使用一个MECA 只增加3 个参数,这直接证明了MECA 是一个非常轻量级的模块。

其实想要撕掉这些标签,在手指上挤一点护手霜就可以了。将这些护手霜均匀涂抹在标签上,静置30秒,然后,你就会发觉标签很轻松地就被撕下来了。之后,再用纸巾将残留的黏胶擦掉,这样碗碟就变得十分美观了。要是家里遇到标签难撕的问题,就赶紧来试试这个方法吧。

1.3 双残差通道注意力模块

在识别视网膜血管结构时,浅层网络可能会限制网络提取所需血管特征的能力。本文认为构建更深层次的神经网络可以学习更复杂的血管特征,所以构建了双残差结构来代替HED 网络中的原始卷积单元,用来提取更加精细的血管结构。该结构由ReLU 激活、批处理归一化(BN)和卷积层组成的预激活残差块构成。但是单纯增加网络层数可能会阻碍训练,还可能出现退化和过拟合问题,所以将传统的随机丢弃模块替换为性能更强的结构化丢弃模块。

MECA 模块通过自动学习来学习每个特征通道的权重,并使用获得的权重来增强本文需要的血管特征和抑制对视网膜血管分割任务不重要的特征。换句话说,MECA 可以提取通道之间的通道统计,从而进一步增强网络的区分视网膜血管的能力。

基于上述工作本文提出了双残差通道注意力模块(double residual channel attention module,DRCAM),如图3 所示。

图3 双残差通道注意力模块Fig. 3 Double residual channel attention module

1.4 网络结构

图4 显示了本文所提模型的详细结构,该模型是从传统HED 网络改进而来。图中虚线框内为预训练部分,将原始的卷积块替换为DRCAM模块,并将传统的池化层替换为扩张卷积层,这么做的主要目的是为了在增加感受野的同时,保证特征图的输入尺寸不变。方便后续进行特征融合。图4 虚线框外的部分为侧输出部分,将经过预训练的特征图通过16 个1×1 的卷积进行融合,然后通过一个MECA 模块,最后通过由高到低短连接结构,将具有不同级别的语义信息的特征图进行特征融合,这么做能够使模型充分利用不同级别的语义信息进行训练,减少低级语义信息中的噪声。

图4 本文所提网络模型的整体结构Fig. 4 Overall structure of the proposed network module

2 实验及结果分析

2.1 数据集和实验参数配置

本文使用DRIVE 和STARE 两个公共的视网膜眼底图像数据集来评估本文提出的模型。DRIVE 数据集包含40 幅分辨率为565×584 的彩色眼底图像。20 幅图像用来训练,20 幅图像用来测试。STARE 数据集包含20 幅605×700 的彩色眼底图像。由于STARE 数据集未划分训练集和测试集,本文采用文献[19]中的留一法进行交叉验证。

由于DRIVE 和STARE 数据集数据量很少,为了避免模型在训练过程中产生过拟合现象,需要对以上两个数据集进行数据增强。首先将预处理后的图像进行-90°~90°随机旋转,然后将图片随机进行水平或垂直翻转,概率各为50%。最后采用滑窗方式对图像进行随机切片,在每张眼底图像中裁剪出5 000 个48×48 的重叠图像块。采用这种数据增强方式,以上两个数据集将会获得1 200 000 个小图像块,取前90% 用于网络训练,后10%用于验证。

训练细节:预训练阶段,优化算法为Adam,所有可以训练的卷积核都采用HED 初始化方法初始化参数,epoch 为150,初始学习率设置为0.01,在连续6 次迭代以后损失函数都没有变化,则学习率衰减为原来的一半。输出阶段使用预训练阶段训练好的模型参数继续进行学习,epoch 为100,初始学习率设置为0.001,在连续5 次迭代以后损失函数都没有变化,则学习率衰减为原来的一半。

结构化丢弃模块的丢弃方块的大小设置为7,为了使模型的性能达到最好,根据经验本文将DRIVE 数据集中的结构化丢弃模块的方块保留概率设置为0.85,将STARE 数据集中的结构化丢弃模块的方块保留概率设置为0.78。

2.2 图像预处理

视网膜血管图像存在亮度不均匀以及血管与背景之间的对比度较低等问题,为了使模型能够更好地捕获细小血管的更多特征,必须对视网膜血管图像进行预处理。首先提取RGB 图像的3 个通道,受文献[20]启发,本文采用红绿通道比例为3∶7 进行组合并进行灰度变换。然后归一化眼底视网膜灰度图像,采用对比度受限的自适应直方图均衡化(CLAHE)最后进行伽马校正。图5为预处理前后结果图。

图5 预处理结果Fig. 5 Typical image after preprocessing

2.3 性能评价指标

为了评估本文采用的模型的性能,采用了以下指标:准确度Acc、灵敏度se、特异性sp和受试者工作特征曲线ROC 的曲线下面积AUC。AUC 可用于衡量分割性能,因为它是评估两分类的指标,并且具有不受不平衡数据影响的特点。如果AUC 值为1,则表示分割无瑕疵。

2.4 结果分析

本文在HED 网络结构上进行了5 组消融实验,用来验证本文提出的改进方法和网络结构是否有效。模型1 在原始的HED 网络结构中加入残差结构和底部短连接结构;模型2 在模型1的基础上加入了通道注意力;模型3 则采用了改进高效通道注意力代替原始的通道注意力模块;模型4 在模型3 的基础上加入了DRCAM;模型5 也就是本文最终采用的方法,在底部短连接结构中也加入改进高效通道注意力模块,并把结构化丢弃模块的丢弃方块的大小设置为7,以达到最好的分割性能。

从表1 中可以得出:1)原始的HED 网络主要用来进行边缘检测,通过对网络结构进行一些改进,该网络在视网膜血管图像分割领域也有不错的表现;2)通过引入普通的通道注意力,网络的各项性能仅有略微提升;3)通过在网络中加入MECA 模块,模型的灵敏度大幅提升,在DRIVE 和STARE 数据集上分别提升了2.18%和2.96%,其他各项指标均有不同幅度的提升,这表明本文提出的MECA 模块是有效的;4)通过采用DRCAM 结构,模型的灵敏度进一步提高,虽然特异性略有降低,但是可以通过调整结构化丢弃模块的参数来优化;5)通过优化结构化丢弃模块和进一步引入MECA 模块使本模型在灵敏度上取得了最好的性能,在其他指标上也与最先进的方法相差无几。

表1 DRIVE 和STARE 数据集上的消融实验结果Table 1 Results of ablation study on DRIVE and STARE dataset%

图6 给出了5 组模型在DRIVE 数据集一副彩色视网膜血管图像的分割结果和专家的手动分割结果图。通过与专家的手动分割结果图对比,可以看出通过引入MECA 模块,模型可以识别出更精确的微小血管,通过优化结构化丢弃模块参数和进一步引用MECA 模块,模型识别出的微小血管更加清晰,并且识别出的血管结构更加完整。

图6 消融实验分割结果Fig. 6 Segmentation results of ablation experiments

在表2 和表3 中,本文总结了每个模型的发布年份以及它们在DRIVE、和STARE 数据集上的性能。结果表明,本文所提方法在DRIVE 和STARE 数据集上的综合分割性能更好,虽然特异性sp和准确度Acc都略低于目前的最先进方法,但是灵敏度se有大幅度的提升,分别高于目前最先进方法1.18%、0.96%。这说明本文所提方法具有最先进的识别视网膜微小血管的能力,并且AUC 也略高于其他先进方法。

表2 本文方法和其他方法在DRIVE 数据集上结果Table 2 Results of the proposed method with other methods on DRIVE dataset%

表3 本文方法和其他方法在STARE 数据集上结果Table 3 Results of the proposed method with other methods on STARE dataset%

3 结束语

本文提出了一种基于残差通道注意力的视网膜血管图像分割方法,首先,本文针对最近提出的高效通道注意力(ECA)模块进行了一些改进,提出了改进高效通道注意力模块(MECA),这样可以使神经网络有效地提取更精细的血管结构。然后加深了HED 网络结构,提出了双残差结构,并用结构化丢弃模块替换了原始的随机丢弃模块,把MECA 嵌入残差结构中,进一步加强了模型识别精细血管的能力。最后,在HED 网络结构的特征融合阶段加入短连接结构,并把MECA 模块融入到短连接结构中来进一步增强模型的灵敏度。通过在DRIVE 和STARE 数据集上的实验表明,所提方法的综合分割性能最优,且在检测血管的灵敏度性能方面明显大于目前先进的方法,灵敏度的提高对早期眼部相关疾病的临床检测具有重要意义,这说明本文所提方法具有很强的应用潜力。本文所提方法尚未考虑血管的连通性,这也将是下一步工作的重点。

猜你喜欢
残差注意力视网膜
深度学习在糖尿病视网膜病变诊疗中的应用
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
家族性渗出性玻璃体视网膜病变合并孔源性视网膜脱离1例
高度近视视网膜微循环改变研究进展
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
“扬眼”APP:让注意力“变现”
复明片治疗糖尿病视网膜病变视网膜光凝术后临床观察
A Beautiful Way Of Looking At Things