APP下载

SAG-Net:用于联合视盘和视杯分割的新型跳过注意力指导网络

2021-08-06王发林

计算机工程与科学 2021年7期
关键词:视盘注意力卷积

蒋 芸,高 静,王发林

(西北师范大学计算机科学与工程学院,甘肃 兰州 730070)

1 引言

眼底证据鉴定和视网膜眼底图像分析对于眼科医生处理眼科疾病的医学诊断、筛查和治疗至关重要,其中眼底图像中视盘OD(Optic Disc)和视杯OC(Optic Cup)的自动分割可以为青光眼的定量评估和精确诊断提供帮助[1]。在实践中,眼科临床医生的诊断过程通常分为以下几步:(1)检查眼底图像以识别可疑区域;(2)放大图像以手动绘制OD和OC轮廓;(3)评估其外观并努力诊断青光眼[2]。在此过程中,OD和OC的准确分割可帮助医生定量评估正常眼和青光眼病例之间的区别。然而,手动分割会耗费医生大量的时间和精力。所以,对于眼科医生来说,OD和OC的自动分割和分析在诊断和治疗视网膜疾病方面有重要作用[3]。

目前已经开发出了一系列用于分割视网膜图像中OD和OC的方法,其中主要有基于模板匹配的方法[4- 8]和基于超像素的方法[9,10]。但是,这些方法存在以下缺点:(1)利用手工绘制的特征来获得分割结果;(2)无法在多类图像上同时运行出良好的效果;(3)通常无法提取未删减的OD边界;(4)受样本量的影响,在使用大量眼底图像时非常耗时。

Figure 1 Flow chart of the proposed method of optic disc and cup segmentation图1 视盘和视杯分割流程

在最近的文献中,卷积神经网络CNN(Convolutional Neural Network)已被广泛应用于医疗图像处理,特别是医学图像分割[11]。已有基于全卷积网络FCN(Fully Convolutional Network)的方法[12 - 17]用于解决上述问题。其中,流行的U-Net[17]是一种FCN变体,由于其多尺度跳过连接和可学习的反卷积层,U-Net及其变体[17 - 20]已成为生物医学图像分割任务的流行神经网络架构。然而,简单地跳过连接作为网络的扩展路径不能有效地利用特征图的结构信息,如对视网膜图像分析很重要的边缘结构,可能会降低分割性能。因此,期望设计一种更好的扩展路径来保存结构信息。

为了缓解该问题,本文还研究了体系结构设计的另一个方面,即注意力机制。许多工作[21 - 25]已经证明,注意力机制可以突出显示图像中的重点区域,告诉人们关注的重点,具有卓越的定位能力。Abraham等人[24]将改进的注意力U-Net用于皮肤病变分割,并提出了一种基于Tversky指数的广义焦点损失函数,以解决医学图像分割中数据不平衡问题。Kaul等人[25]提出基于注意力的全卷积网络——FocusNet,使用由单独的卷积自动编码器生成的特征图将注意力集中到卷积神经网络中,用于医学图像分割。因此,本文通过使用注意力机制来有效提高特征提取能力,关注重要结构特征且抑制不必要的特征。

本文提出了一种跳过注意力指导网络SAG-Net(Skip Attention Guided Network),用于自动分割视网膜图像中的OD和OC。并进一步设计了一种注意力机制,称为跳过注意力门SAtt(Skip Attention gate),以消除由原始特征图从复杂背景引入的噪声。使用SAtt从低级特征图中识别相关的空间信息,并将其传播到解码阶段。最后,将SAtt应用到U-Net中,形成了本文的新型网络SAG-Net,其中SAtt作为SAG-Net的扩展路径以保存结构信息。在基准分割数据集Drishti-GS1上的OD和OC分割实验结果表明了SAG-Net的有效性。

本文具体工作内容如下所示:

(1)提出了新型网络模型——跳过注意力指导网络SAG-Net,用于保存特征图语义和位置信息,并指导扩展工作。

