APP下载

基于U型卷积网络的视网膜血管分割方法

2021-05-17秦晓飞郑超阳陈浩胜何致远

光学仪器 2021年2期
关键词:注意力视网膜像素

秦晓飞,郑超阳,陈浩胜,李 夏,何致远

(1.上海理工大学 光电信息与计算机工程学院,上海 200093;2.上海理工大学 机械工程学院,上海 200093)

引 言

视网膜血管分割是眼底图像定量分析的关键步骤。通过对视网膜血管的分割,可以得到视网膜血管树的相关形态学信息(如血管的曲率、长度、宽度)。此外,视网膜血管的血管树具有独特的特征,也可用于生物识别领域。因此,视网膜血管的准确分割具有重要意义。

视网膜血管分割的第一步是分割图像中与血管相对应的区域。在形式上,血管分割是一个二值分类问题,它具有如下挑战:首先,眼科医生需要手工标注每张眼底图像中的每一条血管,对从业者的专业技能要求极高,导致现有的数据集比较小,通常只有20~40张图像;其次,需要对每张图像进行数十万甚至数百万像素的分类,并将附近像素的标签进行关联。

近年来,深度卷积神经网络在计算机视觉领域广泛应用。然而,由于上述的挑战,训练一个泛化能力强的深度网络来分割视网膜图像并不简单。将深度学习应用于该领域的两种主要策略是:1)将每幅图像分割成小块,最大限度地增加训练样本的数量;2)将传统卷积层与上采样相结合,学习局部和全局特征。以U-Net[1]为代表的网络正是由于采用了第二种策略而取得了最新的成果。

研究表明,U-Net和其他基于深度学习的方法更倾向将模糊的像素分类为背景。尽管这些方法可以分割模糊的血管以及位于较厚血管边缘的像素,但却低估了单个血管的宽度,以及大血管与小血管的比例。这会影响诊断,因为许多关键的生物标志物,包括动静脉比、分支角度、分支数、分形维数、弯曲度和血管长径比都需要对单个血管进行精确测量。

针对以上视网膜血管分割挑战性的问题,本文提出了一种新颖的U型卷积网络。在网络的中间层用空洞的空间金字塔池化(atrous spatial pyramid pooling,ASPP)模块来提取视网膜图像的上下文特征,避免了细节信息的丢失,增大了卷积核的感受野,有效地提取了细小血管的特征。编码器利用残差模块代替普通卷积,避免模型过深导致梯度消失的问题,提高了网络泛化能力。网络模型采用U型结构进行堆叠卷积,提取了血管的结构化特征,提升了分割的准确率。此外,还设计了通道注意力模块,把低层次的特征与高层次的特征相融合,通过这种策略,网络可以根据视网膜血管的大小自适应地调节血管信息采集区域,得到不同形状的视网膜血管预测图。实验结果表明,本文方法在视网膜血管分割任务上取得了较好的结果。

1 视网膜血管分割方法

1.1 方法流程

方法流程如图1所示。首先,对原始图像进行预处理,抽取眼底图像通道,并用标准数据增强的方法对数据集进行扩充。其次,用U型卷积网络对预处理好的数据集进行训练,网络输入图像的大小没有固定限制,输入图像与输出图像的分辨率相同。最后,对网络模型的预测结果进行全局阈值分割得到最终的二值分割结果。

图1 本文算法流程图Fig.1 Flow chart of algorithm

1.2 U 型编解码架构

大量的实验表明,U型结构可以恢复相应的空间信息。原始的全卷积神经网络(fully convolutional network, FCN)[2]通过设计跳级结构对不同级别的特征进行编码,而U-Net对FCN进行改进后,设计了经典的U型编解码架构。它由典型的下采样编码器和上采样解码器结构组成,两者之间有“跳跃连接”。由于其良好的性能,目前许多视网膜血管分割方法都是基于U-Net网络进行改进的。例如,Wang等[3]设计了双编码UNet网络(DEU-Net),显著提高了网络端到端的像素对视网膜血管的分割能力。Wu等[4]提出了血管网络(Vessel-Net),首次采用结合初始法和残差法优点的策略进行视网膜血管分割。虽然U-Net及其变体网络性能良好,但它们不能有效地利用结构信息,这会影响到分割的性能。因此,设计一个更好的网络来获得结构信息是很有必要的。

1.3 注意力机制

