APP下载

融合多层空间注意的U型视网膜血管分割算法

2023-07-15梁礼明

小型微型计算机系统 2023年7期
关键词:细小视网膜卷积

梁礼明,詹 涛,雷 坤,陈 鑫

(江西理工大学 电气工程与自动化学院,江西 赣州 341000)

1 引 言

对眼底图像的视网膜血管分析,在各种疾病的早期诊断中起至关重要的作用,视网膜血管的形态学特征与青光眼、糖尿病、动脉硬化和高血压等病理性疾病都是密切相关的[1].视网膜眼底图像通常具有噪声、对比度低、不规则和多尺度等因素干扰,会影响视网膜血管的精确分割.因此,设计出一种自动化和标准化的视网膜血管分割算法,对于早期诊断各种疾病是非常重要的.

目前,有许多国内外优秀的研究者提出了大量的视网膜血管分割方法,视网膜血管分割可以分为手工分割和算法分割.手工分割需要眼科医生、技术人员的参与,而且耗时.算法分割解决了时间的负担,但视网膜血管结构极其复杂,对比度低、噪声干扰和形态多样性等特性,仍然使自动分割算法面临着巨大的挑战,这些算法分割分为无监督算法和有监督算法.无监督算法不使用任何分割标注作为参考,主要依靠手动特征来表示和分割视网膜血管[2],主要步骤有阈值、滤波、变化、形态处理和反变换形成.无监督算法分为基于匹配滤波的方法[3,4]、基于血管跟踪的方法[5,6]、基于模型的方法[7]和基于形态学的方法[8].Chowdhary等[7]改进隶属度分配和噪声数据处理,克服医学图像分割可能性模糊C-均值的限制,虽然提高了血管的特征提取,但是导致数据量巨大,存在一定的局限性.Upadhyay等[8]以一种新颖的方式将局部方向小波变换和全局曲波变换两种多尺度方法结合,在保留主要血管厚度的同时分割细小血管,但对噪声较为敏感.有监督算法需要手工标注数据集进行训练以生成最优预测模型,并使用所构建的模型将所有的输入映射到相应的输出,这种算法广泛应用于分割任务中.Zhao等[9]提出一种新颖的2-D/3-D正交滤波器区分线和边缘局部相位特征,以解决大多数基于滤波器的方法存在血管分叉和交叉处分割断裂问题,但对细小血管分割精度较低.Guo等[10]通过局部和全局特征利用滤波器提取血管特征信息,可以区分主血管和细小血管并确保图像的全局空间一致性,解决了细小血管易断裂现象,但存在噪声的干扰.

近年来,基于深度学习方法已取得了重大突破,U-Net网络结构[11]广泛用于医学分割领域,U-Net的编码结构用于降低池化层的空间维度,解码结构用于修复图像分割的细节和空间维度,跳跃连接增加信息传输路径.文献[12]提出融合U-Net和DenseNet网络改进的视网膜血管分割算法,提高血管分割的准确率.Jin等[13]将可变形卷积集成到U型网络中,根据血管的尺度和形状自适应调整感受野来捕获各种形状和尺度的视网膜血管.Yuan等[14]提出一种新的深度学习模型DU-Net,充分利用低层次的细节信息和不同层编码的互补信息,以较低的模型复杂度准确区分血管和背景.现有的方法通常是利用同一层次的特征,直接对其进行连接,形成最终的视网膜血管图,特征中会包含来自浅层的细微噪声和来自深层的无关特征信息,从而导致视网膜血管分割精度低.

为了实现眼底视网膜图像血管的精确分割,本文提出一种融合多层空间注意的U型视网膜血管分割算法.首先在眼底视网膜图像预处理后,再使用翻转、平移和裁剪等方式进行数据扩充;然后设计了FE-Resnet代替编码和解码的传统卷积,对图像血管的通道特征实现自适应校准,突出显著信息抑制无关信息;再后在U型网络的底层提出了密集空洞卷积模块,在不增加参数的情况下获得更大的感受野,提取血管多尺度特征;最后在跳跃阶段提出了三端空间注意模块,增加信息传输路径,消除噪声干扰,维持更多血管的细节信息.

2 网络模型构建

2.1 特征增强残差模块