(2)采取注意方法,引入了跳过注意力门SAtt,用作结构敏感的扩展路径来传递先前特征图的语义和位置信息。通过消融实验验证了SAtt的有效性。

(3)在SAG-Net中,添加了多尺度输入图像金字塔和侧输出,为每幅侧输出图像应用交叉熵损失函数来更新参数,以训练模型,生成最终的分割图。

2 SAG-Net网络结构

对于OD和OC分割任务,本文提出了一种新颖的SAG-Net,其流程如图1所示。SAG-Net包括3个步骤:OD定位,数据扩充和增强,网络训练和学习。

首先利用YOLOv2[26]方法定位视盘中心,并对定位到的图像进行数据增强;然后利用极化变化[20]将眼底图像转换为极坐标系下的图像,并将其输入到SAG-Net中。在侧输出后对分割图逆极化变化恢复成笛卡尔坐标下的分割图。

Figure 2 Structure model of SAG-Net图2 SAG-Net结构模型

图2所示为本文提出的SAG-Net的结构,其中U-Net[17]被用作基础网络,该网络包含编码器路径和解码器路径。在编码器路径中,本文建立了多尺度输入层。多尺度图像技术,也称为多分辨率技术,是指使用图像的多尺度表示和不同尺度的处理,可以有效帮助网络提高特征提取能力。本文将图像以多尺度输入的形式应用到编码路径中,以多尺度的方式输入到网络中,并对多尺度的上下文信息进行编码。如图2所示,给定输入尺度为512×512的原始图像,经过3次下采样,将256×256,128×128和64×64 3个不同尺度的图像输入到网络中,构建图像金字塔输入并实现多级接收场融合。在编码层中加入多尺度输入可以确保原始图像的特征传递,提高分割的质量。同时,增大解码器路径的网络宽度,避免参数的大量增长[20]。编码器路径包含4个卷积块,每个卷积块由2个3×3卷积层组成,每个卷积层之后是批处理归一化BN(Batch Normalization)层和激活函数ReLU(Rectified Linear Unit)层。下采样用3×3卷积代替。然后将注意力门SAtt引入SAG-Net,利用SAtt作为结构敏感的扩展路径来传递先前特征图中的结构信息,例如OD和OC的边缘结构。通过扩展路径,SAtt可以合并不同分辨率级别的特征,并过滤特征图背景中的噪声,解决由上采样引起的边界模糊问题,这对视网膜图像分析非常重要。解码器路径与编码器路径相同,由4个卷积块组成,反卷积用于执行上采样,以获取精化边缘。本文先利用步长为2的3×3反卷积层,批量标准化输出解码器每层的特征图。之后,提取每层输出特征图,使用双线性插值法将特征图扩展到输入图像大小。侧输出层用作早期分类器,用于产生不同尺度层的伴随局部预测图;在这个过程中,为了缓解梯度消失问题,增强早期层的训练,解码器路径接收输出层反向传播的输出损失,进行参数更新。本文网络每层输出图像使用交叉熵损失函数来计算输出损失。

SAG-Net的详细信息如图2所示,其中,X和G是特征图矩阵。本文使用SAtt从低级特征图中识别相关的位置信息,并将其传播到解码阶段,以消除由低级特征图从复杂背景引入的噪声。SAtt通过跳过连接过滤传播的特征,它作为网络的扩展路径来传递先前特征图的结构信息,在2.1节详述。其次,提出的SAG-Net体系结构带有侧输出。对于侧输出图像,利用双线性插值法来扩大图像,使每幅侧输出特征图大小为512×512。并对每幅侧输出层图像应用交叉熵损失函数,以输出更好的结果图像,在2.2节详述。

Figure 3 Skip attention gate(SAtt) structure图3 跳过注意力门结构图

2.1 跳过注意力门

将跳过注意力门SAtt并入SAG-Net体系结构,以突出显示通过跳过连接传递的显著特征。其中,将没有应用Skip-Link的注意力机制称为注意力门Att(Attention gate)。将应用Skip-Link的注意力机制称为跳过注意力门SAtt(Skip Attention gate),SAtt的结构如图3所示。SAG-Net使用跳过注意力门SAtt作为结构敏感的跳连接来代替跳过连接和上采样层,以更好地融合信息。

