APP下载

基于边缘增强和特征金字塔的视网膜血管分割网络

2023-01-09夏嘉勒孔凡辉马吉权

黑龙江大学自然科学学报 2022年3期
关键词:算子视网膜卷积

夏嘉勒, 孔凡辉, 马吉权

(1.黑龙江大学 计算机科学与技术学院, 哈尔滨 150080; 2.黑龙江大学 数据科学与技术学院, 哈尔滨 150080)

0 引 言

视网膜血管图像分割是医学图像处理和分析领域的重要研究内容,分割结果(视网膜血管和视盘等)的形状、大小测量和总面积可以为疾病的早期表现提供重要依据[1]。由于视网膜血管图像拥有复杂的纹理和结构信息,分割难度较大,因此,对于视网膜血管图像的分割目前主要依赖于手工标注。视网膜血管分割算法可以分为无监督模型和有监督模型两类。无监督模型是自动分割视网膜血管的最常用方法,具有代表性的有匹配滤波[2]、基于血管追踪的分割[3]和基于模型的分割[4]三类方法。无监督模型不需要依赖标注好的标签数据训练,因此,无监督模型无法对真实结果进行学习,准确性较低。不同于无监督模型,有监督模型通过利用手工标注的数据进行训练,一般分为两个阶段进行视网膜血管分割:特征提取和像素点分类。在基于机器学习算法的有监督模型中,有利用K-近邻分类器(K-neares neighbor, KNN)[5]和支持向量机(Support vector machine, SVM)[6]对手工标注标签数据集进行学习的视网膜血管分割方法,这些方法在当时取得了优于无监督模型的分割表现,但这些模型仅在特定数据集上进行了学习,缺乏泛化能力,且需要手工提取特征,分类器不能自动学习新的特征,只能应用于特定任务上。同为有监督模型,基于深度学习的方法通过使用大量数据来自动学习特征,具有更好的泛化和识别能力。在图像分割领域,最具有代表性的深度学习方法就是卷积神经网络(Convolutional neural network, CNN)[7]。在医学领域中,U-Net是最为广泛使用的图像分割网络,U-Net通过跳跃连接和添加额外的扩展路径来融合不同尺度的特征表述,成功地利用了包含丰富信息的低级特征,在小型数据集上有着出色的性能[8]。受U-Net的启发,提出了许多基于U-Net的改进网络,从网络结构的角度出发对U-Net进行了改进,可以减少由连续下采样层造成的信息丢失。Wang等引入了特征细化路径到U-Net中,该方法分别将低级特征图发送到编码器和解码器中的高级层,从而提高了编码器的详细表示能力和解码器的判别能力[9]。Xu等将网络设计成了可递归结构,通过语义引导模块来获取来自更广泛区域的语义信息,并通过递归迭代的方式来逐步提高性能[10]。一些研究从先验知识的角度出发,在网络中加入了更多先验知识。Zhang等提出了网络将视网膜血管按厚度分为了两类,并将其作为附加标签应用到U-Net中,这一方法引用了无监督方法中常用的边缘检测算子,获得了更好的效果[11]。从原图中得到的先验知识可能有助于网络更好地学习,一些研究尝试将更多的先验知识加入到神经网络中,Moccia等将图像梯度信息与特征层进行融合,这一方法简单有效地保护了血管边缘信息,但梯度算子也将部分图像中的噪声放大,对网络造成了干扰[12]。卷积是CNN模型中最基本的组成部分,一些研究从引入更好的卷积模块方向出发。Alom等将U-Net中的传统卷积更换为了重复残差卷积块,这使得网络性能有所提升[13]。Laibacher等则将U-Net中的传统卷积更换为MobileNetV2 中的深度可分离卷积(Depthwise separable convolution, DSC),并在解码部分使用双线性插值上采样代替了传统的反卷积以减少参数[14-15]。可变形卷积块(Deformable convolution)能够通过学习偏移自适应地调整感受野,从而捕获各种形状和尺度的视网膜血管。Jin等成功将可变形卷积引入视网膜血管分割并提升了网络性能[16]。特征金字塔是数字图像处理中的一种常用方法,它能够更好地提炼出特征的重要部分。Wang等成功将特征金字塔引入视网膜血管分割,在下采样层底端对特征进行了进一步提炼,从而提升了模型的分割性能[17]。

