夏 平,何志豪,雷帮军,彭 程,王雨蝶
(1.三峡大学 水电工程智能视觉监测湖北省重点实验室,湖北 宜昌 443002;2.三峡大学 计算机与信息学院,湖北 宜昌 443002)
视网膜的相关疾病易导致视网膜的损伤[1,2],如糖尿病常见并发症之一的糖网病[3]使视网膜产生新生血管、或大片视网膜血管缺血,引起视力下降、复视等症状;利用视网膜图像分割中血管的粗细、弯曲度以及空间结构特性,医生可以诊断视网膜是否存在病变或结构异常,因此,视网膜血管分割用于辅助医生分析和研究视网膜疾病[4,5],对视网膜相关疾病的预防和治疗具有重要的意义[6,7]。视网膜血管粗细变化跨度大,既有明显的粗血管,也有大量细小血管,且血管与背景边界模糊;此外,血管结构类似树支状,各枝节相互交错,分支和分叉结构复杂;且视网膜血管病变程度不同,造成血管粗细、对比度以及血管结构特征发生明显变化。因此,视网膜血管的分割存在一定的困难。
传统机器学习的视网膜血管分割主要有模糊C均值(FCM)聚类[8]、多方向滤波[9]、多尺度小波算子等方法。传统算法主要存在表达视网膜图像的特征并不充分,算法泛化能力局限于通过人工设计特征而设计的算法模型[10]。随着深度学习技术的发展与在医学领域中的应用,基于深度学习的视网膜血管分割取得了优良的分割效果。文献[11]采用Unet编解码结构应用于医学图像分割,编码器提取特征信息并降低图像尺寸大小,减少计算量,解码器将提取的特征恢复到原始图像大小,保留更多空间信息。Unet3+[12]在其基础上,使用全尺度的跳跃连接将不同尺度捕获细粒度的细节和粗粒度的语义结合,并用深度监督从多尺度聚合的特征图中学习层次的表示。SA-Unet[13]网络引入空间注意力模块,沿空间维度推断注意力权重图,并将注意力权重图与输入特征图相乘,进行自适应特征细化;此外,采用结构化的dropout卷积块代替UNet卷积块,降低过拟合,提升分割精度。FR-Unet[14]网络通过多分辨率卷积交互机制进行水平和垂直扩展,同时保持全图像分辨率,并提出了双阈值迭代算法(DTI)来提取弱血管像素,以改善血管连通性。虽然这些方法在分割精度上有一定的提升,但没有很好地关注视网膜图像的全局信息,网络没能获取到足够复杂的特征信息,导致模型对细小血管分割不充分和误分割情况。
针对视网膜血管图像的特点,本文提出了全尺度密集卷积U型网络的视网膜血管分割方法。本文主要工作:结合密集网络和多尺度信息特点,提出了CCF-DB模块作为模型的编解码结构,取代了传统U型网络编解码部分的卷积结构,提升网络宽度并增加了前层特征的复用率,使得网络能够更好地提取血管树状结构的特征信息,有利于提高模型的分割精度。此外,在网络的最底层和最上层加入了注意力机制,提升了感受野,抑制了无关的背景区域信息。最后,模型的解码和网络最底层采用全尺度的特征融合,使网络更加关注视网膜图像的全局信息,提升了捕获多尺度血管特征信息的能力。网络提升了对细小血管处的分割,减少了细小血管的误分割。
全尺度密集卷积U型网络结构如图1所示。网络整体采用U型结构,主要由CCF-DB模块、MACC-DB模块和全尺度连接的解码器组成。网络通过一个3×3卷积将通道数扩充至32,再经过CCF-DB模块构成U型网络的编解码结构;CCF-DB模块由卷积模块和级联卷积模块(cascaded convolutional block,CCB)模块构成。在卷积模块中执行BN(batch normalization)、LeakyRelu、3×3卷积和Dropout操作;在CCB模块中执行BN、LeakyRelu、1×1卷积、3×3卷积、5×5卷积和Dropout操作;卷积模块用于提取血管特征信息,CCB模块进一步丰富特征信息,增强网络对血管特征信息的提取能力。CCF-DB模块增加前层信息的复用率,进一步降低细小血管信息的丢失,加快网络的收敛和降低过拟合。通过不断的下采样提取到血管不同尺度的信息。U型网络底端采用MACC-DB模块,其由级联聚合模块(cascade aggregation block,CAB)、CCF-DB、卷积模块的注意力机制模(convolutional block attention module,CBAM)构成。CAB由级联的不同大小卷积、Maxpool和Avgpool组成。CBAM由串联的通道注意力和空间注意力组成。MACC-DB模块能够提升感受野,抑制背景噪声,更容易获取血管的拓扑结构,以提升分割精度。模型的解码部分从MACC-DB模块开始,输入均为前层模块分支特征融合后的信息,增强网络对不同尺度信息流动并让网络重视不同尺度的特征信息。在4次上采样后图像恢复至原来的大小,最后通过1×1的卷积降低通道后经过softmax得到预测图。
图1 全尺度密集卷积U型网络结构
为了更好提取视网膜图像中的血管特征信息和保留细小血管的信息,提升网络深度以及增强信息流动显得尤为重要。文献[15]提出一种密集连接网络,将前面所有层的输出特征连接到当前层的输入上,从而增强了模型的特征重用和梯度信息的流通能力。这种结构可以有效地利用参数、提高特征重用率、减少梯度消失的问题、增强模型的表达能力和泛化能力。
本文结合网络深度和信息的流动的特点,构建了CCF-DB模块作为视网膜血管分割模型的编解码结构,如图2所示。CCF-DB模块主要由卷积模块和CCB模块组成;卷积模块主要由BN、LeakRelu和3×3卷积组成;CCB模块如图3所示,由3个并联的卷积模块提取特征信息后相加,这种结构能够有效提升网络模型的复杂度和深度,同时不会过度增加参数和计算量,在保证模型高效性的同时,提升了模型的特征提取和泛化能力。网络输出
(1)
图2 CCF-DB结构
图3 CCB结构
式中:Qi表示第n层输出的特征图,F表示卷积模块的复合函数操作;G表示CCB模块的复合函数操作;[·]表示合并特征通道操作。在不大量增加参数同时提升网络特征提取能力,当密集卷积的第8层或者8的倍数层时,使用CCB模块提取特征,其它层采用普通卷积模块。
小尺寸卷积能够提取视网膜小血管区域信息,较大的卷积能够提取大区域的目标且滤去一些假阳性;平均池化能够起到平滑和降噪的作用且提取到全局的血管信息,最大池化能够保留特征图中的最显著的特征,起到突出图像主体的作用。文献[16]提出了一种级联结构,使用不同大小的卷积来提取不同尺度的特征,这种结构能够提取到不同尺度下的粗细血管特征。受此启发,本文在U型网络的最底层构建了MACC-DB模块;MACC-DB结构核心思想是通过多个级联卷积核和池化核来捕捉不同尺度的视网膜图像特征。通过在不同的尺度上捕捉图像的不同大小特征,得到更丰富的特征信息,提升感受野,从而提高模型的分类性能。如图4所示。该模块由串联的CAB、CCF-DB、CBAM组成。CAB由级联的1×1卷积、3×3卷积、5×5卷积、Maxpool、Avgpool最后相加组成,如图5所示。这种网络结构能够提取更加丰富的信息,使网络在不同的分支中学习到不同的特征,增加网络的深度和复杂度。CBAM[17]由串联的通道注意力模块和空间注意力构成,能够抑制无关的背景区域,增加目标区域的权重。其输出为
图4 MACC-DB模块
图5 CAB结构
O=B(Q(D(x)))
(2)
式中:D表示CAB模块的复合函数操作;Q表示上文CCF-DB模块的函数操作;B表示CBAM的混合注意力函数操作。通道注意力和空间注意力如式(3)所示
Mc(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F)))=
σ(W1(W0(Fcavg))+W1(W0(Fcmax)))
Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))=
σ(f7×7([Fsavg;Fsmax]))
(3)
式中:σ表示Sigmoid函数,f7×7表示一个卷积操作,使用7×7的卷积核。W0∈RC/r×C,W1∈RC×C/r。MLP的权重W0和W1是共享的,用于处理两个输入,并且ReLU激活函数先于W0被执行。
基于全尺度密集卷积U型网络的视网膜血管图像分割的具体算法:
步骤1 对视网膜图像进行预处理:
(1)将原始RGB图像每个通道赋予图像灰度化计算的权重,如式(4)所示
GrayImg=0.299R+0.587G+0.114B
(4)
(2)进行对比度受限自适应直方图均衡化处理;
(3)应用伽马变换,调整图像的亮度和对比度,提高图像的可识别性和鲁棒性;
(4)随机取48×48像素大小的窗口并对局部图像块进行随机旋转操作,通过数据增强扩大数据集。
步骤2 采用Adam优化算法训练模型,学习率设置为5e-5,batchsize为16,迭代50次训练,并设置early-stop为10,保存最好权重;
步骤3 网络主要采用4次下采样和上采样,首先将原始图片经过预处理后,通过3×3卷积将通道扩到32,再经过编解码器,最后通过1×1的卷积降低通道后经过softmax得到预测图;
步骤4 使用测试集验证网络效果,并得到分割图和评价指标值;
步骤5 模型分割效果评价。
本文实验中采用的数据集见表1。
表1 实验数据集
本文实验基于GeForce GTX 1080显卡的服务器,配备Intel Core i7-8700K处理器,操作系统为Ubuntu16.04,采用Pytorch 1.7.1为框架的环境进行对比实验。实验中使用交叉熵损失函数和Adam算法进行优化,初始学习率为5e-5。训练轮次为100,batch size为16。
将视网膜血管的分割结果与专家标注的金标准对比,将像素归为4类:①真阳性(true positive,TP),表示该像素位置与金标准同为血管像素;②假阳性(false positive,FP),表示该像素位置为血管像素,金标准则为背景像素;③真阴性(true negative,TN),表示该像素位置和金标准位置上同为背景像素;④假阴性(false negative,FN),表示该像素位置为背景像素。
本文采用敏感性、特异性、F1-score、准确率和AUC来衡量算法分割视网膜图像的效果。如表2所示。
表2 视网膜血管分割性能指标
为验证本文方法的分割效果,在同一实验环境下将本文方法分别与Unet[11]、UNet3+[12]、SA-UNet[13]和FR-Unet[14]等近年视网膜血管分割经典网络方法进行了对比实验。
3.4.1 分割效果
图6和图7给出了本文算法与U-Net[11]、U-Net3+[12]、SA-Unet[13]、FR-Unet[14]在DRIVE和CHASE_DB1数据集分割效果。从图中可以看出,本文算法的血管分割效果与标签图最为接近,且对视网膜细小血管的分割效果好。如图8所示,除了本文方法,其它方法在背景区域和主干分叉血管出均产生了细小血管的误分割。并且本文方法血管分割连通性最好。如图9中,在CHASE_DB1数据集的中心背景光照区域,其它算法均在该区域产生大量误分割,本文算法在此未出现假阳性。因此,本文方法能够更好地处理光照、病变区、边缘区等异常噪声区域,表现出较好的抗干扰性能。
图6 DRIVE数据集上不同算法分割效果
图7 CHASEDB1数据集上不同算法分割效果
图8 DRIVE数据集上的细节分割效果
图9 CHASE_DB1数据集上的细节分割
3.4.2 分割效果客观评价
表3中给出了不同算法在同一实验环境下的评价指标对比;加粗部分为最好的性能表现,本文方法在DRIVE数据集上,除敏感性略低于SA-Unet、FR-Unet算法,特异性略低于U-Net3+外,其它指标均为最优结果。在CHASE_DB1数据集上,本文方法在AUC和ACC指标上具有更高的优势,AUC指标高,反映了模型能够更正确分类正负样本的能力,说明本文网络能够更好区分血管和背景区域,网络能够更好区分假阳性或假阴性。ACC指标反映了模型正确分割血管的能力,这一指标高验证了本文网络对细小血管分割效果更好。
表3 实验结果对比
3.4.3 消融实验
为说明本文网络中单元模块对视网膜血管图像分割的贡献,在DRIVE数据集上进行消融实验,加粗部分为最好的性能表现,如表4所示,由表4可知,仅加入CCF-DB模块后,网络的综合能力更高,能够提取更丰富的特征信息,但对细小血管分割和误分割表现力不强,准确率和AUC偏低。在此基础上,加入MACC-DB模块后准确率和AUC都有提升,网络能够更好保留部分提取的细小血管信息。在加入FSC(full-scale connected)全尺度跳跃连接后,本文网络结构能够提取到更丰富的血管信息并保留细小血管的信息,在模块合理构建后的分割性能最佳。
表4 消融实验
本文提出了一种全尺度密集卷积U型网络用于视网膜血管图像的分割。在网络中,通过级联卷积融合密集块,在保留前层特征信息的同时,提取不同尺度的血管信息,提高网络前层特征复用率,降低细小血管经过若干神经网络层后造成的信息丢失;编码层捕获丰富的不同尺度特征信息,经过混合注意力级联卷积密集块,进一步提升感受野,对于输入数据中局部变化进行平滑和减少噪声的影响,提高模型的鲁棒性。网络提取不同分辨率下不同尺度的特征信息,并补充上下文间的信息流动。实验结果表明,本文算法的综合性能优于近年的视网膜血管图像分割网络;此外,可视化分割结果表明,网络精准地分割视网膜粗血管的同时,减少了相关的细小血管误分割。后续工作将其衍生至计算机断层扫描血管成像中[18],有助于辅助医生分析、预防和诊断视网膜疾病。