在SAtt模块中,由于特征图的每个通道都被视为特征检测器[25],因此本文使用了通道注意力机制来构建通道之间的相互依赖性。跳过注意力门SAtt修改了通道注意力学习机制,首先,采用2个输入,从不同分辨率的特征图中恢复特征信息;其次,应用Skip-Link合并从相应分辨率级别跳过的特征,解决由上采样引起的边界模糊问题;对于特征图某个位置上的特征,通过求和方式在所有位置上聚合特征来进行更新,因此无论它们在空间维度上的距离如何,具有相似特征的任何2个位置的特征都可以相互促进。具有新颖神经网络结构和Skip-Link的注意力门SAtt对整个模型的提升起到了很大的作用,它通过对低分辨率特征图与高分辨率特征图进行过滤,从不同分辨率级别恢复空间信息并合并结构信息,可以有效地学习对OD和OC细微边界更好的注意权重。

本文网络中引入了注意力门SAtt,该注意力门SAtt修改了原始通道注意力模块[23],可以有效过滤背景中的噪声,解决由上采样引起的边界模糊问题。SAtt具有2个输入信号,一个是从先前卷积块经过上采样输出的高分辨率特征图X∈RH×W×C,另一个是通过跳过连接传递的低分辨率特征图G∈RH×W×C。通过将低分辨率的特征图与高分辨率的特征图进行过滤,从不同分辨率的特征图中恢复空间信息和融合结构信息。输出是注意特征图X′∈RH×W×C,其中C为特征图的通道数,在本文中,C∈{32,64,128,256,512}。

第1个特征图X∈RH×W×C,利用信道方向的1×1×C卷积进行线性变换,其中连接的特征被线性映射到一个潜在空间,经过BN和ReLU变换操作,获得分辨率相同的特征图U1∈RH×W×C。第2个特征图G∈RH×W×C,经过1×1×C卷积,BN和ReLU变换操作,获得分辨率相同的特征图U2∈RH×W×C。然后将2个转换后的特征图U1和U2相加得到特征图U∈RH×W×C,与串联相比,求和可以减少卷积参数,从而有助于降低计算成本。

然后将特征图U转换为1×1×C的输出,如式(1)所示,也就是输出该层C个特征图的全局信息。

(1)

其中,uc表示U中第c个二维矩阵,下标c表示通道。c∈[0,C],U=[u1,u2,…,uC]。

式(1)得到的结果是mc,mc的维度是1×1。再接下来就是2个全连接操作,如式(2)所示。

S=T(M)=σ[Wβδ(WαM+bα)+bβ]

(2)

S是本文的核心,它用来刻画通道为C的特征图的权重。2个全连接层的作用就是融合各通道的特征图信息。 得到S后,SAtt通过在输出之前将注意权重S附加到特征图X上,进一步提高联合视盘视杯分割的准确性,也就是将特征图X与S相乘以生成注意力特征图K。

最后,通过跳过连接的作用,对注意力特征图K与特征图G使用逐元素求和,使得各个通道之间能产生全局关联,对注意力特征图进行校准,以进一步增强特征表示。再经过ReLU操作获得最终输出的注意力特征图X′。

2.2 交叉熵损失函数

本文在SAG-Net中引入了侧输出层,并为每幅侧输出图像应用交叉熵损失函数。可以将OD和OC分割视为对每个像素进行分类, 因此交叉熵损失可用于像素分类。

对于每幅侧输出图像,损失Loss(Q)是单独计算的。Loss(Q)定义为:

(3)

对于样本(x,y),x={xi,i=1,…,N}表示训练数据,y={yi,i=1,…,N}为对应的金标准,N表示样本的总数。其中,yi={0,1,2} ,K是类别的数量,这里K= 3,yi=0对应于背景,yi=1对应于OD,yi=2对应于OC。B为概率,第i个样本被预测为第k个类别的概率是bi,k。Q表示侧输出层数,此时Q=5,每个侧输出层的相应损失权重表示为aQ={ai,i=1,…,Q},并且aQ={0.1,0.1,0.1,0.1,0.6}。