上述方法从各个角度对U-Net进行了有效的改进,证明了对于模型中卷积方法或网络结构的改良能够提高模型的性能,同时,加入特征金字塔和引入无监督算法在一定程度上也能够提高网络性能。这些方法也为我们的研究提供了宝贵经验和重要依据。为了有效地改进U-Net,本文引入多频卷积(Octave convolution)[18]到U-Net中,同时,将无监督边缘检测方法和特征金字塔方法嵌入到了网络层,具体而言,使用基于梯度算子的边缘增强模块引导网络更好地分割血管结界,同时使用特征金字塔模块帮助网络提取到更丰富的语义信息,并将传统卷积部分替换为Octave卷积来减少特征冗余问题,帮助网络更好地提取特征。实验结果证明,本文提出的融合改进方法取得了更好的性能。

1 融合边缘增强和特征金字塔的视网膜血管分割网络

1.1 网络结构

本文提出了一种基于U-Net的改进网络,为融合边缘增强与特征金字塔的分割网络。首先利用Sobel算子获取图像边缘并作为先验信息加入到网络中,以无监督的方式提高了血管边界与背景的对比度,增强了边界特征,提高了网络对不明显的细小血管的分割能力;然后,因Octave卷积具有压缩特征中冗余信息和提取更多语义特征的作用,以Octave卷积替换U-Net中的卷积层来减少采样过程中的特征损失,并消除强化边缘带来的噪声和其他冗余,最后通过多尺度特征金字塔结构提取更多的语义特征,提高分割结果中血管的连续性。BEMF-Net的结构如图1所示,该网络由下采样部分、上采样部分组成,呈U型结构。在输入层,将预处理过的192×192的灰度图像输入网络。使用Octave卷积替代了原始U-Net中的卷积,因此本网络中每层的特征都由主特征和冗余特征构成,且冗余特征的通道数和尺寸均小于主体特征。将边缘强化模块部署在下采样阶段,首先通过边缘强化模块对原图进行处理,得到灰度权重图,并重新调整权重图的尺寸,与每层特征进行融合(本文采用矩阵元素相乘的方式)。在下采样阶段结束后,重新整合特征中的主体部分与冗余部分,并输入到特征增强模块中进一步提炼特征。其中特征增强模块由若干池化层和空洞卷积块组成,能够从多个尺度对原特征进行提取。得到提炼过的特征后,将特征再一次分解为主体特征和冗余特征两部分,并送入上采样部分。该模型保留了U-Net中的通道拼接方法,将下采样部分的特征与上采样特征进行了通道拼接以提高性能。最后,在输出层重新整合特征中的主体部分与冗余部分,并通过1×1卷积得到192×192×1的单通道预测图并输出。

图1 融合边缘增强和特征金字塔的视网膜分割网络(BEMF-Net)

1.2 边缘增强模块

在数字图像处理中,一般使用一阶或二阶导梯度算子提取图像中的高频边缘信息。利用梯度算子获取边缘并将其作为先验知识加入到网络能够提高网络的性能。边缘增强模块的概念最早由Zhang等提出,能够强化图像弱边缘信息[19],本文对其进行了改进。本文的边缘增强模块基于Sobel算子实现,其结构如图2所示。

图2 Sobel算子模板

Sobel算子由一个3×3的横轴算子和1个3×3的纵轴算子两部分组成,图2(a)部分为Sobel的纵轴算子,该算子沿着图像的y轴移动,能够提取图像y轴方向上的梯度信息,图2(b)部分为Sobel的横轴算子,该算子沿着图像的x轴移动,能够提取图像x轴上的梯度信息,使用Sobel算子对图像进行边缘提取,得到两个方向上的幅度图,并对两部分算子计算出的梯度信息进行融合处理,梯度计算公式为:

(1)

式中:I为输入的灰度图;Gx和Gy依次为横轴和纵轴方向上的幅度图;G为综合两个方向幅度的最终幅度图。

接着抽离彩色眼底血管图像中的Green通道图作为待检图样,对图样进行归一化处理后,应用Sobel算子检测获取梯度图,图3(a)为眼底血管的原图,图3(b)为Sobel算子处理得到的梯度图,此时已经可以辨识出清晰的血管轮廓。得到幅度图后,以式(2)对幅度图进行转化,得到权重图如图3(c)所示。

(2)

式中:(xloc,yloc)为像素点的横、纵坐标;t为坐标对应梯度值;λmax为设置的最大幅度阈值;λmin为设置的最小幅度阈值;k为放大倍率;β为自定义偏移值。

Zhang等提出的边缘增强模块在转换权重图时着重于提高弱血管部分的权重。本文着重于提高噪声和背景部分的权重来提高血管和背景的对比度。首先通过恰当的阈值设置使区间[λmin,λmax]恰好包含除血管外的部分,对图像中占比更大的背景部分进行处理,并赋予更高的权值。最后将权重图与原图特征作元素相乘,这样就得到了在不影响血管部分灰度的前提下,突出背景及图像噪声(同时拉近了两者之间的灰度差),并提高了血管与背景之间对比度的图像。图3(d)为权重图与原图元素相乘的结果,血管部分呈暗色,背景部分呈白色。相比于原图3(a),血管与背景的对比度得到了显著提高,细小的、不明显边缘经过增强处理后也能变得清晰可见。

图3 边缘增强的各个阶段

梯度阈值的合理与否会直接影响到边缘增强模块的效果,CHASE_DB1数据集中的图像存在光照不均衡的问题,对合理阈值的选取造成了困扰。因此,在图像送入边缘增强模块之前,本文尝试通过对输入图像进行批标准化处理(Batch normalization,BN)以提高背景与前景之间的对比度,在实际调试中发现,灰度图像经过BN处理之后会更容易从中找到合适的阈值区间[λmin,λmax]以分离血管和背景,该方法对于光照不均匀的CHASE_DB1数据集有着较好的改良效果。

1.3 Octave卷积

为了减少特征中的冗余信息,提高运算效率和网络性能,本文引入了Octave多频卷积块。Octave卷积实际上是多层卷积的复合使用,由特征拆分、多频卷积和特征融合三部分组成。特征拆分部分如图4所示。其中,褐色方块代表特征主体部分,蓝色方块代表特征冗余部分。N、W、H和C依次分别表示特征的数量、宽度、高度和通道总数,拆分出的特征通道C以比率Rin乘以原特征通道数,特征拆分层将单一特征分别通过卷积和池化卷积拆分出主体和冗余两部分,冗余部分的宽和高是主体部分的一半,两部分的通道总数之和与输入特征一致。特征拆分卷积被布置在输入层之后及下采样底层,后续衔接多频卷积。

图4 特征拆分,Rin为输出时通道比率,Rin∈[0, 1]

多频卷积部分是Octave卷积最重要的部分,主要组成如图5所示。其中,主体部分与上采样卷积后的冗余部分进行特征融合; 冗余部分与池化卷积后的主体部分进行特征融合,实现两个部分信息的有效交换融合。

图5 多频卷积,Rout为输出时通道比率,Rout∈[0, 1]

两部分特征融合的过程如图6所示,其中,冗余部分通过上采样卷积与卷积后的主体特征进行特征相加融合,融合后的通道数为主频通道数。Octave卷积在理论上能够减少冗余信息的计算,提高训练速度,减少内存占用,该多频交互融合的方式能够提高特征的利用率。

图6 特征融合,Rin为输出时通道比率,Rin∈[0,1]

1.4 特征金字塔模块