随着卷积网络层的加深在训练过程中会产生梯度消失和过拟合等问题,导致血管分割的准确率和灵敏度降低,网络迅速退化.因此将浅层特征与深层特征映射融合的残差模块[15]加入网络模型中,会加快网络的收敛.而浅层特征中缺乏语义信息,存在特征冗余的问题,故在残差转换层引入通道注意机制[16]自适应地聚合通道之间的过程,捕获通道维度的全局语义信息,增强通道特征提高血管分割的灵敏度和准确率.

本文研究聚合了残差模块和通道注意模块的优点,设计了特征增强残差模块(Feature Enhancement Resnet Module,FE-Resnet),其运算原理如图1所示,主要包含通道注意层、卷积层、BN层和Rule层以及DropBlock层.其中通道注意层如图1右侧所示,给定局部特征A∈RC×H×W,首先将其经过一个卷积层,分别生成两个新的特征映射B和C,其中{B,C}∈RC×H×W,将B和C进行矩阵变维成RC×N,其中N=H×W为像素数;然后对B和C的转置之间进行矩阵乘法,再通过softmax层计算,使每个通道的权重归一化0到1之间,得到通道注意特征图X∈RN×N;最后将A进行矩阵变维成RC×N,然后在A与特征图X的转置之间执行矩阵乘法,获得最终输出特征图E∈RC×H×N.其原理运算表示为:

图1 特征增强残差模块Fig.1 Feature enhancement residual module

(1)

其中,Aj为输入通道特征图;Bi和Cj为生成的特征映射;Ej为输出通道特征图;i和j为不同的特征通道.

残差模块基本思想如下,首先输入层l设置为xl,经过两个3×3卷积层,每层中含有DropBlock和BN归一化以及Relu激活函数,分别避免过度拟合和梯度消失,输出为xl+1,则残差网络表示为:

(2)

xl+1=h(xl)+F(xl,wl)

(3)

2.2 密集空洞卷积模块

深度学习的最新研究表明,由文献[17]所知,通过增加卷积滤波器的感受野对于提取更多血管细小特征信息是及其重要的.在大多数的方法中使用池化层和增大卷积核大小来增大感受野,然而池化操作会导致血管细小特征信息的丢失,而增加卷积核大小会导致计算参数过大.针对这些问题Chen等[18]提出空洞卷积减少池化操作和增大卷积核大小即可调整特征点的感受野.空洞卷积数学定义如下:

(4)

其中,x为输入特征映射,y为卷积的输出,w为卷积核,k为卷积核大小,n为输入信号的步幅,经空洞卷积后卷积核大小为k′=k+(k-1)(n-1).通过增大空洞率的大小来自适应调整感受野的大小.同时,受文献[19]启发,密集模式下的卷积特征重用使网络更加高效.为了简化网络模型,保留血管的多尺度特征,提取更多血管细小特征信息.提出密集空洞卷积(Dense Atrous Convolution,DAC)模块,本文的方法不同于现有的级联模式和并行模式,如图2所示.

图2 密集空洞卷积模块Fig.2 Dense atrous convolution module

在该模块中,空洞卷积以串联模式堆叠,其模型有4个分支,首先经过卷积核大小为3×3空洞率为1的分支,对输入的血管特征图进行特征提取,然后将获得的特征信息作为最终特征图的一部分,同时也作为下一分支的输入,以此类推.随着空洞卷积的数量逐渐增加,空洞率从1到1、3和5,每个分支的感受野变为3、7、9和19.在每个空洞分支中,采用一个1×1卷积进行校正线性激活,最后采用密集连接重用特征信息.通过DAC模块可以增大感受野提取多尺度血管特征,有效地提取细小视网膜血管特征信息.

2.3 三端空间注意模块

虽然在特征提取部分增加FE-Resnet模块和DCA模块,可以更有效地提取多尺度特征和细小的血管特征信息,但是在跳跃部分会带有冗余和背景噪声等信息.因高分辨层级具有丰富的空间特征;低分辨层级具有更清晰的语义特征.受AGs模型[20]启发,提出了三端空间注意模块(Three-terminal Space Attention Module,TSA).AGs是利用深层空间特征包含重要的语义信息过滤浅层特征噪声的干扰,输出为浅层特征信息.TSA是将编码部分不同层级具有不同分辨率的特征信息进行自适应融合,通过跳跃连接传送至解码部分,以增加信息的重用并促进血管结构信息的传输,消除视网膜图像复杂背景中的噪声和冗余信息,突出细小血管的结构信息.其数学定义如下:

P1=TSA(H1,maxpooling(H2,2),maxpooling(H3,4))

(5)

P2=TSA(H2,upsample(H1,2),maxpooling(H3,2))

(6)

P3=TSA(H3,upsample(H1,4),upsample(H2,2))

(7)

其中,TSA为三端空间注意模块,maxpooling为下采样,upsample为上采样,P1、P2和P3分别为每个阶段的特征输出.三端空间注意TSA3模块如图3所示,首先各阶段通过最大池化过程作为下采样与当前阶段成相同比例的特征图,然后将不同层次的特征信息级联融合起来,之后经过1×1卷积、全局平均池化和sigmoid激活函数生成空间权重图,将权重与高分辨率特征逐像素相乘,最后通过残差法添加.通过引入TSA模块跳跃连接,跳过方法缩短了从高分辨率阶段到低分辨率阶段的信息传输路径,消除血管特征图中的噪声和冗余信息,并聚焦于视网膜血管区域以增强语义表达,使之更准确地分割视网膜血管.

图3 三端空间注意模块Fig.3 Three-terminal space attention module

2.4 网络模型

针对眼底视网膜图像复杂背景中的噪声干扰和细小血管分割不足,导致视网膜血管分割精度低等问题,本文提出融合多层空间注意的U型视网膜血管分割算法,其网络模型如图4所示.本文算法在U型网络模型基础上,采用了4层编码和解码结构,初始卷积层采用3×3卷积,特征通道数变为32;

图4 视网膜血管分割网络模型结构图Fig.4 Retinal vessel segmentation network model structure diagram

再将提取的血管特征通过FE-Resnet模块,防止网络过拟合和梯度消失,特征通道数不变,增强血管分割特征通道;最大池化过程作为下采样,降低池化层的空间维度;将编码层最后一层的特征通过DAC模块,提取不同尺度、不同感受野的血管特征,提高网络的分割性能;再将编码部分不同层次的特征信息通过TSA模块自适应融合传送至解码部分,以消除噪声的干扰,准确分割视网膜细小血管;通过反卷积运算进行上采样以修复图像细节和空间维度;对最后一层解码器的深度特征映射输入至带有sigmoid激活函数的1×1卷积中,获取所最终预测图像,从而提高网络模型对血管分割能力.

3 实验过程和结果分析

3.1 实验平台及数据集

本文算法模型实验设备采用NVIDA GeForce RTX 3050Ti Laptop GPU,16GB内存.使用DRIVE和STARE公开眼底图像数据集来验证本文算法模型的有效性.

DRIVE数据集[21]包含40张像素大小为584×565的彩色眼底视网膜图像,分为20张训练图像和20张测试图像.这其中33张图像没有任何病理表现,其余图像里包含少量的糖尿病迹象.STARE数据集[22]包含20张像素大小为605×700的彩色眼底视网膜图像,这其中10张图像包含病理迹象,其余图像没有任何病理表现.由于官方没有划分数据集和测试集,为了公平与其他算法进行比较,本文算法采用留一法[23]进行交叉验证.在训练和测试阶段采用k-flod(K=4)交叉验证,因此在每个折叠中15张图像用于训练,其余5张图像用于测试.每张图像由两位专家手动分割,一张作为分割标准,另一张作为结果对比,这两个数据集是分析视网膜血管分割性能最常用的数据库.

3.2 图像预处理

因数据集中的视网膜图像亮度不均匀、对比度低和有噪声的干扰.为了提高血管分割的效果,在数据增强之前需要对原始图像进行预处理,如图5所示.首先将原始RGB眼底视网膜图像转化为单通道灰色图像;然后采用归一化和对比度受限自适应直方图均衡化(CLAHE)方法改善灰度细节并增强对比度;最后采用局部自适应伽马变化算法调整亮度,进一步校正不同区域的视网膜图像并抑制不均匀照明.