将每个侧输出层的Loss(Q)进行叠加,输出最终的损失函数Loss。叠加公式如式(4)所示:

(4)

3 实验结果与分析

本文使用PyTorch深度学习框架[27]对SAG-Net进行了实现,训练模型的服务器配置为:Intel(R) Xeon(R) E5-2620 v3 2.40 GHz CPU,Tesla K80 GPU,Ubuntu64系统。在实验中,学习率为0.000 1,使用随机梯度下降法SGD(Stochastic Gradient Descent)从头训练SAG-Net,动量为0.9,权重衰减系数为0.000 5。训练共迭代了400个周期,输出的分割图像大小为512×512×3。

3.1 数据集

Drishti-GS1数据集[28]包含101幅眼底图像,31幅正常的和70幅患病图像,训练集包含50幅图像,测试集包含51幅图像。所有图像的OD和OC区域均由4位具有不同临床经验的眼科专家进行标记,将4位专家标记的平均区域作为标准的OD和OC区域进行训练。

3.2 数据增强

由于训练的数据样本集比较少,为了防止模型过拟合并提高模型的准确率和鲁棒性,因此对每幅眼底图像随机选择以下的一种方式进行数据增强。

(1)将眼底图像随机水平翻转;

(2)将眼底图像随机垂直翻转;

(3)将眼底图像随机在[0°,360°]旋转;

(4)将眼底图像的上下左右填充64个像素,随机从中裁剪出512×512的图像。

在这些步骤之后,将输入图像的大小调整为512×512,最终得到6 000幅训练图像。

同时,对每幅图像进行了极化变化[20]。通过使用极坐标变化,不仅可以获得空间限制,而且还可以增加OD/OC区域的比例,进而提升分割性能。

3.3 性能评估指标

对于实验结果的定量分析,本文对F-measure、IoU和边界距离定位误差值BLE(Boundary Distance Localization Error)[24]等评估指标进行了比较。

F-measure的定义如式(5)所示:

(5)

其中,精度(Precision)和召回率(Recall)的定义如式(6)所示:

(6)

IoU的定义如式(7)所示:

(7)

其中,将样本根据其真实的类别与分类器预测的类别组合划分成4种情况:真正例tp(true positive)、假正例fp(false positive)、真反例tn(true negative)和假反例fn(false negative)。

同样地,本文使用BLE来对模型分割结果U(x)的边缘Co和y的边缘Cg之间的边界距离(以像素为单位)进行评估。BLE能够更好地体现局部(边界)水平的分割效果,其定义如式(8)所示:

(8)

3.4 模型性能的提升

在SAG-Net中,将没有应用注意力门的网络称为Model,将没有应用Skip-Link的注意力机制称为注意力门Att,将应用Skip-Link的注意力机制称为跳过注意力门SAtt。为了验证跳过注意力门SAtt的有效性,分别在SAG-Net架构中实现Att和SAtt,并将其应用于眼底视网膜图像分割。选择具有挑战性的OD和OC分割问题作为本文的实验依据。通过F-measure、BLE和IoU等常用的基准评估本文网络。

SAtt旨在聚合多级功能,它捕获全局上下文和语义相关性,以强调关键特征并抑制背景特征。在本组实验中,为了验证SAtt的有效性,在主干网络相同的情况下,在网络中分别插入了Att和SAtt,对比了Att和SAtt对模型性能的影响,结果如表1所示。结果显示,使用SAtt的模型在不同的训练规模下均提高了预测精度,同时在不需要多个CNN模型的情况下得到了最先进的性能。

