杨 兵,刘晓芳,张 纠
(1.中国计量大学计算机应用与技术研究所,杭州 310018;2.中国计量大学电子信息与通信研究所,杭州 310018;3.浙江省电磁波信息技术与计量检测重点实验室,杭州 310018)
医学图像分割对于研究人体解剖结构和制定诊疗计划起到重要作用[1],其目的是分割出医学图像中感兴趣的部分并提取相关特征,为临床诊断以及病理学研究提供可靠信息基础。传统的图像分割方法通过人工设计或抽取一系列的图像特征,并将这些特征用于一些分类器,从而完成分割任务。然而此类分割方法具有一定局限性,其有时只能处理一些简单的分类(分割)问题,难以解决复杂问题,此外,人工设计的特征是个人的主观结果,是否能表征数据的内在特征也没有明确的界限和定义。
近年来,以卷积神经网络(Convolutional Neural Network,CNN)为代表的深度学习技术在医学影像自动分析中得到广泛应用。针对多模态脑部分割问题研究者提出了多种方法。文献[2]提出一种全卷积神经网络用于婴儿脑部区域分割,通过单独训练每个模态的图像数据,将高层特征融合用于最后的分割,从而利用编码-解码网络结构实现了对婴儿脑部的准确分割。文献[3]提出一种深度卷积神经网络用于3 种主要脑组织的分割,通过提取脑部图像块训练CNN,将多种模态的图像数据作为输入,网络输出同时具有多种模态图像的底层特征。针对网络上采样所带来的信息丢失导致分割效果欠佳的问题,文献[4]提出一种半密集网络同时对两种模态的脑部数据进行分割,采用早期融合策略融合两种模态的脑部图像特征,在此基础上通过全连接层对特征信息进行聚合。针对眼底图像分割问题,研究者也做了相关研究。文献[5]提出一种全新的分割策略,针对输入眼底图像块,该方法输出给定图像块的所有像素的预测概率图,而不是一次输出中心像素的单个预测概率。文献[6]将可分离卷积与全卷积神经网络结合用于眼底血管分割,在进行增强对比度等预处理技术的基础上,以可分离卷积替代传统卷积方式来增加整个网络的宽度,此外还引入通道加权机制对特征重要性进行显示建模。
上述方法针对脑部图像和眼底图像分割问题构建不同的分割框架,能够实现准确有效的分割,但存在以下问题:下采样虽然可以减小特征尺寸和增加计算效率,但也会不可避免地带来特征信息损失的问题,对分割精度有一定影响;上采样通常使用插值或反卷积运算实现,在扩大特征分辨率的同时也会引入一些非特征噪声,对图像的特征提取不友好;虽然采用跳跃连接方式进行简单的通道拼接能够在一定程度上保证分割结果的精细化,但特征聚合程度较低,不能充分利用深层特征丰富、抽象化的信息对浅层特征进行调整。
本文基于深度特征聚合策略提出深度特征聚合网络DFA-Net。通过三级特征表示并对特征做精细化调整,解决上采样与下采样所带来的信息损失问题。同时利用特征聚合层对中间层和基础层进行特征优化,使网络能够更好地学习特征。此外,在特征聚合模块(Feature Aggregation Module,FAM)中结合深层特征与浅层特征的互补信息对两者进行加权调整,使调整后的特征具有更强的表达能力。
卷积神经网络(CNN)是一种全监督学习方式[7-8]。与传统分割方法不同,CNN 可以通过自主学习数据特征完成学习任务而无需人工干预,因此其被广泛应用于计算机视觉[9]、文本翻译[10]、语音识别[11]等领域。由于CNN 能够同时学习图像的局部特征和全局特征,并且随着网络层数加深还可学习深层特征,其比人工设计图像特征更高效,因此基于CNN 的分割方法能够得到比传统分割方法更好的效果。
在医学图像分割领域,U-net[12]在分割生物细胞方面取得了较好的效果,其主要由特征编码、特征解码和特征融合三部分组成。首先通过卷积、池化以及一定次数的下采样运算完成对原始输入图像的特征编码,编码后的特征通常具有较低维度,然后通过上采样(插值、反卷积)、卷积等运算对编码后的特征进行解码,这一过程又称为分辨率放大。跳跃连接作为U-net 的特征融合策略,其主要通过同级特征通道叠加的方式进行特征聚合,这对于分割结果的精细化较为重要。U-net 在医学图像分割领域的成功应用引起了学者的广泛关注,在U-net 基础上改进的3D-Unet[13]、Unet++[14]、H-DenseUNet[15]相继被提出,但基本网络结构依然延续U-net,整体框架没有改变。此外,在医学图像分割领域,全卷积神经网络(Full CNN,FCN)[16]也是常用的CNN 框架,其主要以卷积层代替全连接层,使网络可以接受任意尺寸大小的图像输入,同时还增加了反卷积层,使上采样也能够通过反向传播学习网络参数,如文献[17]提出的基于3D FCN 的多尺度损失网络,其通过卷积和反卷积学习分割参数优化了网络模型。
本文提出的深度特征聚合网络DFA-Net结构如图1所示。DFA-Net 主要分为4 个部分,分别为基础特征表示层(简称基础层)、中间特征聚合层(简称中间层)、深度特征聚合层(简称聚合层)以及FAM。首先,基础层通过卷积、池化等操作得到具有不同分辨率大小的特征图,然后通过上采样增大特征图分辨率,这一过程也称为特征解码。如图1 所示,基础层经过3 次下采样和3 次上采样,在下采样的过程中,基础层特征不仅传递到下一个卷积层,而且还传递到中间层。中间层对来自基础层的特征做进一步特征聚合,这一过程也通过聚合层和FAM 来实现。聚合层将中间层的特征进行通道拼接,目的是聚合两者特征,形成更丰富的底层特征。中间层和聚合层之间通过FAM模块传递聚合特征(Aggregated Feature,AF),同时,中间层也将聚合特征通过裁剪(crip)和通道拼接(concat)的方式传递给基础层,由此形成基础层、中间层、聚合层的特征传递方式。本节将详细介绍3 个特征表示层以及FAM 模块。
图1 DFA-Net 整体结构Fig.1 Overall structure of DFA-Net
DFA-Net 中的基础层以卷积神经网络为框架,如图2 所示,其中,B1~B7表示基础层特征。与U-net 结构不同的是,基础层去掉了跳跃连接结构。U-net 中跳跃连接的目的是实现不同特征层之间的信息融合,然而此融合方式只是简单地将上层特征拼接到下层特征,没有考虑到上下层特征之间的特征差异以及特征不匹配的问题。为此,本文设计的DFA-Net 以中间层、聚合层和特征聚合模块代替跳跃连接结构。此外,基础层中还增加了批归一化(Batch Normalization,BN)操作,目的是减小因反向传播而导致网络参数出现偏移的影响。
图2 基础层网络结构Fig.2 Network structure of basic layer
DFA-Net 基础层可表示为:
其中,Ox表示输入x的输出结果,f表示卷积、池化、BN 等运算,Fx表示特征图,θ表示f学习到的网络参数。
作为特征聚合单元,DFA-Net 中间层和聚合层的设计主要是为了增强基础层的特征表示并减少基础层的特征信息损失,这两层的网络结构如图3 所示,其中,conv1~conv5表示卷积运算,f1~f6表示中间层特征,J1~J4表示聚合层特征。
中间层负责抽取基础层的中间特征,其在传递中间特征给聚合层的同时也对中间特征做进一步特征聚合。此层具有5 个卷积操作,对于从基础层抽取的中间特征,其通过卷积运算进一步提取深层特征。由图2 可知,基础层包含3 次下采样和3 次上采样操作,对于每次上采样或下采样得到的特征,中间层都会抽取基础层特征进行后续的卷积运算来进一步提取深层特征。因此,中间层5 个卷积操作覆盖了基础层中所有的上采样以及最后一级下采样过程。此外,中间层在进行第2 次卷积操作后,以裁剪和通道叠加的方式对基础层最后一级下采样操作得到的底层特征进行信息补充,增强了其特征表达能力。
图3 中间层与聚合层网络结构Fig.3 Network structure of intermediate layer and aggregation layer
中间层第1 级特征f1可表示为:
其中,f表示基础层第1 级卷积、BN 等运算,x表示输入图像,θ表示f的网络参数。从第3 级特征f3开始,中间层加入了聚合特征,第2 级~第6 级特征f2~f6分别表示为:
其中,⊙表示逐元素相乘,M1~M5分别表示中间层中的5 次卷积运算,参数θ1~θ5分别表示5 次卷积运算的卷积核参数,F1~F4表示聚合特征AF-1、AF-2、AF-3、AF-4。
中间层的功能可归结如下:1)抽取基础层中间特征;2)进一步提取深层特征;3)作为中间网络接收聚合特征AF 的输入,对中间特征做精细化调整。
为减少下采样和上采样带来的信息损失,中间层将聚合后的特征f3~f6分别传递给位于基础层最后一级下采样特征B4、第1 级上采样特征B5、第2 级上采样特征B6和第3 级上采样特征B7,特征传递方式为裁剪和通道叠加。由图3 可见,聚合层位于网络底部,其目的是为了进一步聚合中间层特征。为增加聚合特征的信息,采用通道拼接的方式对中间层特征进行聚合。聚合层进行了4次聚合运算,除第1次聚合运算外,其余3 次聚合运算都会输出聚合特征AF。虽然聚合运算采用通道叠加的方式,如第1 次聚合运算,但并不是简单地将原始特征进行通道水平上的叠加。在图3 中,中间特征f2经过一次中间卷积运算后再与中间特征f1进行叠加,这样可以避免直接进行通道拼接所带来的特征不匹配问题。此外,进行一次卷积运算又能够进一步提取深层特征。聚合层特征J1~J4可表示为:
其中,⊕表示通道叠加。
聚合层具有的功能可归结为:接收中间特征输入并聚合深层特征,同时作为特征聚合模块FAM 的输入,输出深度聚合特征。
如图4 所示,特征聚合模块以中间层特征f和聚合层特征J作为输入,各通过一次卷积运算后得到fc和Jc。为进一步补充特征维度和丰富信息量,通过通道叠加以及对应元素相加的方式得到聚合特征A1,后续又分别经过一次卷积和SoftMax 函数激活聚合特征得到A3。特征A3具有中间层特征f以及聚合层特征J的共同信息。此外,经过几次卷积后,A3还具有各自深层次信息。
图4 特征聚合模块结构Fig.4 Structure of feature aggregation module
特征A3由特征A1经过一次卷积和SoftMax 函数得到,特征A1在中间层特征和聚合层特征的基础上做了特征聚合操作(对应元素相加以及通道叠加),使得特征A1的特征信息相比于原始中间层特征和聚合层特征更为丰富。此外,特征A1还具有中间层特征与聚合层特征的共同特征信息。此后,分别经过一次卷积控制特征通道数以及经过SoftMax 函数后得到特征A3,在特征A1的基础上,特征A3对特征A1做进一步特征提取,得到更为抽象的权值特征。利用特征A3所含有的特征信息量,FAM 通过对应元素相乘的方式分别对特征fc和Jc进行赋权,利用聚合特征对中间层特征和聚合层特征进行信息补充。最后通过元素相加以及1×1 卷积操作充分融合两者的特征信息,得到聚合特征AF。FAM 中聚合特征A1以及激活特征A3分别表示如下:
其中,⊕表示特征通道叠加,θ1和θ2分别表示fc和Jc的卷积参数,θ3表示A2的卷积参数。得到特征A3后,先分别对特征fc、特征Jc进行赋权,再对赋权后的特征进行对应元素相加,最后通过一次卷积操作调整通道数,使聚合特征AF 的特征通道数与中间层特征的通道数相同。一方面,特征A1来自于中间层特征f以及聚合层特征J,特征A1在聚合两者特征信息的同时也加入了两者独有的特征信息;另一方面,特征A2是由特征A1经过一次卷积操作而来,保证了特征A2在特征A1的基础上做进一步特征抽取和特征通道数调整,为此后的特征加权过程奠定基础。最后,特征A3在特征A2的基础上,使用SoftMax 函数激活特征A2,保证了特征A3具有一定程度的突出特征识别能力。此后,对于中间层特征以及聚合层特征的加权过程充分融合了两者的特征信息,使得最终得到的聚合特征具有以下特点:1)具有融合中间层特征与聚合层特征的特征表达能力;2)深度挖掘了中间层特征与聚合层特征的共有信息,使用注意力机制,加强了特征聚合模块FAM 的特征表达能力;3)提供了中间层与聚合层的特征信息传递通道,进一步增加了中间层特征的信息聚合能力。特征A3对基础特征以及聚合层特征的加权过程可表示为:
其中,⊙表示对应元素相乘,fA4表示特征A4与特征A5之间的卷积操作,θA4表示fA4中的卷积核参数。
FAM 具有的功能可归结如下:1)再次融合中间层特征和聚合层特征,激活聚合特征;2)分别对中间层特征和聚合层特征做加权调整,丰富特征信息。
基础层中,每个阶段的卷积核数量分别为128、256、512、1 024,卷积核大小为3×3,同时,设置基础层上采样的方式为转置卷积。由于偏置项和转置卷积参数较少,因此略去其参数计算。DFA-Net 网络参数规模如表1 所示。
表1 DFA-Net 网络参数规模Table 1 Network parameter scale of DFA-Net
本文提出的深度特征聚合网络由基础层、中间层、聚合层和特征聚合模块组成。在基础层特征提取的基础上,中间层以及聚合层通过卷积、通道叠加以及对应元素相加等方式对基础层特征信息进行补充。此外,特征聚合模块运用注意力机制进一步加强中间层特征的信息表达能力和特征聚合能力。深度特征聚合网络利用深层特征与浅层特征的互补信息,运用三级特征表示层逐步完成特征聚合过程,聚合层通过对中间层特征和聚合层特征的信息聚合,与特征聚合模块FAM 共同完成对中间层特征的特征信息补充和特征聚合过程。中间层接收特征聚合模块FAM 输出的聚合特征,对中间层特征进行特征加权,最后通过裁剪和通道叠加的方式完成对基础层特征的信息补充,从而增强基础层网络的特征表达能力,减少基础层因下采样和上采样引起的特征信息损失。
本文提出的深度特征聚合网络将基础层作为基础特征提取网络。考虑到下采样过程中存在特征信息丢失以及特征聚合能力不足等问题,通过中间层与聚合层的协同作用,分层、逐步完成对基础层的信息补充过程。此外,由中间层提供的深层聚合特征解决基础层特征聚合能力不足的问题,从而提高基础层的特征提取能力。
分别在脑图像和眼底图像的公开数据集上进行分割实验,本文实验所用脑部数据集为brainweb20[18]。brainweb20 是一个公共数据集,其包含了20 个解剖结构的大脑3D 图像,如图5 所示,其中,每个图像的大小为181×256 像素×256 像素,181 表示切片数目,所有数据都包含人工分割的结果作为算法评估的金标准。
图5 部分脑部实验图像Fig.5 Some brain experiment images
从所有3D 图像中筛选总计3 000个切片作为实验数据,其中2 300个切片用于模型的训练,200个切片用于模型验证,500个切片用于模型测试评估。实验所用眼底图像数据集为DRIVE[19]和CHASE-DB1[20],2个数据集均提供了标准图像用于模型测试。DRIVE数据集包含40张彩色眼底图像,其中20张图像用于模型训练,8张图像用于模型验证,12张图像用于模型测试,每张图像的大小为580像素×580像素。CHASE-DB1数据集包含28张彩色图像,其中20张图像用于模型训练,3张用于模型验证,5张用于模型测试,每张图像的大小也均缩小为580像素×580像素。为增加训练数据集的数量,对原始输入图像进行以下预处理。
1)统一对输入图像进行旋转、角度变换、裁剪等操作。
2)非脑组织剥离(针对脑图像)。
3)偏移场校正(针对脑图像)。
本文实验基于深度学习框架pytorch实现,模型训练使用两个显存大小为12 GB的Nvidia GeForce GT1080ti显卡。在训练DFA-Net模型之前,使用迁移学习策略用预训练模型对基础层网络进行权重初始化,之后在此基础上进行微调,加速DFA-Net网络的收敛。DFA-Net网络的初始学习率设为0.000 01,参数更新迭代数设为50 000次,并采用随机梯度下降(SGD)更新网络权重等参数。
对于脑部图像分割,采用的评价指标为Dice 系数、Hausdorff 距离和绝对体积差(Absolute Volume Difference,AVD),分别表示为:
其中,GT 表示人工手动分割的图像,PR 表示模型预测的结果。VGT表示手动分割图像的体积,VPR表示模型预测图像的体积。在式(15)中,h(PR,GT)和h(GT,PR)分别表示为:
对于眼底血管分割,采用的评价指标为敏感度(sensitivity)、特异度(specificity)、F1值、准确率(accuracy)和受试者工作曲线下面积(AUC),分别表示如下:
其中,TP 表示真阳性样本数量,FP 表示假阳性样本数量,TN 表示真阴性样本数量,FN 表示假阴性样本数量。
本文使用Dice 损失作为DFA-Net 的优化目标:
其中,ti、tj为网络预测结果中像素点i、j的值,pi、pj为真实标签中像素点i、j的值。
对DFA-Net 方法、U-net 方法[12]、Unet++方法[14]、SegNet[21]和模糊C 均值(Fuzzy C Means,FCM)方法[22]进行对比,以验证本文方法在脑图像分割上的有效性与准确性,部分测试图像的分割结果如图6所示,从图6可以看出:
1)FCM 方法只能大致分割出3 种脑组织的轮廓,不能很好地捕捉脑组织的细节,因此不能对3 种脑组织进行准确分割。此外,该方法的分割结果中存在很多分离像素点,表明其不能很好地处理脑图像灰度不均匀且边缘边界不清晰的情况。
2)U-net 方法和Unet++方法都采用了类似的特征融合策略,对比于FCM 方法,这两种方法可以较好地分割脑组织细节,但是整体而言,有一些像素点不能很好被识别并分类。同时,从分割结果看,U-net 分割结果中存在一些孤立的像素点,这也表明U-net方法在处理分割细节时不能很好地聚合深层特征,不利于精细化分割脑部细节。
3)与其他4 种方法的分割结果相比,DFA-Net能够很好处理分割细节,同时孤立像素点也较少,其所采用的特征聚合策略能够充分利用深层特征与浅层特征的信息互补性来处理分割结果中孤立像素点,解决上采样与下采样引起的信息损失问题。
4)U-net 系列方法虽然使用了跳跃连接这一特征聚合方式,但是其在网络设计层面,没有充分利用深层特征带给分割结果的增益。图6 结果表明,本文方法在保证分割结果准确性的同时,较好地解决了U-net 系列方法不能很好处理孤立像素点的问题,提高了分割结果的连续性。本文方法在处理脑部图像灰度不均匀且边界之间存在界限不清晰的情况下,能够较好地分割3 种脑组织。
图6 5 种方法的分割结果比较Fig.6 Comparison of segmentation results of five methods
不同方法的脑部分割结果评价指标如表2 所示,其中,WM 表示脑白质,GM 表示脑灰质,CSF表示脑脊液,加粗数据为最优值。从表2可以看出,FCM方法对于3种脑组织的分割准确性最低,其3种评价指标都相对较低,Unet++和本文方法的3种评价指标比较接近,但本文方法相比于Unet++方法有所提升。以脑灰质(GM)的分割为例,本文方法相较Unet++方法Dice系数提升了2.2%,从其他指标也可以看出,本文方法比U-net 方法以及SegNet方法均有较大提升,以脑脊液(CSF)为例,本文方法相较于U-net 方法Dice 系数提升了2.7%,相较于SegNet方法Dice系数提升了1.9%。总体而言,本文方法相较其他4种方法能够对脑部图像做出更准确的分割。
表2 5 种方法的脑部分割结果评价Table 2 Evaluation of brain segmentation results by five methods
不同网络的参数规模以及推理性能如表3 所示,其中SegNet、Unet++网络每个阶段的卷积核数量与Unet 相同,测试设备为两个显存大小为12 GB 的Nvidia GeForce GT1080ti 显卡。
表3 5 种方法的网络参数规模及推理性能Table 3 Network parameter scale and inference performance of five methods
为说明中间层卷积数量对网络性能的影响,在增加中间层卷积数量的同时,也相应增加聚合层特征以及特征聚合模块FAM的数量。随着中间层卷积数量的增加,网络参数规模也随之增加,由于相应的聚合层特征以及特征聚合模块FAM的增加,使得整个网络的特征聚合能力以及基础层的特征信息得到补充,减少了上采样与下采样带来的特征损失。
表4 中间层卷积数量对网络性能的影响Table 4 Influence of the number of intermediate layer convolutions on network performance
从表4可以看出,在中间层卷积数量增加的同时,各项评价指标都呈上升趋势,当中间层卷积数量达到5个时,各项评价指标也最高。
从所有测试图像中选取20个测试图像绘制箱线图。图7~图9分别为20个测试图像的灰质、白质、脑脊液箱线图,可以看出:DFA-Net与Unet++方法性能较为接近;FCM方法对3种主要脑组织的分割效果都存在较小的异常值;DFA-Net在20个测试图像的Dice系数分布较为集中,但不如Unet++方法。从平均Dice系数来看,DFA-Net较Unet++方法略高,U-net和SegNet方法与本文方法稍有差距,虽然两者的Dice系数分布集中且均匀,但其上分位指标和下分位指标均较低,这也表明U-net和SegNet方法具有一定局限性,不能作为通用网络用于分割任务。
图7 20 个测试图像的脑灰质箱线图Fig.7 Box plot of twenty test images for gray matter
图8 20 个测试图像的脑白质箱线图Fig.8 Box plot of twenty test images for white matter
图9 20 个测试图像的脑脊液箱线图Fig.9 Box plot of twenty test images for Cerebrospinal fluid
为进一步说明各方法的性能,从所有测试图像中选取10 个测试图像绘制平均AVD 指标折线图,如图10所示。可以看出,本文方法与Unet++方法AVD 指标最为相近,但是在个别测试图像上如img-3、img-4,本文方法优于Unet++方法,表明了本文方法较Unet++方法有一定优势。
图10 10 个脑部测试图像的平均AVD 指标Fig.10 Average AVD index of ten brain test images
为评价5 种方法对于不同比例噪声的鲁棒性,对原始输入图像施加7 种不同比例的高斯噪声,由于FCM 方法在分割结果上表现较差,因此略去噪声对FCM 方法的评价。图11 结果表明,在噪声比例较低(低于10%)的情况下,SegNet 方法随着噪声比例的增加,平均Dice 系数下降趋势明显,而本文方法和Unet++方法则下降较少,表明本文方法对低噪声图像具有较好适应性。在噪声比例由7%增加到9%的情况下,Unet++方法平均Dice 系数下降很明显,而本文方法则下降得比较缓慢。总体而言,在噪声较多的情况下(高于10%),本文方法能够在适应噪声的同时对脑图像做出准确分割。
图11 不同噪声比例对脑部分割结果的影响Fig.11 Effects of different noise ratios on brain segmentation results
为验证本文方法的有效性与准确性,针对眼底血管图像进行分割实验。部分测试图像的分割结果如图12所示。可以看出,DFA-Net 能较好处理分割细节,对于部分微小血管能实现准确有效的分割。
图12 部分眼底血管测试图像的分割结果Fig.12 Segmentation results of some fundus blood vessel test images
表5、表6 分别为本文方法与U-net 等方法在两个测试数据集上的测试结果,其中加粗数据为最优值。由表5 可知:本文方法分别在F1 值、特异度、准确率上处于领先,部分指标如敏感度和AUC 与领先的Unet++以及LadderNet 相差不大。在DVIRE 数据集上,DFA-Net 较U-net 与Unet++有较大提升,总的来说,DFA-Net 在核心指标上也领先于LadderNet。由表6 可知:在数据集CHASE-DB1 上,本文方法在5 个评价指标上均处于领先,LadderNet 与本文方法在评价指标AUC 上一致,其他方法如U-net 等与本文方法稍有差距。
表5 DVIRE 数据集测试结果Table 5 Test results on DVIRE dataset
表6 CHASE-DB1数据集测试结果Table 6 Test results on CHASE-DB1 dataset
针对CNN 上采样与下采样所带来的信息损失问题,本文通过使用特征聚合策略设计深度特征聚合网络DFA-Net。利用三级特征表示层(基础层、中间层、聚合层)对特征进行加强,聚合层通过聚合中间层特征和传递特征给特征聚合模块,达到特征聚合的目的。实验结果表明,DFA-Net 能够对3 种主要脑组织以及眼底血管实现有效且准确的分割,较U-net、Unet++等方法具有更高的分割精度。DFA-Net 在特征聚合时不可避免地引入了一些可训练参数,增加了计算量,下一步将探索更简单有效的特征聚合策略应用于CNN框架。