APP下载

基于改进U-Net的视网膜血管分割

2022-07-15王师玮易才键

智能计算机与应用 2022年7期
关键词:卷积视网膜注意力

王师玮,陈 俊,易才键

(福州大学 物理与信息工程学院,福州 350108)

0 引 言

据统计报告,中国是世界上盲人最多的国家之一,约有1 200万盲人,占全世界盲人的18%。失明的重要原因之一就是眼底视网膜血管病变,在众多致盲疾病的案例中,有许多病例是可以通过视网膜检查来进行防治的。以糖尿病视网膜病变为例,中国有近1亿糖尿病患者,在已知病史的糖尿病患者中视网膜病变的患病率65.2%,糖尿病患者眼底3~5年发病率为38.1%,5~15年发病率为39.58%,15年以上发病率为50%。如果患者能够在确诊为糖尿病后及时做眼底检查,记录自己的眼底视网膜影像并按期复查,就能在病变一出现苗头时及时治疗,这将大大降低后期出现视力损伤、致盲的概率。因此,建立眼科影像档案来进行视网膜病变的早期筛查工作就变得十分重要。

眼底视网膜血管是全身血管系统中唯一可以直接无创观测到的部分,其自身变化,例如:血管长度、宽度、弯曲度、分叉模式等结构特性的变化,均可作为诊断与血管相关疾病的依据。许多眼部疾病的病变情况可以在视网膜血管上观察到,例如:青光眼、糖尿病视网膜病变、老年性黄斑病变等。通过对视网膜血管的结构特性进行专业分析,就可以观察到这些眼底疾病病变的具体临床表现,这为后续的诊断和治疗有着重要意义。视网膜血管分割是获取这些结构特性的重要步骤,良好的分割结果将使后续的检测分析更准确。由于眼底存在许多微小的毛细血管,视网膜血管结构又相对复杂、不规律,采用人工分割视网膜血管图像的方式将会十分繁琐,因此研究出一种高效、精确的视网膜血管自动分割算法是非常有必要的。

目前,国内外的众多学者提出了许多优秀的视网膜血管自动分割算法,根据是否需要标签分为两大类:无监督算法和有监督算法。

视网膜血管分割算法中的无监督算法主要有:基于形态学处理的方法、基于匹配滤波的方法、基于形变模型的方法等。无监督算法在分割过程中不需要利用专家手工标注的金标准图,主要是根据血管的原始信息来设计算法,此类算法易受数据的个体特征影响而无法广泛应用,且分割精度较难提高。

有监督算法在分割过程中需要依靠专家手工标注的金标准图来训练模型并进行迭代学习,得到最好的模型结果,此类算法在血管分割上通常能够得到比无监督算法更好的效果。近年来,随着基于有监督的深度学习技术的快速发展及其在计算机视觉任务中的良好表现,越来越多的学者将深度学习技术应用于目标分割领域。2014年Long等人提出全卷积网络(Fully Convolutional Networks,FCN),开创性地将网络中的全连接层改成卷积层,从而使整个网络结构中只有卷积层,并将其运用到分割任务中;Ronneberger等人提出了具有对称性结构的U-Net网络,其中包括了编码-解码过程,使用了跳跃连接方式在上采样阶段将浅层特征进行融合。U-Net特别的网络结构使得其在医学图像分割领域上表现出良好的性能,现有的很多模型也是在传统U-Net的基础上改进的。Zhang Zhengxin等和Zeng Yuanyi等分别受到残差连接和密集连接的启发,将U-Net的子模块分别替换为具有残差连接和密集连接的形式,由此设计了Res-UNet和Dense-Unet;Alom提出了R2U-Net,将残差连接与循环卷积的方法相结合,替换U-net的子模块;Lian等人在U-Net中引入注意力机制,在特征拼接之前,使用了一个注意力模块,该模块生成一个门控信号,用来控制不同空间位置处特征的重要性;Zongwei Zhou等人提出的U-Net++网络,可以抓取不同层次的特征并以特征叠加的方式进行融合;CAO Hu提出了首个基于纯Transformer的U形医学图像分割网络Swin-UNet,也取得了不错的效果。

