于文涛,张俊华,梅建华,罗旭东
1.云南大学 信息学院,昆明 650500
2.云南师范大学 信息学院,昆明 650500
磁共振(magnetic resonance,MR)技术作为常见的影像检查手段具有无辐射、成像信息丰富等优点。在脊柱相关疾病中,精确分割脊柱MR图像技术是脊柱个性化配准、获取三维模型等工作的前提[1]。手动分割一幅脊柱MR图像需要大量时间,且人为主观因素导致分割者存在内部误差,不同分割者之间存在相对误差。半自动分割精度又难以满足临床诊疗需求。为解决脊柱图像的精确分割问题,本研究基于深度学习提出了一种自动分割脊柱MR图像的方法。
传统的MR图像分割方法包括阈值分割[2]、基于像素值分割[3]和模糊C-均值聚类分割[4]等。Zukic等[5]用Viola-Jones类似方法检测所有柱体的边界和中心,然后根据膨胀原理对椎体填充平行网格,最后达到分割脊柱的目的,该方法需要手动干预且分割时间较长。Chu等[6]用随机森林回归方法定义脊柱感兴趣区域,然后用随机森林分类方法分割脊柱。MR图像边界模糊问题会使相邻空间体素的分类出现波动,最终影响随机森林分割效果。近年来,以深度学习为代表的人工智能技术与医学图像处理的交叉融合研究是人工智能领域的热点。Long等[7]提出了在图像分割领域具有里程碑意义的全卷积神经网络(fully convolutional networks,FCN)解决了图像像素级别的分类问题,FCN模型存在细节处理不敏感,没有考虑到像素与像素之间的关联性等问题。Janssens等[8]级联定位FCN与分割FCN实现了脊柱CT图像的分割,多个FCN导致这种模型存在大量参数。Ronneberger等[9]基于FCN提出了结构清晰、训练速度快的U-Net模型,该模型一经问世便成为医学图像分割领域的重要方法。但是经典的U-Net存在提取特征单一的局限性。Horng等[10]利用U-Net网络分割脊柱X线图像中单个椎体,分割完成后进行拼接。Zhao等[11]提出的PSPNet模型聚合不同区域的上下文信息,解决了U-Net模型上下文信息丢失的问题。PSPNet模型在全局先验表示上取得良好效果,在脊柱MR分割中精度还需要提升。Zhou等[12]提出了灵活使用深监督,融合浅层和深层的特征UNet++模型,该模型大量使用跳跃连接层导致模型结构复杂。Sekuboyina等[13]提出了用卷积神经网络标记脊柱边界轮廓,然后用另一个卷积神经网络进行体素分类的脊柱分割方法。MR图像自身分辨率和对比度较差,易受噪声、伪影影响的特点,导致分割脊柱MR图像难度较大。
本研究自主搭建深度学习模型对脊柱MR图像自动分割进行分析,贡献如下:首先提出了对称通道卷积神经网络(symmetric channel convolutional neural network,SC-CNN),克服经典网络模型空间特征不足的问题,同时SC-CNN用于多尺度特征提取和输出,可以互补不同通道的特征差异。然后用残差连接模块(residual path model,Res-Path)连接不同层次SC-CNN提取的特征,解决训练过程中网络退化问题,同时把中间特征通过跳跃连接输出到下一层SC-CNN,保证不丢失中间特征。
本研究搭建一种深度学习模型分割脊柱MR图像,在模型中提出了SC-CNN模块,该模块在网络训练中代替传统卷积模块,获取不同层次特征信息;用Res-Path连接提取的多尺度特征信息缓解训练中梯度弥散问题,同时结合跳跃连接层防止中间层特征丢失;最后在搭建的网络模型中融合卷积块注意力机制模块(convolutional block attention module,CBAM),使模型在训练过程中更关注图像空间和通道的特征提取。所搭建的模型有效地提升了图像边缘细节处的分割效果。
基于编码-解码结构的U-Net模型在医学图像分割中被广泛应用,其跳跃连接层设计巧妙,结合高级语义特征和低级语义特征的结构对医学图像的定位、分割起到重要作用。UNet++模型继承U-Net模型的编码-解码思想并引入嵌套的和密集的跳跃连接,解决了纯跳跃连接在结合语义特征中语义不相似的问题,并且在一定程度上减少了编码器和解码器之间的语义差距。尽管UNet和UNet++模型在诸多分割任务中取得了良好的性能,但在提取多尺度信息和分割注意力方面仍有很大提升空间。分割任务中低层次语义特征捕捉空间信息,能够突出器官的边界;而高级语义特征则体现分割位置信息。然而,经过多次上采样和下采样时,这些微妙的信号可能会逐渐稀释。为克服U-Net和UNet++模型的局限性,提出了如图1所示的网络模型。搭建的模型采用编码-解码的结构,用15个SC-CNN提取多尺度特征,互补不同区域特征差异;上采样过程的SC-CNN后加入CBAM模块,每层上采样的特征信息经过不同数目(4,3,2,1)的残差单元传递到后面的SC-CNN中,中间层信息通过跳跃连接层连接到后面的SC-CNN。搭建的网络模型中用SC-CNN模块代替传统卷积层可以为脊柱MR图像分割提供多尺度特征;用跳跃连接和Res-Path保证多尺度提取的细粒度的细节和粗粒度的语义不会随网络加深而丢失;同时受UNet++结构的启发,把训练中的中间层信息通过跳跃连接传递到下一层网络。Res-Path结构的反馈功能解决了训练过程中网络退化现象,这样更有利于低分辨率特征信息与高分辨率特征信息的融合。6层的跳跃连接则避免中间层特征的丢失。提出的网络模型输入图片尺寸大小可以任意设置,每次SC-CNN操作后用Rule函数激活。最大池化、反池化操作大小为2×2,最后通过一个sigmoid函数输出预测结果,恢复原始图像大小。
深度学习训练中增加网络的深度和宽度是提升网络性能最直接的办法,但这种方法会产生大量的参数导致网络过拟合。Szegedy等人[14-15]根据稀疏矩阵聚类成相对密集的子矩阵的想法,提出了Inception网络结构,如图2(a)所示,这很大程度上解决了模型因参数量大出现过拟合的问题。Inception网络结构通过采用不同大小的卷积核拼接提取不同尺度特征,一定程度上提升了网络的性能。图2(a)中5×5卷积层随着网络深度增加仍带来巨大计算量。深度学习分割任务中提取多尺度特征能有效提升图像细节分割质量[16]。为了解决计算量爆炸问题,同时提供更多尺寸特征信息,本研究提出了SC-CNN结构。该结构在分割语义相同区域中能有效提取特征交互的信息,同时该结构在不增加网络参数量的基础下,对细节信息提取能力远远优于传统的单层卷积核。如图2(b),1×1卷积层进行数据降维,同时可引入更多非线性参数提升网络泛化能;对称通道可以互补特征提取的差异;两个3×3卷积层串联可进行多尺度特征提取;每次卷积后通过跳跃连接输出特征拼接层防止特征的遗漏;输出为两通道所有特征相加;最后用BN算法加速模型收敛。
其中BN算法利用式(1)对每层数据进行均值和标准差归一化处理,提出的模型训练中使用批量下降法,E[x(k)]是同一批数据中各神经元的平均值;Var[x(k)]是训练数据中各神经元输入值的标准差。
根据式(2)对网络中间层的数据进行重构。当γ(k)=时,网络可以学习恢复出原始网络所要学习的特征分布。
在神经网络模型收敛之前,随着网络深度增加,训练效果逐渐增加最后饱和,然后迅速下降,导致出现错误结果[17]。残差网络用跳层连接形式将单元出入和输出加在一起后激活,有效解决了网络退化问题。为解决多个SC-CNN拼接导致网络模型加深、收敛速度慢等问题,本研究构建了如图3所示的多层次Res-Path模型,其特点是根据采样层次调节反馈网络的深度。第一次上采样时SC-CNN提取特征后输入特征图,经过4个3×3卷积层,得到非线性输出F(x),1×1卷积用来调整特征图的维度。在总体模型中随着上采样次数的增加,Res-Path中3×3卷积层依次减少,详情如表1所示。在Res-Path模型中去除个别中间层不会影响Res-Path模块的表现,同时模型收敛速度明显加快。最后搭建的模型在相邻的SC-CNN模块中用跳跃连接传递特征信息。
表1 Res-Path详情Table 1 Details of Res-Path
SC-CNN提取多尺度特征虽然保证了特征的多样性,但不能关注特征的重要与否。搭建模型在SC-CNN模块后加入CBAM能更好地关注采样的有效特征。CBAM为卷积模块结合空间和通道的注意力机制模块,相比SENet[18]结构在图像分割和目标检测中取得了更好的结果。
深度学习中,由于每个通道的权重值的差异性,每个权重值与原来通道的值的乘积是深度学习真正需要的特征值。在SENet基础上,CBAM模块考虑每个通道不同位置像素的重要性,通过学习获取特征图在通道和空间上的重要程度,改变不同特征权重值提取更有效的特征图。设该模块在网络中间特征输入为F∈RC×H×W的特征图,C、H和W分别为输入特征图通道数、高和宽,经过一维通道注意力机制Mc=RC×1×1运算输出特征图F′,如式(3)所示。F′经过二维空间注意力机制Ms=R1×H×W运算输出特征图F″,如式(4)所示。其中⊗为特征图逐元素相乘。
在式(3)中,通道注意力关注特征图中有意义的学习特征,利用最大池化和平均池化,在空间维度压缩特征图,得到两个不同的空间背景描述因子Fcmax和Fcavg,使用多层感知机组成的共享网络对背景描述因子进行计算,得到通道注意力特征图,如式(5),其中W0∈RC/r×C,W1∈RC×C/r,Relu作为W0后的激活函数。通道注意力结构图,如图4所示。
在式(5)中,空间注意力更关注特征图中位置信息,采用最大池化和平均池化,在通道维度中得到两个不同的特征描述因子Fsmax∈R1×H×W和Fsavg∈R1×H×W,计算过程如式(6),最后合并两特征,用卷积操作得到空间注意力特征图Ms(F)∈RH×W。空间注意力结构如图5所示。
在MR脊柱图像分割中标签为背景和脊柱体,属于深度学习中的二分类任务,本模型采用二值交叉熵函数[19]评估模型的分割效果,如式(7)所示。
其中,yi表示样本i的标签,正类为1,负类为0;Pi表示样本i预测为正的概率。交叉熵的使用涉及到计算每种类别的概率,因此二值交叉熵通常和sigmoid函数配合使用。sigmoid逻辑函数得到像素值概率,并结合交叉熵损失函数在模型训练效果差的时候学习速度加快,模型训练效果好的时候学习速度变慢。
图像分割中存在许多衡量算法精度的方法,使用Dice相似系数(dice similarity coefficient,DSC)与像素精度指标(pixel accuracy,PA)评价模型分割精度。DSC系数计算手动分割标准和自动分割结果之间重叠体素量的两倍与手动分割标准和自动分割结果体素量的总和的比例。PA系数计算正确分类的像素个数和总像素数之间的比例。DSC与PA值越接近1,表明分割精度越高,如式(8)、(9)所示:
其中,TP、FP和FN分别表示分割任务中像素真阳性、假阳性和假阴性的数量,Pii为正确分类的像素数量,Pij为所有像素数量。
本文脊柱MR数据集为SpineSagT2Wdataset3,该数据集包括215个病人(腰椎间盘突出、腰椎间盘退行性变等)的MR图像。数据均为矢状位T2加权MR三维数据,由同一台设备采集,磁场强度均为3.0 T。实验中用带有专家手工标签的195套MR图像共2 460张作为训练集与测试集,提出的模型在训练集中提取MR图像与标签的对应特征联系,最后在验证集中验证分割结果。
核磁共振检查期间,由于MR成像设备内部磁场不均匀,产生低频、平缓信号,产生偏移场,同时受人体组织差异性和外部环境干扰,MR图像可能出现灰度变化缓慢、分布不均匀和同一组织呈现不同灰度值等情况,这些情况严重影响深度学习自动分割精度。故本文首先编程实现校正MR图像的偏移场[20],然后采用传统灰度变换归一化法[21]处理图像灰度不均问题。
所有实验以装配CPU CoreTMi9-9900k和显卡NVIDIA GeForce RTXTM2080Ti的计算机为硬件平台;以Python3.7.6和Tensorflow-gpu 1.14支撑的Keras为实验软件平台。
SpineSagT2Wdataset3数据共2 460张MR图像,实验中随机将这些图像划分成2 360张训练集和100张验证集。在深度学习中训练样本越多,训练效果越好,模型的泛化能力越强。因此在提出的网络模型训练前先对原数据集增强,数据增强的内容包括图片随机旋转、错切、放大缩小等,图片变换造成的内容缺失部分用临近值方式填充,详细参数设置如表2,增强后的数据集为307 232张。
表2 数据增强参数Table 2 Data enhancement parameters
搭建的网络模型和对比网络模型训练时设置训练批尺寸为4,训练轮次150次,每个轮次输入256张图片数据,采用提前结果回调机制。首次训练采用U-Net的预训练权重,设置初始学习率为0.000 1,采用Adam优化器计算自适应学习率。如图6,训练中输出中间层特征热力图来更好地监测学习过程。
轻量级的CBAM模型不会增加整个网络的额外开销,并且可提升模型的性能。本研究提出的网络模型同样采取了CBAM模型,并进行消融实验;同时用不同的网络模型分割SpineSagT2Wdataset3数据集,验证提出的网络模型的优越性能。
实验1为提出的网络模型不加CBAM模块;实验2为提出的网络模型所有SC-CNN模块后加入CBAM模块;实验3为提出的网络模型上采样中的SC-CNN模块后加入CBAM模块;实验4为提出的网络模型下采样中的SC-CNN模块后加入CBAM模块;实验5为提出的网络模型中间层的SC-CNN模块后加入CBAM模块。表3为消融实验中DCS系数与PA系数评价指标的对比和模型参数量,实验3中DCS系数分割精度最高,PA系数与其他实验都接近,医学图像分割任务中通常用分割精度决定模型优越,提出的网络模型最终在上采样中的SC-CNN模块后加入CBAM模块,消融实验结果证明在网络训练中能更有效地提取特征,有利于提高分割精度。
表3 消融实验结果对比Table 3 Comparison of ablation test results
在消融实验的基础上,实验(a)、(b)、(c)、(d)分别为FCN、U-Net、UNet++和DeeplabV3+网络模型分割SpineSagT2Wdataset3数据集的对比实验,(e)为本研究提出的网络模型。表4给出各对比模型分割结果的平均DCS系数、PA系数、训练时间、提出的网络模型相对其他模型DCS系数提升幅度。在表4中,提出的网络模型的参数量与训练时间都低于其他模型,PA系数和DSC系数指标明显高于对比模型。为证明提出模型的优势,在结果中选出了不同椎体数量、角度的三幅图来对比实验分割效果与标签。如图7所示。红框内为不同模型分割结果与标签的差异,(a)组中三幅图的边缘处存在分割伪影,且存在多余分割信息。(b)组中存在分割信息的缺失,伪影多存在于分割的椎体上,且有一处出现椎体粘连。(c)、(d)两组相对(a)、(b)两组在椎体边缘处存在少数伪影,有椎体粘连但分割错误信息较少。(e)组几乎不存在分割伪影问题,虽然有一处粘连但对比其他四组分割效果更接近标签。伪影较少很大程度是因为提出的SC-CNN有效提取多尺度信息保证了边缘细节的分割。
表4 实验结果对比Table 4 Comparison of experimental results
对比实验结果证明SC-CNN模块提取多尺度特征,互补不同通道特征差异,Res-Path模块关联前后特征,跳跃连接传送中间特征,CBAM模块加强有效信息提取,这些工作都有助于提升网络模型分割精度。
本研究对脊柱MR图像手工分割步骤繁琐、分割精度不高、结果难以复现、深度学习特征提取片面、上下文信息联系缺失等问题,提出了一种端到端自动分割脊柱MR图像的深度学习方法。该方法提出对称通道卷积神经网络(SC-CNN)并在上采样、中间层及下采样过程中多次使用;用残差连接模型Res-Path连接上采样和下采样中SC-CNN提取的特征,同时把中间特征通过跳跃连接输出到下一层SC-CNN;最后在卷积层后加入CBAM模块。提出的网络模型能有效解决训练中网络退化,多维度特征信息提取与互补,低分辨率语义信息和高分辨率细节语义信息丢失等问题。本研究对所提方法设计消融对比实验,并与表现优异网络模型进行比较,提出的网络模型分割结果的平均DCS系数为0.861 9,PA数为0.938 8,明显优于其他模型。后续工作将进一步改进模型结构,用不同分割数据集验证所提模型,提升模型泛化能力,以达到临床中实时准确分割图像的目的。