APP下载

基于上下文特征的视网膜血管分割算法

2022-02-18彭仁杰梁礼明冯骏尹江

科学技术与工程 2022年2期
关键词:支路解码卷积

彭仁杰, 梁礼明, 冯骏, 尹江

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

视网膜疾病如糖尿病型视网膜病[1]严重损害人们的血液循环系统,可能导致高血压等疾病。而临床中视网膜中的血管必须依靠眼底照相机辅助观察,由于血管结构复杂、不均匀血管且对比度差,同时照明不均匀和存在大量非血管背景等原因,利用计算机对眼部血管进行辅助分割是非常具有挑战性的课题。在传统图像处理领域如水平集[2]算法和传统机器学习领域如随机森林[3]算法,其算法效果对特征选择有强依赖性,不具备很强的泛化性。随着深度学习的发展,对于图像分割不再需要手工设计提取特征,CcNet[4]通过交叉连接融合主要和次要路径的多级特征分割血管,然而该网络在分割病灶附近的血管时会误认为细的血管也要用细的和粗的血管融合来获得完整血管。文献[5]采用U-Net架构并引入上下文解码器,这种上下文解码器使用密集扩张卷积来提取更多高级特征。在DDNet[6]中将密集扩张块结合到编码解码架构中使得网络更加有效,但是多个扩张块在提取特征的过程中会导致特征弥散,分割血管出现过粗现象。文献[7]提出边缘条件的生成对抗网络,在融合轮廓信息的同时进行多路径特征提取,但是网络参数量极大且训练过程不稳定。

上述算法存在的诸多问题,现提出对应改进方案:针对文献[7]存在参数量极大且训练不稳定的问题,本文算法采用编码解码结构,其中编码器采用多感受野残差编码模块大幅度缩减网络参数量并引入空间注意力和特征映射保证训练过程的稳定性;针对文献[5]在血管分割过程中采用双路径导致细血管分割过粗问题,在网络内部采用多分支U-block结构通过网络训练自动融合特征,同时解决浅层卷积特征映射过程中特征提取不充分的问题;为了解决文献[5-6]中大量扩张卷积导致的特征弥散问题,引入非对称金字塔非局部模块和非对称融合非局部块直接提取图像中存在的长期依赖关系并融合网络中的上下文信息,同时通过自注意机制缓解特征弥散情况,以期提升模型的准确性和泛化性。

1 图像预处理算法原理

对于给定图像I,利用霍特林变换(Karhunen-Loeve, K-L)分析三个通道统计信息,筛选出最不相关的组合方式,并将三通道图片加权融合成一张灰度图。考虑到经过变换融合后的灰度图像血管结构和背景对比度并不明显,因此在图像归一化后采用限制对比度自适应直方图均衡化操作,同时引入gamma矫正和非锐化掩蔽抑制噪声并进一步提高血管与背景对比度。

(1)

Id=Iγ+λ(Iγ-Iγ*Gσ)

(2)

式中:Ig为经过加权融合后的灰度图像;γ为gamma矫正系数;Iγ为gamma矫正的灰度图像;Id为预处理后的灰度图片;λ为边缘增强系数;*为卷积操作;Gσ为二维高斯卷积核,即

(3)

式(3)中:x、y为对应图片像素点坐标;σ为高斯函数标准差。最后得到的图片去除了大部分噪声,同时提升血管与背景的对比度,如图1所示。

图1 原图及预处理后的图片Fig.1 Original image and preprocessed image

2 网络结构

2.1 多感受野残差编码模块

早期通过不同大小的卷积核、短连接和残差模块使多尺度特征学习能力不断深化。与大多数利用不同分辨率的特征方法提高效果不同,文献[8]提出一种简单而有效的多尺度处理方法,该网络多尺度是指在更精细水平上的多个可用感受野。用多个低通道的卷积核代替一个3×3的高通道卷积核,并以类似于残差分层的方式连接。将特征图按照通道方向分裂成大小一致的4个部分:第一部分特征直接映射;第二部分经过3×3卷积后特征图一部分直接映射,而另一部分与下一部分特征图融合,并进入下一部分卷积中,如此重复。最后将4部分特征图用1×1卷积核融合。所提方法在更精细的级别上利用多尺度的潜力,与以往单个3×3卷积相比,改进模块分别拥有1、3、5、7四重感受野。具体公式为

(4)

式(4)中:i为对应支路;ki为对应支路3×3卷积操作;xi为模块对应支路输入的特征图;yi为模块对应支路输出的特征图。结构如图2所示。

为了更加有效地提取图片中微小血管的信息,本文将两个多尺度残差瓶颈块串联堆叠以实现更大的感受野,并引入改进空间注意力机制使得编码模块更加关注于感兴趣的重要特征部分。改进空间注意力机制在原有文献[9]的基础上,仅保留最大

图2 多感受野残差模块Fig.2 Multi-receptive field residual module