图5 DRIVE数据预处理Fig.5 Data preprocessing of DRIVE

由于眼底视网膜图像数据集有限,基于数据增强应用于网络模型中训练,在图像上随机裁剪为64×64像素块状,并沿着垂直轴和水平轴进行翻转扩充数据集,防止网络会过拟合.图6为DRIVE数据集输入网络模型的训练样本和标签.在训练过程中,采用交叉熵损失函数,其数学公式如下:

图6 DRIVE数据集训练的样本和标签Fig.6 Training samples and labels of the DRIVE dataset

(8)

3.3 评价指标

视网膜血管分割是将眼底视网膜图像的像素划分为血管部分和非血管部分,为了分析本文算法对视网膜血管分割结果的性能,本文使用了敏感度(Sensitivity,Se)、特异性(Specificity,Sp)、ROC曲率下方的面积AUC(Area Under the Curve)和准确率(Accuracy,Acc)等指标来评估本文算法的性能.评估的计算公式如下所示:

(9)

(10)

(11)

其中,TP为真阳性,表示正确分割血管像素数目;TN为真阴性,表示正确分割非血管像素数目;FP为假阳性,表示错误分割血管像素数目;FN为假阴性,表示错误分割非血管像素数目.

3.4 实验结果对比

3.4.1 实验细节

本文算法实验模型是基于python的深度学习框架,使用Adam优化器,学习率设置为1×10-3,为了确保模型的快速收敛,采用多项式学习率衰减方法调整学习率,每迭代10次学习率会逐渐减小为原来的1×10-1,实验采用的batch_size为8,迭代总数为50,DropBlock中的block_size设置为7,在训练过程中会保存最好的模型和准确率.

3.4.2 与最先进的算法比较

为了进一步证明本文所提视网膜血管分割算法具有一定的优势,将本文所提算法与3种先进的算法进行比较.包括U-Net[11]、DenseU-Net[19]和AttU-Net[20].基于相同的实验设置和训练策略,在DRIVE和STARE数据集上进行了实验.血管分割实验结果如图7所示,U-Net作为最常用的网络模型,不仅出现主血管断裂问题,而且还出现将病理信息作为血管分割现象.基于特征重用的思想,DenseU-Net网络采用了重复密集卷积块,其性能优于U-Net网络,主血管处稳健性较强,但是在微血管末端会丢失大量的细小血管,导致灵敏度偏低,还存在产生了带有假阳性预测的噪声结果.AttU-Net网络采用加入注意力机制,抑制不相关背景噪声的干扰,但在微血管分割细节方面体现出其局限性,导致对细小血管分割精度较低.本文算法不仅与专家手动分割出的微血管数量基本一致,而且分割出细小血管更加合理不会出现断裂现象,保证了血管树的连通性,同时消除噪声的干扰.综上所述,本文算法能够对主血管与微血管精确分割保留更多血管的纹理信息和边缘特征,同时具有一定的抗噪能力,从而实现了对不同类型血管较为健全的分割,说明本文算法具有较好的鲁棒性.

图7 不同算法分割结果Fig.7 Different algorithm segmentation results

3.4.3 细节分割效果对比分析

为了更清晰地说明本文算法的性能优异性,如图8所示,本文算法与文献[11,19]在DRIVE和STARE数据集上的局部区域进行比较.图8(a)~图8(c)分别为原图、原图细节和金标准细节;图8(d)~图8(f)分别为文献[11]、文献[19]和本文算法分割细节.

图8 不同算法分割结果细节对比Fig.8 Comparison of the details of segmentation results of different algorithms

由第1行可知文献[11,19]在细小血管分割方面体现出其局限性,出现不同程度的细小血管在交叉和分叉处分割断裂现象,而本文算法能够更好地保留细小血管且不易出现断裂现象,对细小血管分割有很高的准确度.由第2行可知,在视盘区域血管树复杂多变,对血管精确分割难度较大.文献[11,19]存在主血管的特征信息丢失问题,出现微血管分割不足和噪声点,而本文算法能够对主血管精确分割保留完整的血管结构,抑制背景噪声干扰.通过对局部分割结果的比较与分析,说明本文利用FE-Resnet代替传统卷积增强了对血管的分割能力,能有效突出细小血管特征信息,且对不同结构的血管实现较好地分割;而DAC通过增大感受野捕获血管多尺度特征,将丰富、密集的语义信息传送至解码部分,促进了主血管和细小血管的分割;同时TSA提升了网络模型对不同形状和尺度血管精确分割的能力,且有效抑制背景噪声的干扰.实验表明,本文算法分割结果优于其他算法,从而说明本文算法在分割血管上具有较强的泛化能力.