池化层能够提炼特征,减小特征图的尺寸从而降低整体计算量,并扩张感受野,提高模型的非线性表达能力。若对同一特征进行不同尺度的池化操作,就能获取到不同尺度的特征,如果能将这些不同尺度的特征通过通道拼接或元素相加等方式进行融合,可能会得到更加丰富的特征。本文将Wang等提出的特征金字塔级联块(Feature pyramid cascade block,FPCB)[17]置入U-Net底层以提取更多语义特征,结构如图7所示。输入的特征分别通过大小为2、3和4的池化层得到3个不同尺寸的池化结果,并经过连续3次扩张率逐渐衰减的膨胀卷积/空洞卷积,其中,特征经由2×2池化层后对应的扩张率依次为6、5和4;经由3×3池化层对应的扩张率依次为5、4和3;经由4×4池化层对应的扩张率依次为4、3和2。

图7 特征金字塔级联块

膨胀卷积能够有效地扩大感受野,但可能会破坏原有特征,为此通过矩阵元素相加的融合方式将原有特征融合到了卷积结果当中以保持原有特征信息。随后,将得到的三种不同尺度的特征进行上采样放大,通过特征通道拼接的融合方式将3种不同尺度特征与输入特征进行融合。最后通过卷积将通道数进一步调整到原特征的通道数,进一步提炼特征。

2 实 验

实验使用的深度学习框架为Tensor Flow1.14,实验GPU为8 GB内存的RTX2070,数据集为DRIVE[20]和CHASE_DB1[21]。

2.1 实验数据集

DRIVE数据集包含40张分辨率为565×584的图片,CHASE_DB1数据集包含28张分辨率为999×960的图片,两组数据集带有手工绘制的血管分割图。从DRIVE数据集分出20张图像用于训练,20张图像用于测试;从CHASE_DB1数据集分出20张图像用于训练,8张图像用于测试。本实验将所有图像Resize为576×576分辨率的图像,并取彩图中的G通道作为灰度图输入。在预处理上,本文对数据集进行了图像增强和切片处理以扩充数据,从每张图片中裁剪出600张不完全重叠的192×192分辨率的切片,得到的总数为12 000张,将切片顺序打乱,取9 600张切片用作训练集,2 400张切片用作验证集对照;对于DRIVE数据集中测试部分所用的20张图样,将每张图片无任何重叠地切割为9张192×192分辨率的切片,总数为180张;对于CHASE_DB1数据集中测试部分所用的8张图样,同样,将每张图片切割为9张192×192尺寸大小的切片,总数为72张。

2.2 评估标准

本文将准确度(Accuracy,ACC)、灵敏度(Sensitivity,SE)、特异性(Specificity,SP)、F1分数模式(Fl-score,Fl)和曲线下的面积(Area under ROC,AUC)作为评价网络的分割性能的指标。

ACC用于评价模型预测结果与正确答案之间的误差,其计算公式为:

(3)

式中:TP(真阳性)代表标准答案中正类被预测出的数目;TN(真阴性)代表标准答案中负类被预测出的数目;FP(假阳性)代表标准答案中正类被预测错误的数目;FN(假阴性)代表负类被预测错误的数目。

灵敏度SE等同于召回率Recall,用于评价模型区分正类的能力,其计算公式为:

(4)

与灵敏度相反,特异性SP用于评价模型区分负类的能力,其计算公式为:

(5)

F1是综合评价指标,考虑了精确度和灵敏度/召回率的关系,其计算公式为:

(6)

AUC能够合理评估一个分类器的分类能力,受样本分布均衡度的影响小,分类的混淆矩阵如表1所示。

表1 混淆矩阵

2.3 实验配置

实验数据集为DRIVE(共40张图像)和CHASE_DB1(共28张图像)。实验训练的迭代次数为144 000,Batch-size设置为1E-4,每2 400次保存一次模型,共保存60次模型,在迭代96 000次后损失趋于收敛,将学习率降低至1E-5训练至144 000次。关于边缘增强模块的具体参数设置为λmin=30,λmax=100,k=2,β=1。