池化操作汇集特征,并在此之前用1×1卷积降维减少参数量,并通过步长为2的卷积操作减少特征图大小。再利用最大池化层汇集特征后由两个3×3卷积代替原有7×7卷积。然后通过上采样操作恢复到原来的分辨率并与未进行处理的特征进行融合提高网络泛化性,最后通过1×1卷积恢复到原来的通道数并通过sigmoid归一化获得注意力特征图(图3)。

图3 改进空间注意力层Fig.3 Improved spatial attention layer

2.2 特征融合部分

一些研究表明,如果充分利用网络的长期依赖关系,性能可以得到大幅度的改善[10]。卷积计算和递归计算分别在空间和时间上处理局部邻域,需要逐步传播信息才能捕捉长期依赖关系。由于单个卷积核的感受野非常有限,仅依赖卷积操作难以完全覆盖相关的区域。但如果使用大的卷积核或者深的网络则需要大量的计算量和参数,效率低下。虽然近几年扩张卷积的出现缓解了这个问题,但是扩张率过大会导致提取的特征弥散,反而对最终的结果造成不利的影响。而后出现的多尺度全局操作如空洞空间卷积池化[11]( atrous spatial pyramid pooling, ASPP)、金字塔池化[12]( pyramid pooling module, PPM)一定程度上缓解了上述问题。

为了整合更多场景级语义上下文信息和语境信息,提出诸如条件随机场(conditional random field,CRF)等技术以引入全局上下文和结构化信息,虽然功能强大但是体系结构复杂。文献[13]将

深度学习和传统非局部块(non-local block)方法结合起来。将给定输入量分为Query、Key和Value三条支路,将Query和Key两条支路的每张特征图转换成一维,并进行矩阵乘法得到一个关联型矩阵,再通过softmax层后实现注意力机制。接着将归一化后的关联矩阵与Value支路矩阵相乘,得到经过距离依赖加强后的特征图。考虑到矩阵乘法所带来的高复杂性,同时Key和Value两条支路只需要抽取几个代表性的点就能显著提高性能。文献[14]提出一种简单而有效的非对称金字塔非局部模块(asymmetric pyramid non-local,APN),将金字塔池化策略和非本地块相结合起来,既可大幅度减少计算量,又能减小冗余特征的干扰,能够简单高效地捕捉深度神经网络的长期依赖性。网络结构如图4所示。

同时不同层次的特征融合有利于最终的分割效果[15]。针对一般的非局部模块仅有一个输入,本文引入非对称融合非局部块(asymmetric fusion non-local block, AFN),从两个不同的层次获取输入特征图,能够继承APN的优点,在不影响性能的情况下更高效地提取整张图片隐含的长期依赖关系。其表达公式为

(5)

(6)

(7)

(8)

将得到的相似性矩阵归一化并与Value支路中的二维特征向量矩阵相乘并用1×1卷积恢复其通道数。

图4 特征融合模块Fig.4 Feature fusion module

YF=Wo(WsVFθv)

(9)

式(9)中:Ws为softmax矩阵归一化操作;Wo为1×1卷积操作;YF为最终输出。

2.3 U-block特征解码模块

以往解码模块大多采用多个卷积核串联堆叠,从底部特征图和同分辨率编码器特征映射融合解码。但从底部传递的特征在下采样过程中会出现特征损失,而从编码器映射过来的特征提取并不充分,仅通过单个卷积层线性堆叠很难进行有效的解码。文献[16]提出了两级嵌套U型结构,显著性对象检测取得巨大成功。受此启发,提出一种微型U型特征解码模块(U-block)作为解码单元,针对以往的U-net网络解码器收集来自底层部分缺失特征和同分辨率编码部分的特征提取不充分问题。该模块以中间特征图为输入,融合多尺度上下文信息并进行二次编码,有效地提取来自编码器未充分编码的特征,提高特征聚合能力。多尺度特征在逐步下采样的过程中蒸馏信息,并通过逐渐上采样、连接和卷积解码成高分辨率的特征图。该过程减轻了由高通道3×3卷积直接上采样导致的精细细节损失。同时模块使用多个池化操作且卷积核个数较少使得增加了整个体系结构的深度而并没有显著增加计算成本。为了兼顾速度,考虑到越小特征图在池化过程中信息丢失越严重的问题,对不同位置的U-block块深度进行调整。

2.4 网络大体架构

基于上下文特征的视网膜血管分割算法,其网络主要分为3个部分:解码器、编码器和上下文特征融合。解码器由3组多感受野残差编码器模块组成,中间由3组最大池化层连接,对经过预处理后的图片进行特征提取。上下文特征提取模型由3个扩张率分别为1、2、4的3×3扩张卷积以及两个长期依赖关系提取模块组成:AFN和APN,能够最大化的提取到图片中存在的长期依赖关系并进行有效的特征融合。解码器则由3个不同深度的U-block组成,对来自底层和同分辨率编码器特征映射两部分进行融合并二次编码,再进行深度解码,尽可能多地解码出特征,通过上采样操作将特征图还原到初始分辨率大小,最后通过sigmoid层获得最终的分割;如图5所示。