3.4.4 分割效果客观分析

为了充分说明本文算法在U-Net基础上改进的有效性,与不同的U-Net改进算法分割性能进行比较,在DRIVE和STARE数据集上测试了准确率、灵敏度、特异性和AUC等指标值.如表1所示,其中加粗的为最优值,在DRIVE数据集上,U-Net比本文算法的特异性略高0.16%,但本文算法相比U-Net的准确率、灵敏度和AUC值等指标分别提升了0.34%、4.45%和0.25%,在以上算法中均达到了最佳值.在STARE数据上,本文算法相比U-Net的准确率、灵敏度和AUC值等指标分别提升了0.41%、7.66%和0.47%,比以上算法特异性值略低,与最大差距DenseU-Net仅低0.36%,但准确率、灵敏度和AUC值等指标分别提升了0.32%、7.21%和0.47%.充分说明了本文算法在U型网络基础上改进的有效性和高效性.

表1 DRIVE、STARE数据集性能评价结果Table 1 Performance evaluation results of DRIVE and STARE data sets

为了更直观地体现本文算法的优越性,结合ROC曲线和AUC标准来进一步评估不同网络的性能.如图9所示,基从两个数据集计算的ROC曲线和AUC值,本文所提算法的ROC和AUC值均优于其他先进算法.说明本文算法存在误分割可能性较小,对细小血管分割能力较强,分割出更多的血管数目,具有较好的分割优越性和稳定性.

图9 不同算法分割的ROC曲线Fig.9 ROC curve segmented by different algorithm

3.4.5 本文算法和其他算法血管分割指标对比

为了进一步证明本文算法在视网膜血管分割中的性能,将本文所提算法与近年来先进算法在DRIVE和STARE数据集上进行了比较,比较结果如图表2和表3所示,其中加粗为最优值.在DRIVE上准确率、灵敏度和AUC值都实现了最优,从而说明本文算法能够有效、准确地区分血管像素和背景像素,以及本文算法在视网膜血管分割优越性能,在血管分割中假阳性率低.文献[10]利用滤波器提取血管特征,其特异性略高于本文算法0.13%,但本文算法准确率和灵敏度分别比其高0.18%和7.69%,且在以上算法中均达到最优值,说明本文算法总体性能更优.在STARE上本文算法准确率和AUC值都达到了最优,说明本文算法存在误分割可能性较小.文献[27]其灵敏度值高于本文算法1.72%,但是其准确率、特异性和AUC均低于本文算法,说明文献[27]虽然假阴性低,但是存在细小血管分割不足和非血管像素被误分割现象.文献[25]特异性高于本文算法0.12%,但是其灵敏度比本文算法低于2.26%,主要原因是其分割了更多未经专家标注的小血管,导致更多的假阳性,说明本文算法在保证较高的准确率的同时分割的血管图像假阳性更低.综上所述,本文算法相对其他算法具有较小的误分割现象,对伪影和噪声等病灶具有较好的鲁棒性,对细小血管分割具有很高的精确度,这说明本文算法在视网膜血管分割中具有很高的性能.

表2 DRIVE数据集对比结果Table 2 Comparison results of DRIVE data set

表3 STARE数据集对比结果Table 3 Comparison results of STARE data set

3.4.6 消融实验

为了验证本文算法加入各模块的有效性,在DRIVE和STARE数据集上进行消融实验.表4、图10和图11分别表示各模块的指标统计比较、局部分割图像和ROC曲线的结果,分别对本文算法的灵敏度、特异性、准确率和AUC值等各指标进行测试.其中M1表示传统U-Net网络模型;M2表示在M1基础上加入FE-Resnet;M3表示在M2基础上加入DAC模块;M4表示在M3基础上加入TSA模块,即本文所提算法.