2.4 眼底血管分割检测实验

所提出的网络对于DRIVE数据集的分割结果如图8所示,网络对于DRIVE数据集的分割结果如图9所示。由图8和图9可以看到,所提出的BEMF-Net的预测结果在总体上非常接近标注结果。为了进一步观察分割效果,对图像进行放大,如图10所示,与U-Net在细小血管上分割效果相对比,本文方法预测出的血管更加完整,但仍然存在血管不连续的问题,与手工标注的结果还存在一定差距。

图8 在DRIVE数据集上的分割结果

图9 在CHASE_DB1数据集上的分割结果

图10 模型对数据集上细小血管的预测结果

分割性能评估结果如表2(DRIVE数据集的分割性能评估)和表3(在CHASE_DB1数据集的分割性能评估)所示。

表2 模型对DRIVE数据集的检测结果

表3 模型对CHASE_DB1数据集的检测结果

由表3可得,本方法在两个数据集上均取得了最高的ACC、AUC和F1-score。在实验的过程中注意到,提高SE和SP中的一类是容易的,但两者存在此消彼长的关系,极端情况下可能会出现SE=1但SP=0的情况(即全部预测为正类),这两个指标只能关注到两类中的一类,而ACC、AUC和F1-score是基于血管和背景两类来评估的。因此,更高的ACC、AUC和F1-score比起SE和SP更能证明一个模型的分割能力。本文提出的BEMF-Net在这两项任务中获得了最高的ACC、AUC和F1-score,并取得了优于已有模型的性能表现。如图10所示,BEMF-Net对于细小血管的预测结果优于U-Net,提高了分割结果中血管的完整性和连续性。

3 结 论

视网膜血管图像分割一直是医学图像处理和分析领域的重要研究内容,分割结果的形状、大小测量和总面积可以为危及生命疾病的早期表现提供重要依据。长期以来对视网膜血管的分割工作一直依靠医生手工标注完成,此方法既昂贵又耗时。过去,研究人员提出了不同的视网膜血管分割算法,无监督模型的准确性有限,而基于机器学习的有监督模型需要手工制作特征来进行训练,其泛化性有限。目前,基于深度学习的有监督模型被广泛用于包括视网膜图像在内的图像分割,此方法具有更强的泛化性和准确性,取得了优于无监督模型的性能。虽然使用卷积神经网络模型进行医学图像分割在各个方面取得了优于传统方法的结果,但现有的方法的精度和准确率还不能达到要求,因此,有必要对现有的视网膜血管图像分割方法进行进一步的研究与改进。本文提出了一种基于边缘增强和特征金字塔的视网膜血管分割网络,该网络成功地融合了两种改进方法的优点,针对视网膜血管分割过程中出现的血管边界丢失问题,使用基于一阶导梯度算子的边缘增强方法为网络提供了无监督的边缘先验知识,提升了模型对于血管边界的感知能力。此外,在边缘增强的基础上,使用特征金字塔级联模块增强网络对于语义特征的提取能力,进一步提升了预测结果中血管的完整性。实验结果证明,相比于U-Net等模型,BEMF-Net取得了更好的分割性能,能够更好地分割出细小血管,提高了血管的完整性和连续性。本文提出的改进模型从卷积方式、边缘增强和多尺度特征三个方面对网络进行了改良,成功地提升了模型的分割精度和准确率,后续存在着较大的改进空间,可为以后的工作提供很好的基础。

猜你喜欢

算子视网膜卷积
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
深度学习在糖尿病视网膜病变诊疗中的应用
斜对角算子矩阵的Weyl谱
基于3D-Winograd的快速卷积算法设计及FPGA实现
家族性渗出性玻璃体视网膜病变合并孔源性视网膜脱离1例
高度近视视网膜微循环改变研究进展
球结膜下注射庆大霉素致视网膜损伤1例
Domestication or Foreignization:A Cultural Choice
卷积神经网络的分析与设计
从滤波器理解卷积