3 实验内容及结果

3.1 实验环境及数据集

基于Ubuntu16.04操作系统,使用tensorflow2.0端口进行模型训练。计算机配置为Nvidia GeFore GTX2070 GPU,Intel Core TM i7-6700H CPU,16 G内存。CUDA版本为10.0。优化器采用Nadam优化算法,epoch为50,初始学习率为1×10-3,前20个epoch不衰减,batch size为16。

选用DRIVE数据集来评估所提方法,采用第一金标准图片作为训练标签,第二金标准图片作为测试标签。DRIVE数据集包括分辨率为565×584的20张训练集图片和20张测试集图片。

3.2 数据扩充及预处理

由于数据集在原始采集过程中会出现伪影、畸变等情况,血管与背景之间的对比并不明显。因此先采用K-L变换加权融合三通道图片获得最优灰度图,然后利用自适应直方图均衡各部分图片亮度,并采用上面提到的预处理进一步提升血管与背景之间的对比度。同时因为DRIVE数据集训练集数据量小,因此对数据进行旋转,每隔18°旋转一次,这样可以将数据扩充到原来的20倍,即DRIVE数据集400张训练图片。虽然经过一定量的数据扩充,但是如果拿整张图片进行训练模型容易过拟合并在测试阶段图像出现误分割形成伪影。因此为了更好地适应小数据模型,同时增强泛化能力,采用大小64×64的滑动窗口对原图进行随机采样,并取其中信息熵最高的20 000张小碎块作为训练图片。测试时将原图均匀裁剪成64×64的小碎块,滑动步长为10,每个像素点的值有多个碎块加权求得,并通过预设阈值确定像素点的种类。

图5 网络结构图Fig.5 Network structure diagram

3.3 视网膜血管评价指标

定义以下指标用于定量分析网络性能:

(10)

(11)

(12)

式中:TP、TN、Fp和FN分别为真阳性、真阴性、假阳性和假阴性;σaccuracy为准确率,是指正确分类血管像素和正确分类背景占整张图片像素的百分比;σsensitivity为敏感度,指的是正确分类血管像素占真实血管像素的百分比;σspecificity为特异性,指的是正确分类的非血管像素占真实非血管像素的百分比。同时通过真阳性率和假阴性率之间的关系绘制受试者工作特征曲线(receiver operating characteristic curve, ROC)并求出ROC曲线下与坐标轴围成的面积(area under curve, AUC)。

3.4 实验结果分析

3.4.1 不同视网膜分割算法对比分析

为了更好地反映本文算法血管分割性能,现与多位其他学者提出的算法进行对比,表1给出了不同算法的准确率、灵敏度、特异性和AUC值。

本文算法与传统U-Net算法相比在算法准确率、敏感度、特异性和AUC方面分别提高了0.09%、6.11%、2.76%,算法整体性能较优。虽然本文算法在准确度方面低于文献[24],但是在其他三个方面都有很大提升。图6为部分实验对比结果。

视网膜血管结构复杂且多变,而且数据集样本数量少,极易受到外界条件和病变区域干扰。图7为血管局部的一些分割细节对比图,包括交叉血管、微血管和低对比度血管。从对比分割结果来看,本文所提算法通过引入多感受野编码模块、捕捉长期依赖关系的非对称金字塔局部模块及多个U-Block,有效地避免网络分割过程中出现伪影、微血管断裂和误分割的情况。能够克服低对比度、病变等因素的影响。

表1 DRIVE数据集视网膜血管分割结果对比Table 1 Comparison of retinal vessel segmentation results in DRIVE dataset

图6 不同算法对比图 Fig.6 Comparison results of different algorithms

图7 局部血管区域分割图Fig.7 Partial vessel region segmentation images

5 结论

提出了一种新的基于编码-解码结构的视网膜血管分割算法[24]。首先利用K-L变换转换成灰度图,融合经过自适应直方图均衡化、gamma矫正和非锐化掩蔽,在去除噪声的同时提升血管与背景的对比度;然后利用3个多感受野残差编码模块对输入的图片进行特征提取,并在底部进行全局长期依赖关系的获得并进行有效的特征融合;最后经过3个深度不一的U-Block及上采样对图形进行重构。本文算法能够较好地解决由于样本不足而造成的误分割,能够很好地捕捉到目标复杂的形态。但是对于部分微小血管依然有误分割,无法完美识别病灶区域,同时模型参数量较高。因此以后的工作重点集中在对病灶部分的识别和对部分网络结构优化以减少参数量。

猜你喜欢

支路解码卷积
一种新的生成树组随机求取算法
《解码万吨站》
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
解码eUCP2.0
从滤波器理解卷积
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
支路不对称发电机故障下定子电磁力仿真分析
基于傅里叶域卷积表示的目标跟踪算法