在表1中,没有使用注意力模型的Model被用作基础网络,其OD的F-measure达到0.959 2,BLE达到7.36 px;OC的F-measure达到0.863 6,BLE达到19.39 px。使用Att的基础网络,OD的F-measure达到0.960 8,BLE达到8.45 px;OC的F-measure达到0.882 8,BLE达到16.69 px。通过应用Att,在OD上,模型的F-measure分数增加了0.16%,BLE降低了1.09 px;在OC上,模型的F-measure增加了1.92%,BLE降低了2.7px。此外,将Att与SAtt进行比较,具有SAtt的基础网络在OD上的F-measure达到了0.974 3,BLE达到了4.96 px;OC上的F-measure达到了0.888 2,BLE达到了14.83 px。与使用Att的基础网络相比,其在OD上,F-measure增加了1.35%,BLE降低了3.49 px;在OC上,F-measure增加了0.54%,BLE降低了1.86 px。这些结果表明,SAtt不仅可以显着提高分割精度,而且不会添加太多参数。

图4所示为在Drishti-GS1数据集上各个部分组合后的ROCAUC曲线分析。AUC是ROC曲线下的面积,AUC值越大,当前分类算法越有可能将正样本排在负样本之前,从而能够更好地分类。在Drishti-GS1数据集上,ROCAUC值在OD上为0.698 3,在OC上为0.915 1,在联合OD和OC上为0.994 2。其中,SAtt+Model组合比其他组合的ROCAUC值均高。

Figure 4 Comparison of ROC curves on Drishti-GS1 dataset图4 Drishti-GS1数据集上的ROC曲线对比

3.5 不同网络分割结果的定量分析

为了验证SAG-Net的性能,在本组实验中,在F-measure和BLE2个指标上对提出的网络与U-Net[17]、BCRF[31]、RACE-net[32]、DenseNet FCN[19]、LARKIFCM[29]、LAC[30]和HANet[3]等几种最先进的视盘视杯分割方法进行了比较。

Table 1 Performance comparison between attention gate Att and skip attention gate SAtt

这几种方法对测试集51幅眼底图像的分割结果如表2所示,可以看出本文提出的SAG-Net在这2个指标上表现最佳。SAG-Net在OD上的F-measure达到了0.974 3,BLE达到了4.96 px;OC上的F-measure达到了0.888 2,BLE达到了14.83 px。与最先进的注意力方法HANet[3]相比,其在OD上,F-measure增加了0.22%;在OC上,F-measure增加了3.69%。这表明了跳过注意力门模型的有效性。

从结果中可以看到:首先,SAG-Net的性能优于原始的U-Net[17],这说明了在传输结构信息方面,SAtt比跳过连接更具优越性。其次,从F-measure和BLE2项评估指标来看,SAG-Net在OD上,F-measure增加了0.43%,BLE降低了2.27 px;在OC上,F-measure增加了3.82%,BLE降低了4.7 px。这说明了SAtt作为网络扩展路径的有效性,在传递结构信息方面具有优越性。

为了进行直观比较,图5和图6分别将OD和OC所有分割结果显示到示例的视网膜图像,以可视方式将SAG-Net与基础网络U-Net[17]的结果进行了展示,图5和图6表明SAG-Net获得了更准确的分割结果。在图5和图6中,应用了SAtt的SAG-Net实现的分割效果图5c和图6c与金标准图5b和图6b最为接近。这表明SAtt有助于捕获高级语义特征并改进特征表示。在图5e和图6e中,U-Net[17]忽略了一些与视网膜血管非常相似的边缘结构。相反,通过利用注意力门SAtt作为特殊的扩展路径,SAG-Net获得了更好的辨别能力,能够将OD和OC与相似结构区分开。此外,从图5c和图5d、图6c和图6d可以看出,Att与SAtt相比较,SAtt有助于获得更清晰的界限。为了更直观地展现U-Net、Att和SAtt的分割结果与金标准的对比,将所有分割结果叠加到示例的视网膜图像,并将视盘视杯区域放大,如图5f和图6f所示,SAtt代表的黑色线更接近于代表金标准的曲线,表明在SAG-Net模型中,SAtt模块具有更好的特征表示能力。本文提出的SAG-Net分割边界更加精确,验证了SAtt有助于消除噪声,并进一步减少了背景的负面影响。