为了减少在视网膜血管分割过程中的细节丢失问题,提升分割精度,本文设计了一种改进U-Net网络模型结构。经验证,本文算法较现有的先进模型在分割效果上有一定的提升,可为临床医学诊断提供辅助信息。

1 本文方法

针对传统算法在眼底视网膜血管分割过程中的特征提取困难、细节区域分割不精确的问题,本文在U-Net网络的基础上进行改进,提出了一种能更好进行血管分割的算法CSD-UNet,其整体网络结构如图1所示。该网络在原U-Net的卷积过程中引入卷积注意力模块(Convolutional Block Attention Module,CBAM),构成一个新的卷积模块CD-Conv,以此来对血管的细微结构进行通道和空间增强;使用SoftPool的池化方法、密集上采样卷积(Dense Upsampling Convolution,DUC)方法,解决结构信息丢失、损耗的问题。CSD-UNet算法能够在不丢失信息的情况下,进一步增加感受野并提高对细微特征的提取能力,进而提高分割准确率。

图1 CSD-UNet整体网络结构Fig.1 Overall network structure of CSD-UNet

1.1 CD-Conv模块

CD-Conv模块是由CBAM模块和双层卷积构成的,其结构如图2所示。在本文的血管分割任务中,考虑引入通道注意力来增强通道间的关联性,解决神经网络中不同通道对特征选择有不同依赖性的问题;考虑引入空间注意力来捕获不同尺度的空间位置信息,突出血管区域特征抑制背景噪声。CBAM模块正是这两者很好的结合,并且其是一个轻量级的通用模块,可以无缝集成于本文的分割网络之中,其结构如图3所示。

图2 CD-Conv模块结构Fig.2 The structure of CD-Conv module

图3 CBAM模块结构Fig.3 The structure of CBAM module

给定一个中间特征映射∈R,CBAM模块顺序地沿着通道和空间两个独立的维度进行推导,分别得到注意力图MRM,其中⊗表示按位相乘,F是最终的细化输出。完整过程可归纳为式(1)~式(2):

其中,M是由通道注意力模块获得的,M是由空间注意力模块获得的,可定义为式(3)~式(4):

CBAM的通道注意力模块、空间注意力模块的结构如图4和图5所示。

图4 通道注意力模块结构Fig.4 The structure of channel attention module

图5 空间注意力模块结构Fig.5 The structure of spatial attention module

1.2 SoftPool

SoftPool能较好地参考特征区域内的激活值分布,进而服从一定的概率分布,能够很好地保留视网膜血管的细微特征表达。

1.3 密集上采样卷积

视网膜中存在的许多细微血管结构往往会在训练过程中丢失,造成视网膜血管分割精度降低。因此,选择密集上采样卷积作为本算法的上采样方法,产生密集的像素级预测映射,且在上采样过程中捕获更多细节信息。其结构如图6所示。

图6 密集上采样卷积模块结构Fig.6 The structure of DUC module

给定输入图片,整个网络在预测前的输出特征映射大小为,其中:,,为下采样因子。DUC方法通过通道维度来弥补长宽尺寸上的损失,将转为(),是分割类别的数目,最后再reshape回尺寸。其DUC的核心思想就是将整个标签映射划分为与特征映射等尺寸的子部分,这些子部分被叠加次后又会直接得到整个标签映射。

2 实验结果与分析

2.1 实验环境及预处理

CSD-UNet模型的开发集成环境为PyCharm,基于开源的Pytorch框架,运行平台为Windows系统,GPU为NVIDIA GeForce RTX 2070,内存为16 GB。使用DRIVE数据集和CHASE_DB1数据集来验证本文的算法。