表4 各模块对整体模型的影响Table 4 Influence of each module on the overall model

图10 不同模型局部分割图像Fig.10 Partially segmented images of different models

图11 消融实验的ROC曲线Fig.11 ROC curve of ablation experiment

由表4可知,M1仅采用传统U-Net网络对视网膜血管分割有较好的效果,但其各项指标需要进一步提升.M2相比M1其各项指标有大幅度提升,效果更优,说明加入FE-Resnet对网络模型在训练过程中快速收敛,且提高了网络模型对细小血管分割的能力.M3与M2相比效果进一步提升,说明DAC可以增大感受野提取更丰富的多尺度血管特征,但其准确率提升不明显,说明在细小血管分割方面还有欠缺.M4与M3相比灵敏度和准确率均有明显的提升,说明TSA通过融合不同层次的特征消除背景图像的噪声和冗余信息,解决了细小血管分割不足问题.根据上述实验表明,本文所提算法具有一定的有效性和合理性.

为了进一步证明本文所提模型对于眼底图像中的噪声有很好的处理效果,在消融实验中各选取了DRIVE和STARE数据集上的一张局部特征图进行比较和分析.图10展示了不同模型对含有病理特征的眼底图像血管局部分割图像,其中第一行为DRIVE数据集的视网膜图像,第2行为STARE数据集的视网膜图像.图10(a)为原始局部图,图10(b)为金标准局部图,图10(c)~图10(f)分别为M1、M2、M3和M4局部图.从实验结果来看,M1分割结果图中含有大量的噪声干扰,将一些病灶误分割为主干血管;M2和M3分割结果图中都含有不同程度的噪声干扰,存在少量的病灶误分割现象;而M4分割结果图和金标准图基本一致,病灶误分割有了大幅度消除,主干血管边界清晰,主干血管较完整.通过对局部分割结果图的比较和分析,从而说明本文算法在网络中加入TSA模型的有效性,能够有效抑制眼底图像中的噪声干扰.从而体现本文算法可以对视网膜血管实现更加精确地分割,表现出较好的分割效果和较高的稳定性.

为了进一步直观地表现本文算法的优越性,图11表示在DRIVE和STARE数据集上的ROC曲线走势图.M1到M4AUC值都有明显的提升,说明各模块对血管分割的高效性.M4的ROC曲线更接近左上角,说明本文所提网络模型对血管误分割的可能性更小,正确分割血管数目更多,对细小血管分割性能更强.结果表明,本文算法对血管分割性能越优,各模块设计的合理和高效,鲁棒性越强.

4 总 结

针对眼底视网膜细小血管分割不足和抗噪声能力弱导致血管分割精度低等问题,提出一种融合多层空间注意的U型视网膜血管分割算法.本文结合残差块和通道注意机制的优点设计了FE-Resnet,防止网络过拟合和梯度消失,增强血管分割通道特征,提取更多的细小血管特征信息;同时,提出的DAC模块,在不增加参数量的情况下增大感受野,提取多尺度的视网膜血管特征;最后在跳跃阶段提出TSA模块,对视网膜血管特征进行自适应细化,融合不同层次的特征信息,消除复杂背景图像中噪声干扰,提高血管分割精度.通过实验表明,本文算法在DRIVE和STARE数据集上能分割出平滑清晰不同形状和细小的血管,保证了血管的连续性和完整性.本文视网膜血管分割算法性能优于其他算法,能够有效地分割视网膜血管的结构.但本文算法对含有较多病灶和低对比度的图像仍存在少数血管断裂及误分现象,今后将进一步提高模型的分割性能.

猜你喜欢

细小视网膜卷积
深度学习在糖尿病视网膜病变诊疗中的应用
基于3D-Winograd的快速卷积算法设计及FPGA实现
家族性渗出性玻璃体视网膜病变合并孔源性视网膜脱离1例
高度近视视网膜微循环改变研究进展
从滤波器理解卷积
猪细小病毒感染的防治
基于傅里叶域卷积表示的目标跟踪算法
复明片治疗糖尿病视网膜病变视网膜光凝术后临床观察
犬细小病毒病(CPV)的诊断与治疗
为善小 传播爱——乐善好施从细小处开始