计算机视觉中的注意力机制的基本思想是:让系统像人一样学会忽略无关信息而关注重点信息。近年来,深度学习与视觉注意力机制结合的研究工作,大多数是使用掩码(Mask)来形成注意力机制的。掩码的原理在于通过学习新的权重,将图片数据中关键的特征标识出来,然后经过训练,让神经网络学到每一张图片中需要关注的区域,也就形成了注意力。Hu等[5]提出了一种注意力选择机制,在这种机制中,特征映射首先使用全局平均池化进行聚合,然后简化为单个通道描述符,最后使用激活门来突出最具区别性的特征。Wang等[6]在ResNet[7]中增加了一个注意模块用于图像分类,该注意模块由几个编解码层组成。Fu等[8]提出了基于空间和通道的双重注意力网络,使得网络在提取通道特征的同时,还能保留相应的空间信息。注意力机制常与编解码器结构的模型结合使用[9]。

1.4 网络架构

本文设计了基于经典编解码架构的U型卷积网络,主网络如图2(a)所示。编码器由一组级联的残差模块组成,以逐步提取更抽象的特征。为了减少参数数量,提高计算效率,编码器是基于ResNet-34进行构造的,它包含4个残差模块,共34层,残差模块如图2(b)所示。在网络的中间层,利用ASPP[10]模块来提取不同尺度的上下文特征;在跳级结构部分,设计了通道注意力模块,把高层次的特征和低层次的特征进行融合,增强了类内预测的一致性。解码器由两部分组成:首先,网络使用解码模块(见图2(c))逐层进行上采样,在解码模块中,使用了转置卷积来恢复更高分辨率的特性;其次,为了进一步融合不同尺度的特征,先将ASPP模块得到的特征图用Pixelshuffle进行上采样,然后与解码器最后一层上采样的特征图进行元素相加得到融合后的特征图。在网络的最后一层,用1×1卷积和Sigmoid函数输出最终的预测图。

图2 网络总体结构图Fig.2 Overall network structure

1.5 空洞的空间金字塔池化模块

ASPP模块主要通过平行或者级联的方式堆叠不同扩张率(6、12、18、24)的卷积核,组成类似金字塔方式对输入的特征图进行卷积操作,如图3所示。通过这种模块,可以在不降低分辨率的情况下,增大特征感受野,从而提取不同尺度的上下文语义信息。

图3 ASPP 模块示意图Fig.3 Illustration of ASPP block

1.6 通道注意力模块

通道注意力模块(CAB)旨在改变每个阶段特征的权重,以增强特征的一致性,如图4所示。通道注意力模块是为了增强类内一致性而设计的,它可以结合相邻阶段的特征并得到一个通道注意力向量,高层的特征提供了一个很强的一致性约束,而低层的特征带来不同的差异特征。利用高层特征对低层的特征进行引导,进而通道注意力向量能够自主的选择差异特征。

图4 通道注意力模块示意图Fig.4 Illustration of channel attention block

通道注意力权重分配如图5所示。首先,把高低层次的特征级联起来;然后,将级联的特征集合到一个特征向量,并计算它的权重向量,该向量可以对特征进行权重再分配,即特征的选择和组合;最后,把高低层次的特征进行融合得到最终的特征图。通道注意模块基于自注意力机制,可以提高网络对特征的敏感性。蓝色块代表低阶段特征,黄色块代表高阶段特征。模块将相邻阶段的特征级联起来,计算出一个权重向量,从而对低阶的特征图重新赋权。较暖的颜色表示较高的权重值。

图5 通道注意力权重分配示意图Fig.5 Illustration of channel attention weight allocation

1.7 损失函数

图像分割任务中最常用的损失函数是像素方向的交叉熵损失(CrossEntropyLoss)。这种损失会逐个检查每个像素,将类预测向量与一个热点编码的目标(或地面真值)向量进行比较。因此,本文采用交叉熵损失作为损失函数,可以定义为

式中:P0表示在标签图下像素点为血管像素的概率;P1表示在标签图下像素点为背景像素的概率;N表示总像素;表示像素点Sigmoid函数映射,输出为血管像素的概率;表示像素点经Sigmoid函数映射,输出为非血管像素的概率。

2 实 验

2.1 数据集

实验采用公开的DRIVE数据集[11]。DRIVE数据集包括40张视网膜的彩色图像,其中20张用于训练,其余20张用于测试。每张图片像素大小是565×584,它对应有两个专家手工标注的金标准图像。由于数据集图像数量较少,对数据集采用随机旋转、添加高斯噪声和色彩抖动等方法处理,扩充了数据集,防止网络训练过拟合。

2.2 实验设置

