基于改进U-Net的肝脏MRI分割方法
2022-09-24汪慎文
汪慎文, 周 瑶
(河北地质大学 信息工程学院, 石家庄 050031; 河北地质大学 人工智能与机器学习研究室, 石家庄 050031; 河北地质大学 新零售联合研究院, 石家庄 050031)
磁共振成像(magnetic resonance imaging, MRI)是断层成像的一种, 其利用磁共振现象从人体中获得电磁信号, 并重建人体信息, 磁共振成像是临床疾病筛查和诊断的重要工具, 广泛应用于肝脏组织的病症检查中. 但由于肝脏与周围组织的灰度值极相近以及个体的差异性, 因此导致精准分割肝脏成为难点.
深度学习具有自动从数据中学习深层次和鉴别性特征的能力, 目前已在医学图像分割领域广泛应用, 其性能较传统图像分割方法有显著提升[1]. 在语义分割场景中, 深度学习利用图像的深层次特征, 对图像的像素点进行分类, 从而实现图像分割. 传统的深度网络模型如AlexNet[2],VGGNet等要求输入固定大小的图片, 并且该类模型计算代价较高. 为解决上述问题, Long等[3]提出了全卷积神经网络(fully convolutional network, FCN), 将全连接层换成卷积层, 使得该网络可用于稠密估计任务, 并实现端到端的训练. 但由于FCN网络针对单个像素进行识别分割, 在训练过程中忽略了空间相关性, 使分割结果存在不精确的问题[4]. Rommeberger等[5]提出了一种U型网络模型, 该网络模型基于编解码的结构, 已广泛应用于各种医学影像分割任务中, 性能良好. 刘清清等[6]将半监督学习引入到肝脏图像分割中, 提出了一种基于3D scSE-UNet的肝脏CT图像半监督学习分割方法, 该方法使用自训练的半监督学习框架, 将包含改进的并行空间、 通道特征压缩和激励模块的3D scSE-UNet作为分割网络. scSE-block可从图像空间和特征通道两方面自动学习图像的有效特征, 抑制无用冗余特征, 更好地保留图像边缘信息. 同时在自训练过程中加入全连接条件随机场, 对分割网络产生的伪标签进行边缘细化, 提升伪标签的精确度. 实验结果表明, 这种半监督学习分割方法可在仅使用少量标注数据的情况下, 取得与全监督分割方法相同的分割效果, 有效减轻肝脏CT(computed tomography)图像分割对专家标注数据的依赖. 刘蕊等[7]从多维度的角度出发, 构建了一种多维度特征提取网络模型. 宋阳等[8]针对现有分割网络在肝脏区域的全局信息和局部信息处理上存在的不足, 设计了一种融合更多局部特征的循环密集连接网络的分割方法, 该方法将循环密集连接模块和局部特征补充模块整合为编码过程的学习单元, 使编码单元融合深层次全局信息和更多尺度的局部特征信息. 闫谙等[9]针对卷积神经网络在对图像中每个像素点分类过程中未使用周围像素点类别信息, 易导致小目标漏检和边界分割模糊的问题, 提出了一种条件能量对抗网络用于肝脏和肝肿瘤分割, 实验结果表明, 该方法不仅实现了肝脏和肝脏肿瘤的自动分割, 还充分利用相邻像素点之间的相似性提高了肝脏边界的分割精度, 有效缓解了小目标漏检的问题. 亢洁等[10]针对卷积神经网络分割肝脏边界较模糊的影像数据时易丢失位置信息, 导致分割精度较低的问题, 提出了一种基于分水岭修正与U-Net模型相结合的肝脏图像自动分割算法. 但U-Net结构存在模型中连续的标准卷积和池化操作导致部分空间上下文信息丢失的问题, 因此, 本文提出一种融合多尺度[11]卷积模块和空间通道注意力模块的U-Net分割方法, 用于MRI中肝脏的分割. 该方法在网络的编码阶段用多尺度模块代替标准卷积提取丰富特征, 同时在整个网络模型引入空间和改进的通道注意力模块用于赋予各特征不同的权重值, 从而筛选更重要的特征, 同时保留了原跳跃连接用于特征融合. 实验结果表明, 该算法在肝脏数据集上的分割效果优于U-Net, 有效改善了分割结果中图像信息丢失和小目标分割效果较差的问题.
1 改进的U-Net分割方法
1.1 U-Net结构
U-Net结构如图1所示. 由图1可见, 网络分为左、 右两部分, 左边是压缩过程, 即编码阶段, 右边是扩张路径, 即解码阶段. 其中, 编码阶段遵循典型的卷积网络结构, 由两个重复的3×3卷积核组成, 且均使用ReLU激活函数和一个用于下采样的步长为2的2×2最大池化层, 在每个下采样步骤中, 特征通道数量都加倍. 在扩张路径中, 每步都包含对特征图进行上采样, 用2×2的卷积核进行卷积运算, 以减少一半的特征通道数量, 然后级联收缩路径中相应裁剪后的特征图, 再用两个3×3的卷积核进行卷积运算, 且均使用ReLU激活函数. 由于在每次卷积操作中边界像素都存在缺失问题, 因此有必要对特征图进行裁剪. 在最后一层, 利用1×1的卷积核进行卷积运算, 将每个64维的特征向量映射到网络的输出层. U-Net在编码阶段通过卷积和下采样降低图像尺寸, 提取一些浅层的特征信息; 而解码阶段通过卷积和上采样获取一些深层次的特征. 中间通过叠加的方式, 将编码阶段获得的特征图与解码阶段获得的特征图叠加在一起, 结合深层次和浅层次的特征, 细化图像, 最后根据得到的特征图进行预测分割.
图1 U-Net结构Fig.1 U-Net structure
1.2 整体网络结构
在实验过程中发现, U-net提取的语义信息不够丰富, 原因是来自下采样阶段和上采样阶段的特征图在语义上并不具有相似性, 当网络进行训练时, 直接向解码阶段传递高分辨率的特征图将导致分割结果在语义上的不一致性, 不仅使分割结果变差, 而且会增加小目标分割难度. 针对上述问题, 本文提出在特征提取阶段用多尺度卷积(Inception)模块替代原来的两个 3×3 卷积, 同时引入空间和通道注意力(spatial and channel squeeze & excitation, SCSE)模块为特征赋予权重值, 使网络可提取到更丰富和有意义的特征, 改进的网络结构如图2所示.
图2 改进的U-Net结构Fig.2 Improved U-Net structure
由图2可见: 输入到网络的图像在第一层编码阶段先进行卷积操作提取特征, 然后经过注意力模块沿通道和空间分别重新校准特征图, 最后对特征图进行池化操作, 以减小图像尺寸、 增大感受野; 第二层编码将池化后的特征图输入多尺度卷积模块提取特征, 再经过改进后注意力模块沿通道和空间分别重新校准特征图, 最后进行池化操作增大感受野; 第三层和第四层编码与第二层操作相同, 只是通道数扩大, 再进行一次卷积操作并经注意力模块输出特征图到解码阶段. 在每层解码阶段依次进行上采样操作、 卷积操作和SCSE模块操作, 特征图进行上采样操作后与编码阶段注意力模块输出的特征图进行通道叠加, 最后经过1×1卷积输出预测值.
1.3 多尺度卷积模块
图3 Inception模块结构Fig.3 Module structure of Inception
Inception[12]模块结构如图3所示. 由图3可见, 该结构有4个分支: 第一个分支是1×1卷积; 第二个分支先进行1×1卷积再接一个3×3卷积; 第三个分支先进行1×1 卷积再接一个5×5卷积; 第四个分支先进行一个3×3的池化操作再接一个1×1卷积. Inception模块主要有两个功能: 1) 使用1×1的卷积进行升降维; 2) 在多个尺寸上同时进行卷积再拼接. 图3中有多个1×1卷积块, 其作用是首先在相同尺寸的感受野中叠加更多的卷积, 能提取到更丰富的特征, 从而实现不同通道之间的信息交互和融合; 其次, 使用1×1卷积可降维并减小参数量.
多尺度卷积模块的推理过程如下:
其中f表示输入的特征图,Mij表示第i个分支的j×j卷积运算,θij表示第i个分支的j×j卷积运算的卷积核参数,P表示池化操作, ⊕表示特征拼接操作,Fi表示第i个分支的运算结果,g表示整个Inception模块的输出结果.
1.4 空间和通道注意力模块
图4 空间和通道注意力模块Fig.4 Spatial and channel attention modules
空间和通道注意力模块由两部分组成, 一部分用于压缩通道从而达到激励空间的目的; 另一部分用于压缩空间达到激励通道的目的, 其结构如图4所示.由图4可见, 空间和通道注意力模块分为两部分: 上部分为空间注意力, 下部分为通道注意力.空间注意力通过一个1×1卷积操作使特征图在通道上进行压缩, 例如输入通道数为64, 则输出通道数即为1, 然后将输出的特征图输入到Sigmoid函数中, Sigmoid函数将特征图中的所有特征值规范化为[0,1]内的值, 得到的即为空间特征权重. 将空间特征权重与输入特征图进行相乘操作后输出校准后的特征图.
空间注意力推理过程如下:
其中f表示输入特征图,M表示1×1卷积,θ表示卷积运算的卷积核参数,f1,f2,f3分别表示卷积运算、 Sigmoid函数运算和乘运算的输出.
目前的通道注意力由两个线性层构建通道的权重, 但通过简单叠加两个线性层的通道权重学习方式并未考虑通道与通道之间的相关性, 因此本文进行改进. 如图4所示, 在通道注意力分支, 本文用一个多头注意力层替换两个线性层. 多头注意力最初用于自然语言处理领域, 由多个自注意力组成, 自注意力通过权重矩阵计算变量与变量之间的相关性. 本文通过多头注意力计算通道与通道之间的相关性, 在此基础上为每个通道生成一个权重.
本文多头注意力计算过程如下:
步骤1) 输入压缩后的特征图M;
步骤4) 多头注意力为MHA=Concat(head1,…,headh)Wo, 其中h表示多头注意力的头数,Wo为权重矩阵.
整个通道注意力的校准过程如下: 首先, 将输入的特征图进行全局平均池化, 该操作使每个通道上的特征图压缩为一个数值, 图中特征图的维度将由[C,H,W]变为[C,1,1], 压缩后的特征图进行层归一化输入到多头注意力层生成通道权重; 再经过一个激活函数(Sigmoid)把权重归一化, 输出结果即为每个通道的权重; 然后将权重值与输入的特征图进行相乘操作; 最后输出的即为在每个通道上校准特征值后的特征图, 从而达到激励通道的作用.
通道注意力推理过程如下:
其中ck(i,j)表示第k个通道的i行和j列的特征值,vk表示对每个通道的特征值求和以后求平均值, 即全局平均池化,V表示所有通道全局平均池化后的特征值集合,l1表示层归一化, MHA表示多头注意力,l表示生成的通道权重,G表示经激活函数Sigmoid处理后的l与特征图f相乘操作的输出结果.最后将式(8)与式(12)输出的特征图逐通道相加便可得到经SCSE模块重新校准后的特征图.
2 实验结果与分析
实验硬件环境: Intel(R) Core(TM) i7-10750H CPU@ 2.60 GHz, 内存16 GB DDR4, NVIDIA GTX1650Ti 4 GB独立显卡; 软件环境: 深度学习框架为Pytorch, 开发环境为PyCharm, 编程语言为Python 3.8.
2.1 数据集
实验数据集采用2019年IEEE国际生物医学影像研讨会发布的数据集CHAOS, 该数据集包括脾脏、 肝脏、 左肾和右肾等4个器官的MRI图像和真实的肝脏标注. 先对数据集进行数据扩充, 包括图像旋转、 图像左右互换和图像放大缩小, 将训练集数据量扩充至1 500.
2.2 网络编译及评价指标
网络模型采用交叉熵损失函数[13]. 优化器选择Adam, 其实现简单, 计算高效, 参数的更新不受梯度的伸缩变换影响, 同时可自动调整学习率, 适用于大规模的数据及参数的场景.
为评价网络的分割性能, 本文选用召回率、 精确度和Dice系数3个评价指标:
召回率=(Rgt∩Rpred)/Rgt,
(13)
精确度=(Rgt∩Rpred)/Rpred,
(14)
Dice=2|Rgt∩Rpred|/(Rpred+Rgt),
(15)
其中Rgt表示标注的分割结果,Rpred表示预测的分割结果.召回率衡量真实背景中的阳性体素部分, 即分割实验中能分割感兴趣区域的能力及能分割出多少肝脏; 精确度衡量分割实验中真正肝脏在分割结果中的占比; Dice系数衡量分割结果和标注结果的重叠部分, Dice值越高表示网络分割能力越强, 其最大值为1.
2.3 实验结果
2.3.1 改进SCSE模块的有效性
为验证改进后的SCSE模块对肝脏分割性能的影响, 本文以U-Net为基础模型, 将文献[14]中的SCSE模块与本文改进后的SCSE模块分别应用到U-Net上, 然后评价两个模块的分割性能, 实验结果列于表1. 由表1可见, 改进后SCSE模块的召回率、 精确度和Dice系数分别为0.864,0.920,0.886, 较原SCSE模块分别提高0.5%,0.8%,1.2%. 因此, 改进后的SCSE模块提高了肝脏的分割精度, 验证了改进的SCSE模块的有效性.
表1 不同模块的评价指标对比
2.3.2 整体网络结构的有效性
图5为整体网络结构改进前后部分分割结果的对比, 其中第一行是输入网络的腹腔原图, 第二行是根据肝脏标注提取的肝脏掩膜, 第三行是U-Net的分割结果, 第四行是本文改进的U-Net的分割结果. 由图5可见: U-Net在分割中丢失了部分肝脏信息, 部分肝脏没有被分割出来, 且部分将把背景分割为肝脏; 而本文的网络模型较好地分割出肝脏组织, 错分割和丢失肝脏组织的情况较少, 较好地改善了U-Net的小目标分割难的问题, 改进的分割网络能较好地分割出小肝脏组织.
图5 U-Net改进前后部分分割结果对比Fig.5 Comparison of partial segmentation results before and after U-Net improvement
为验证本文改进U-Net模型的特征提取能力, 对模型提取的特征进行可视化, 如图6所示. 由图6可见, 改进的U-Net分割出的肝脏更完整. 图7为肝脏图像在U-Net模型上第二层卷积提取的特征可视化结果, 每个通道的特征都表示为一张图像. 图8为肝脏图像在改进U-Net模型上第二层Inception和SCSE组合模块提取的特征可视化结果. 根据图6中专家标注的肝脏标签可知这张图像中肝脏位于靠左的位置, 在图7中U-Net模型上第二层卷积提取的特征中有多个通道的肝脏真实位置的特征丢失, 只有少部分通道的肝脏特征被提取到, 因此传递到后面网络结构的肝脏特征也较少, 从而导致肝脏分割不准确; 而在图8中本文提出的组合特征提取模块对于肝脏真实位置的特征提取较多, 因此可传递到后面网络结构更多的肝脏特征, 从而提高肝脏分割的精度. 因此, 网络模型提取特征的质量影响肝脏分割的结果, 表明本文改进的U-Net网络模型可提取到较多的有意义特征.
图6 用于测试的肝脏图像Fig.6 Liver images used for testing
图7 U-Net提取的肝脏特征Fig.7 Liver features extracted by U-Net
图8 改进U-Net提取的肝脏特征Fig.8 Liver features extracted by improved U-Net
表2列出了不同网络模型的分割指标对比结果. 由表2可见, 改进后的网络模型相比U-Net在召回率、 精确度和Dice系数3个评价指标上得分均有提高, 改进后网络模型的召回率、 精确度和Dice系数分别为0.881,0.928,0.896, 较改进前U-Net分别提高5.4%,6.1%,6.7%. 而Attention U-Net在迭代次数相同的情况下达到的分割效果较差, 这是因为该网络的参数量较大, 短时间内很难收敛, 因此本文提出的网络模型提高了肝脏MRI的分割精度.
表2 不同网络模型的评价指标对比
综上所述, 本文针对U-Net分割过程中局部信息丢失的问题提出了一种基于U-Net的特征提取方法, 该方法将多尺度卷积模块和空间通道注意力模块相结合作为特征的提取结构. 多尺度卷积模块的多个卷积和池化分支可充分提取多维度的特征, 而空间和改进后的通道注意力模块对提取到的多维度特征进行权重校准, 使重要的特征得到更多关注. 测试集的分割结果表明, 改进后的网络模型有效改善了U-Net局部信息丢失问题和小肝脏组织分割困难的问题, 提高了肝脏MRI的分割精度.