Figure 5 OD visual segmentation results图5 OD可视化分割结果

4 讨论

SAtt模块是使得分割性能提高的主要部分。为了说明SAtt模块与其他注意力方法的区别,本文设计了一组基于不同注意力方法的消融实验。以SAG-Net网络为定量模型,分别选取了2个典型的可嵌入到其他模型中的注意力模块与本文的SAtt模块进行比较。第1个是在分类任务中常使用的SE-Net[23]的Squeeze-and-Excitation 注意力模块,本文称之为SE模块,它利用网络中卷积特征通道之间的相互依赖来提高网络的表示能力,属于通道注意力模块。另一个注意力模块是Woo等人[22]提出的CBAM(Convolutional Block Attention Module)模块,它沿着2个独立的维度(通道和空间)依次推断注意力图,然后将注意力图乘以输入要素图以进行自适应特征改进,是通道注意力模块和空间注意力模块的组合。

Table 2 OD and OC segmentation results on Drishti-GS1 dataset

Figure 6 OC visual segmentation results图6 OC可视化分割结果

表3中比较了基于SAG-Net模型的SAtt、SE和CBAM这3种注意力模块在OD和OC分割上的性能。SE 和CBAM 2种注意力模块虽然在一定程度上提高了模型的性能,但从F-measure和BLE2项评估指标来看,SAtt的总体分割结果优于这2种注意力模块嵌入到SAG-Net网络中的结果。SE模块仅将注意力用于通道,CBAM在SE模块的基础之上添加了空间注意力,虽然能更好地提取图像特征,却增加了计算量。而SAtt模块修改了通道注意力学习机制,采用2个输入,可以将低分辨率的特征图与高分辨率的特征图同时进行过滤,从不同分辨率的特征图中恢复空间信息和融合结构信息。同时,通过应用Skip-Link,可以合并从相应分辨率级别跳过的特征,并过滤特征图背景中的噪声,解决由上采样引起的边界模糊问题。结果显示,这样的改进有效地提高了OD和OC的分割准确率,提取的边界信息更加清晰。

图7所示为视网膜图像的5个示例以及不同注意力模块对应的分割图像。为了更直观地展现注意力模块之间的分割结果以及与金标准的对比,将所有分割结果叠加到示例的视网膜图像,并将视盘视杯区域放大。

Figure 7 Attention module comparison visualization results图7 注意力模块对比可视化结果

从图7的分割结果中可以明显看出,本文网络具有更清晰的分割边界信息。显而易见,代表SAtt的曲线与其他2个模块相比,更接近于代表金标准的曲线,证明在SAG-Net模型中,SAtt模块比SE和CBAM模块具有更好的特征表示能力。

Table 3 Using SAG-Net as the basic architecture,the F-measure and BLE performance of different attention modules and SAtt modules are compared

5 结束语

视盘和视杯定位和分割的准确性对眼底疾病的诊断至关重要。本文提出了一种跳过注意力指导网络SAG-Net用于联合视盘视杯分割,该网络可以保存特征图结构信息并指导扩展工作。在SAG-Net中,本文提出的SAtt模块作为扩展路径,有助于消除噪声并进一步减少了背景的负面影响。本文使用多尺度层构造了图像金字塔以馈送多级输入,而侧输出层产生伴随局部预测图。采用交叉熵损失函数来保证最终将视盘和视杯分割的输出。在Drishti-GS1数据集上,将SAG-Net网络与其他几种最近的网络进行了比较。结果表明,与现有方法相比,本文网络实现了更高的分割精度。未来的研究将旨在提高对严重病变的视网膜图像分割的精度,并开发一种自动化的青光眼筛查方法,缩短计算时间,提高分割精度。

猜你喜欢

视盘注意力卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
视盘水肿患者频域光学相干断层扫描测量结果分析
伴视盘出血的埋藏性视盘玻璃疣患者的临床特点和眼底影像特征陈秀丽
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
视盘内出血伴视盘旁视网膜下出血1例
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
一种基于卷积神经网络的性别识别方法