发明内容
本发明要解决的技术问题是提供一种基于场景感知融合网络的脊柱核磁共振图像分割方法,采取场景感知融合网络解决脊柱MR图像中类间差异小、类内差异大,且高维度3D图像带来的较大计算开销问题。
为了达到上述目的,本发明采取以下技术方案:
一种基于场景感知融合网络的脊柱核磁共振图像分割方法,包括如下步骤:
S1:输入脊柱的核磁共振图像,提取图像的低层特征,中层特征和高层特征;
S2:使用ASPP对高层特征进行处理,增大其感受野以及获得多尺度信息; ASPP(Atrous Spatial Pyramid Pooling),是空洞空间卷积池化金字塔,是一种处理算法。
S3:通过多尺度特征融合的方法,增大低层特征和中层特征的场景感知能力;
S4: 对经过S2处理后的高层特征,使用全局自适应池化进行进一步处理,得到新的高层特征:
其中,R 表示新的高层特征,GAP 表示全局自适应池化,Fh表示S2中处理过的高层特征,B 表示批处理大小,C表示通道数,两个1表示特征图的高度和宽度都为1;
S5: 采用 Sigmoid 函数对
R 进一步处理为
;
S6:使用注意力机制模块对S5中处理得到的R进行处理,并将经注意力机制模块处理后的R依次与Fl 以及FM点乘得到新的高层特征;
其中Fl 表示经过S3处理过的低层特征,FM表示经过S3处理过的中层特征;
S7:将S6得到的新的高层特征,经过S3处理过的低层特征,经过S3处理过的中层特征均采样到相同尺寸,并进行通道维度拼接,输出最终结果。这个最终结果会通过像素点体现出脊柱的分割。
优选的,S1 中,特征提取过程具体包括:
S11:在特征提取前,对输入图像进行CBR处理,其中CBR处理是指:对输入图像首先进行卷积核为3×3×3的3D卷积处理,然后进行正则化和Relu激活函数增强特征图的非线性。
优选的,低层特征获取过程如下:
S12: 对经S11处理的图像进行卷积核为 3×3×3 的 CBR处理过程;对得到 的图像采用两个分支进行处理,一个分支为卷积核为3×3×3 的CBR 处理,另一个分支为卷积核为1×1×1 的CBR处理,然后将两个分支的结果进行逐元素相加,得到低层特征。
优选的,中层特征、高层特征的提取过程为:
S13:将低层特征图像作为输入图像重复一次S12的处理过程,获得中层特征;
S14:将中层特征图像作为输入图像重复两次S12的处理过程,将输出图像经过三个带有空洞率的卷积核为 3×3×3 的CBR处理后,得到高层特征。
优选的,S12 在得到低层特征的第一次执行时选取的所有卷积步长为1×2×2,而在S13与S14执行时选取的所有卷积步长为1×1×1;注意到S12第一次执行时得到了低层特征,S12在S13的重复执行中得到了中层特征,在S14中重复两次执行得到了高层特征,因此上述所说的执行的含义得到明确。
优选的,步骤S2具体包括:
S21:采用一个五分支结构对高层特征进行并行处理,然后将这五分支的输出进行通道维度拼接,并用1×1卷积层降维至给定通道数,得到最终输出;
S22:通过自注意力机制,依次从空间维度、通道维度上对高层特征进行处理。
优选的,S21中的五分支结构为:
分支1:用一个 1×1 的卷积对高层特征进行降维;
分支2:用一个填充为6,扩张率为6,核大小为3×3的卷积层对高层特征进行卷积;
分支3:用一个填充为12,扩张率为12,核大小为3×3的卷积层对高层特征进行卷积;
分支4:用一个填充为18,扩张率为18,核大小为3×3的卷积层对高层特征进行卷积;
分支5:用一个尺寸为高层特征大小的池化层将高层特征池化为1×1,再用一个1×1的卷积进行降维,最后,上采样回原始输入大小。上采样 (upsampling):又名放大图像、图像插值;主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。
优选的,S22中所述自注意力机制过程包括位置注意力机制和通道注意力机制。
优选的,步骤S3具体包括:使用四个并行分支对输入的低层特征或中层特征进行并行处理,然后将每个分支进行逐元素相加,再将四个分支的结构进行通道维度拼接, 由此增大低层特征或中层特征的场景感知能力。
本发明相对于现有技术的优点在于,本发明提取出了三个不同大小的特征,由浅入深,语义信息逐渐丰富,但细节信息也随着分辨率的减小而减小 。本发明还使用ASPP对高层特征进行处理,增大其感受野以及获得多尺度信息。本发明既可得到更优秀的脊柱分割识别结果,且计算量更小。
实施方式
下面结合附图对本发明的具体实施方式作描述。
首先介绍特征提取网络,如图2所示,包括如下步骤:
S11:将输入图像 (脊柱的核磁共振图像) 首先进行卷积核为3×3×3的3D卷积处理,然后进行正则化和Relu激活函数增强特征图的非线性,并称此卷积、正则化、Relu 激活函数增强非线性的处理过程为CBR过程。
S12:对S11提取的特征图进行卷积核为3×3×3的CBR处理过程;对得到的图像采用两个分支进行处理,一个分支为卷积核为3×3×3的CBR处理,另一个分支为卷积核为1×1×1的CBR处理,然后将两个分支的结果进行逐元素相加,得到低层特征;
S13:将低层特征图像作为输入图像重复一次S12的处理过程,获得中层特 征;
S14:将中层特征图像作为输入图像重复两次S12的处理过程,将输出图像经过三个带有空洞率的卷积核为3×3×3的CBR处理后,得到高层特征。
上述过程中,S12 在得到低层特征的第一次执行时选取的所有卷积步长为1×2×2,而在S13与S14执行时选取的所有卷积步长为1×1×1。
本发明提取出了三个不同大小的特征,分别是底层特征 low(128×18×64×32),中层特征 middle(128×18×32×16),高层特征 high(128×18×16×8),括号横纵的数字表示B×C×H×W,B表示batch size(批处理大小),C表示 channel (通道数),H表示特征图的高度,W表示特征图的宽度。
这三层特征,由浅入深,语义信息逐渐丰富,但细节信息也随着分辨率的减小而减小。而如何将语义信息和细节信息进行融合处理,并解码得到最后的脊柱分割结果,则是SAFNet的重点。
首先本发明使用ASPP对高层特征进行处理,增大其感受野以及获得多尺度信息。具体来说,采用一个五分支结构进行并行处理:
分支1:用一个1×1的卷积对input 进行降维
分支2:用一个padding为6,dilation为 6,核大小为3×3 的卷积层进行卷积
分支3:用一个padding为12,dilation为12,核大小为3×3的卷积层进行卷积
分支4:用一个padding为18,dilation 为18,核大小为3×3的卷积层进行卷积
分支5:用一个尺寸为input大小的池化层将input池化为1×1,再用一个1×1的卷积进行降维,最后,上采样回原始输入大小。
最后将这五层的输出进行通道维度拼接,并用1×1卷积层降维至给定通道数,得到最终输出。
而后从空间角度和通道角度,通过自注意力机制,依次从空间维度、通道维度上对高层特征进行处理。
自注意力机制包括Position Attention Module(位置注意力机制)和ChannelAttention Module (通道注意力机制) 。
如图2所示表示Position Attention Module,对于输入特征
[其中 B表示batch size (批处理大小),C表示channel (通道数),D表示特征图的深度,H表示特征图的高度,W表示特征图的宽度],用卷积核为(1,1,1)的3D卷积(降维),然后将其空间维度展开,变化为/>
,其中 (N=D×H×W),然后对另一个并行分支也做相同的处理,然后做矩阵乘法,即可得到N×N的矩阵,然后Softmax操作,得到空间位置上的权重概率,再与第三个分支点乘,然后用残差结构与输入特征进行链接。如图3所示,Channel AttentionModule同理。
此外,对于low和middle特征,我们使用了四个并行分支,即每个分支进行特征降维(1/4),这时每个分支均有两个不同的空洞率,分别为: (1,2),(1,4),(1,8),(1,16);然后每个分支的进行逐元素相加,再将四个分支的结构通道维度拼接在一起,这样能增大两层特征的场景感知能力。
对经过处理后的高层特征,使用全局自适应池化进行进一步处理,得到新的高层特征:
;
其中,R 表示新的高层特征,GAP表示全局自适应池化,Fh表示S2中处理过的高层特征,B 表示批处理大小,C 表示通道数,两个1表示特征图的高度和宽度都为1;
使用注意力机制模块继续对R进行处理,并将经注意力机制模块处理后的R依次与Fl以及FM点乘得到新的高层特征;
其中Fl表示经过S3处理过的低层特征,FM 表示经过S3处理过的中层特征;
将最后得到的高层特征、低层特征、中层特征均采样到相同尺寸,并进行 通道维度拼接,输出最终结果。
一个实验实施例如下,这个实验实例中采用了本发明方案以及其他现有方向进行训练对比,并且使用的数据集就是脊柱分割的数据集:
数据准备:
本次实验数据集为脊柱分割挑战赛开源数据集(比赛已经结束,只能下载得到训练集和验证集),因此我们将训练集和验证集混合在一起,共计172个样本,然后使用五折交叉验证的方式,选择138个样本作为训练集,4个样本作为验证集,剩下30个样本作为测试集。由于交叉验证采用随机打乱组合的方法,因此对模型性能的评估更具说服力。
数据预处理:
对于所有的输入图像都进行了裁剪,重采样,填充,正则化操作。在裁剪阶段,对于一张
的MR图像,我们使用一个大小为/>
的边界框来根据图像中心裁剪图像以去除不包含脊柱的部分,然后我们将裁剪后的MR图像进行重采样和填充,使其大小全部归一化为18×256×128。最后我们使用MR图像减去平均值,并除以标准差,完成最后的归一化(Normalization)操作。
对比方法:为了对我们的方法的优越性进行评定,我们选择了多个方法进行对比,分别是UNet3D,ResUNet3D, Deeplabv3+3D, SpineParseNet。
实验环境:
本次实验基于Pytorch1.8.1和cuda11.1的框架进行,共使用了四张显存为24GB的GeForceRTX3090开展实验。实验过程采用Adam优化器,初始学习率为
,训练批次为50个epoch,模型保存策略为,每个epoch训练结束后,均在验证集上开展验证,整个训练过程中保留验证集上精度最高的模型。
评价指标:本次实验采用的评价指标为Dice,即计算测试集上所有测试样本的Dice,并取均值,得到mDice;其中Dice是语义分割的评价指标的一种,用来衡量分割结果的准确率。
训练时使用了五折交叉验证,五折交叉验证的步骤如下:
步骤1:将数据分为5堆;
步骤2:选取一堆为测试集,另外四堆为训练集;
步骤3:重复步骤2五次,每次选取的训练集不同;
下表中 Fold_1对应于第一次进行步骤2,Fold_2对应于第二次进行步骤2,以此类推。实验结果如下表:
Baseline |
_Fold 1 |
_Fold 2 |
_Fold 3 |
_Fold 4 |
_Fold 5 |
UNet3D |
80.62 |
78.65 |
83.88 |
81.42 |
84.55 |
ResUNet3D |
85. 15 |
83.22 |
85.51 |
85.66 |
86.33 |
DeeplabV3+ 3D |
84.57 |
82.47 |
85.24 |
84.45 |
86.27 |
SpineParseNet |
85.39 |
84.82 |
86.97 |
85.79 |
87.03 |
Ours |
85.66 |
85.02 |
87.52 |
86.20 |
87.65 |
表格中的数字表示每个Fold的mDice得分;mDice是所有测试样本的Dice取均值得到,Dice是计算的模型分割的区域与人工标记的区域的相似度,Dice 越大,证明分割的效果越好。
表格中最后一行对应本发明方法,它对应的mDice得分最高,可见分割效果最好。可见通过采用公开数据集,跟主流公开方法进行对比以后,实验结果表明本发明方法优于现在的主流公开方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。