编码器网络的初始权重来自ImageNet上预训练好的ResNet-34,其他层的参数随机初始化。设置模型训练的Batchsize为8、动量为0.9、权重衰减为0.000 1,学习率为 4 e-3。采用随机梯度下降(SGD)算法对目标函数进行优化,整个网络框架是使用PyTorch实现的。在两块NVIDIA GTX1080Ti Gpus上进行训练大约需要1.5 h。在测试过程中,每幅图像在0.015 s内产生分割结果。

2.3 性能评价指标

视网膜血管分割通常被表述为二元密集分类任务,即在输入图像中预测每个像素属于阳性(血管)或阴性(非血管)类。一个像素预测可以属于四类中的一类,即真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)。如表1所示,本文采用了四个常用的评价指标:准确率(ACC)、敏感性(SE)、特异性(SP)和受试者工作特征曲线下面积(AUC)。本文使用二值化阈值方法获取最终分割结果,ACC、SE和SP都依赖于二值化方法。除特别说明外,所有阈值敏感度量都采用全局阈值化方法,阈值调整值为0.5。

表1 本文方法性能评估指标Tab.1 The performance evaluation index of this method

2.4 实验分析

本文算法与其他文献方法的敏感性、特异性和准确率对比如表2所示,其中加粗的数据为本文算法。表2总结了不同方法的发布年份以及在DRIVE数据集上的性能。从表中可以看出,U型卷积网络在DRIVE数据集上取得了最好的性能。敏感性最高为0.830 6,准确率最高为0.967 8,特异性最高为0.983 4。以上结果表明,U型卷积网络在视网膜血管分割挑战中取得了最好的性能,且在该数据集上有较强的鲁棒性。

表2 相关算法在DRIVE数据集上的性能对比Tab.2 Performance comparison of related algorithms on the DRIVE dataset

实验表明,U-Net和其他基于深度学习的方法在分割时更倾向将模糊的像素分类为背景。因此,这些方法忽视了视网膜血管的结构化信息。而U型卷积网络在中间层引入了ASPP模块,提取了多尺度的结构化信息,因此在敏感性指标上有显著的提升。在跳级层中设计了通道注意力CAB,对高低层次的特征进行了细化,突出了血管的前景,减小了背景的影响,从而使得准确性较高。DEU-Net网络对输入图像的分辨率有固定的要求,由于训练时图像裁剪成了很多小块,因而不能进行端到端的训练,这大大增加了训练的时间和成本。而U型卷积网络对于输入图像的分辨率没有限制,输入一张原始图像,经过端到端的训练可以得到一张与输入图像大小相同的预测图。因而对比表中的方法,U型卷积网络具有其独特的优势,在性能指标上获得了最好的结果。

ROC(Receiver Operating Characteristic)曲线是衡量视网膜血管分割精确度的重要曲线,曲线以错误的正样本率为横轴,正确的正样本率为纵轴进行绘制。为了进一步评估U型卷积神经网络的性能,用算法绘制了ROC曲线,并计算了ROC曲线下的面积AUC(Area Under the ROC Curve),如果AUC的值为1,则代表完美分割,如图6所示。模型在DRIVE数据集上AUC的值为0.984 1,因此,本文的算法对于视网膜血管分割有很好的性能。算法在数据集上的测试结果如图7所示,通过对比图像发现生成的预测图像和金标准图像非常接近,相比于金标准图像能够更加准确分割细小的血管,这表明本文的算法模型在DRIVE数据集上具有优秀的泛化能力。

图6 DRIVE 数据集上 ROC 曲线Fig.6 ROC curve on DRIVE dataset

图7 DRIVE 数据集上的测试结果Fig.7 Test results on DRIVE dataset

3 结 论

本文针对视网膜血管图像中细小血管分割精度低的问题,提出了新颖的U型卷积网络分割方法。在网络中间层引入ASPP模块,充分学习眼底视网膜图像的血管细节;在网络的跳级层设计了通道注意力模块,对不必要的特征进行抑制,提高视网膜血管图像的分割精度,使得预测在类内保持一致。网络可以根据视网膜血管的大小形状自适应地调节血管信息采集区域,从而可以得到精确的视网膜血管分割图。在实验效果上与其他模型相比分割精度最高,模型的鲁棒性也表现最好。

猜你喜欢

注意力视网膜像素
赵运哲作品
深度学习在糖尿病视网膜病变诊疗中的应用
像素前线之“幻影”2000
让注意力“飞”回来
家族性渗出性玻璃体视网膜病变合并孔源性视网膜脱离1例
高度近视视网膜微循环改变研究进展
“像素”仙人掌
“扬眼”APP:让注意力“变现”
复明片治疗糖尿病视网膜病变视网膜光凝术后临床观察
A Beautiful Way Of Looking At Things