DRIVE数据集共有40张565×584彩色眼底图像,其中33张为正常眼底图像,7张存在轻度早期糖尿病视网膜病变,本文从中选择训练集和测试集各20张;CHASE_DB1数据集包括从14名学童的双眼中拍摄的28张视网膜图像,每幅图像的大小为999×960,本文从中选择20张用于训练,8张用于测试。

为了提高模型分割血管的精度,要先对图像进行预处理之后再输入网络模型进行训练。预处理方法主要包括以下步骤:

(1)提取视网膜图像的G通道,并转为灰度图;

(2)归一化处理后再采用自适应直方图均衡化方法(CLAHE),增强血管与背景对比度的同时不放大噪声;

(3)使用伽马算法对图像进行对比度的均匀增强;

(4)采用随机裁剪的方式进行数据扩充。

测试集不进行数据预处理。

2.2 实验结果与分析

在DRIVE、CHASE_DB1数据集上对本文算法进行测试,视网膜血管分割结果如图7、8所示,第一列是原始图像,第二列是本文算法的分割结果,第三列是本文算法的分割二值图像,第四列是手工标记的分割结果图。可以看出,本文的CSD-UNet模型可以较好地克服血管分割的难点,得到良好的分割结果。

图7 DRIVE数据集上的分割结果Fig.7 Segmentation results on DRIVE dataset

图8 CHASE_DB1数据集上的分割结果Fig.8 Segmentation results on CHASE_DB1 dataset

将本文算法与近年用于视网膜血管分割的几种先进算法进行对比,采用了准确率(Accuracy,),敏感度(Sensitivity,),特异性(Specificity,),1(1score)以及(Area Under Curve)5种常用的衡量算法性能的指标来进行分析,其定义分别如式(7)~式(10):

其中,(真阳性)表示将正例预测为正例的数量;(假阳性)表示将负例预测为正例的数量;(假阴性)表示将负例预测为负例的数量;(真阴性)表示将正例预测为负例的数量。

为ROC曲线下方的面积,ROC(Receiver Operating Characteristic,ROC)曲线以(真阳性率)、(假阳性率)为纵、横坐标,计算为式(11)~式(12):

其中,N表示金标准图中正例数量;N表示金标准图中负例数量;表示预测结果中正例数量;表示预测结果中负例数量。

在DRIVE、CHASE_DB1测试集上的实验结果见表1、表2。实验结果表明,CSD-UNet方法在视网膜血管分割任务上的性能较其他方法有一定的提升。在DRIVE、CHASE_DB1数据集上的曲线和曲线如图9、图10所示。

图9 DRIVE数据集上的PR曲线和ROC曲线Fig.9 PR curve and ROC curve on DRIVE dataset

图10 CHASE_DB1数据集上的PR曲线和ROC曲线Fig.10 PR curve and ROC curve on CHASE_DB1 dataset

表1 DRIVE数据集上各种算法的实验结果Tab.1 Experimental results of various algorithms on DRIVE dataset

表2 CHASE_DB1数据集上各种算法的实验结果Tab.2 Experimental results of various algorithms on DRIVE dataset

3 结束语

本文基于U-Net网络,引入CBAM、SoftPool、DUC方法,设计了一种能够更好地进行眼底视网膜血管分割的算法CSD-UNet。该算法在公开数据集DRIVE、CHASE_DB1上进行验证,得到结果值为0.956 8、0.965 9,值为0.979 3、0.987 8,1值为0.824 1、0.832 3,值为0.795 2、0.764 0,值为0.980 4、0.991 1。分割结果的客观评价指标与主观视觉验证了该算法在分割精度方面的有效性,且较现有的先进算法有一定的提升。

猜你喜欢

卷积视网膜注意力
基于全卷积神经网络的猪背膘厚快速准确测定
如何防治裂孔性视网膜脱离
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
视网膜脱离相关知识,你了解多少?
基于深度卷积网络与空洞卷积融合的人群计数
视网膜脱离能治好吗
卷积神经网络概述
A Beautiful Way Of Looking At Things
眼前一道“闪电”可能是视网膜病变