



本节提出多尺度特征融合的脊柱X线图像分割网络,将全局特征与局部细节特征融合,提高了椎体分割精度。基于分割结果在2.4节提出Cobb角的测量算法,实现Cobb角的自动测量。
本章提出的改进的U-Net分割网络结构图如图2.6所示,这是在U-Net模型的基础上改进而来的。输入图像的大小为256×256,训练图像只有一个通道。本章采用了可以实现多尺度卷积的Inception模块 [33] 替换了U-Net的下采样卷积核,并在Inception模块的后面加入了残差模块用于解决多尺度特征提取训练时可能存在的梯度爆炸和梯度消失问题。输入的图像经过4次下采样操作后,特征图的大小逐渐减小,深层的特征也逐渐被网络提取。在网络的瓶颈层,加入了卷积块注意力模块(Convolutional Block Attention Module,CBAM) [34] ,用于网络特征提取的注意力监督。通过跳跃连接路径,对浅层特征与上采样恢复的特征进行融合。最后经过4次上采样,特征图恢复了原图大小并最终输出分割结果。
图2.6 改进的U-Net分割网络结构图
对于CNN,深层的神经网络通常比浅层的神经网络具有更好的特征提取性能。Inception网络 [33] 是一种利用多尺度卷积核提取更丰富的图像特征并进行特征融合以获得更好特征表示的方法。Inception网络在不增加网络深度的情况下拼接不同尺度的卷积核,从而获得更好的性能。
在神经网络发展的过程中,研究者们发现提升网络性能最直接的方法就是增加网络的宽度和深度,但是这样的方式通常容易带来以下3个问题:①随着网络的宽度和深度的增加,模型参数量过大,如果训练数据集规模较小,网络很容易产生过拟合;②网络的宽度和深度加大,其计算复杂度就会加大;③随着网络的加深,网络有可能出现一定程度的梯度爆炸或梯度消失的问题。为了解决这些问题,一种常见的思路是通过更改网络结构,在减少模型参数量的同时,使得网络的宽度和深度不变。可以通过将网络的全连接变成稀疏连接,来减少模型参数。但是在神经网络结构的实际设计中,将网络的全连接层替换为稀疏连接后,网络的计算量并不会大幅度减少。为了解决这一问题,Google团队提出了Inception网络结构,实现了一个具备稀疏性和较高计算性能的模型。在最初提出的Inception V1中,Inception模块的设计与常见的CNN结构不同,一般的卷积层采用的是串联的设计思路,而在Inception模块中则是采用将多种不同规格的卷积层并联的方式。在Inception V1模块中,选择的卷积核大小分别为1×1、3×3、5×5,最终将各自所得到的特征图拼接在一起,作为这一层的输出。
Inception V2在Inception V1的基础上,采用了批归一化(Batch Normalization,BN)层,并通过使用2个3×3的卷积核来代替5×5的卷积核,进一步减少了参数量。批归一化层可以解决网络前向传播过程中产生的内部协变量偏移。而在本章所提出的模型中,需要使用3×3、5×5和7×7卷积核进行不同尺度的特征提取。然而,5×5和7×7卷积核会极大地增加网络的计算量和参数量。为了减少网络的计算量和参数量,本章结合了Inception网络的思想,分别连接2个和3个3×3卷积核来代替5×5和7×7卷积核。本章使用的改进Inception模块结构图如图2.7所示,它同时采用了1×1卷积核的短连接来提取图像的空间信息。在此模块之后,特征图将经过ReLU激活函数和最大池化层。
图2.7 本章使用的改进Inception模块结构图
多尺度卷积的Inception模块扩大了CNN的深度和宽度。而在神经网络的训练过程中,网络加深或变宽有可能导致网络出现梯度爆炸或梯度消失的问题。在ResNet [35] 中,使用1×1短连接来解决梯度爆炸或梯度消失的问题。
当图像通过Inception模块时,将3个不同尺度卷积核的特征映射连接起来。为了使输入特征与上采样层的输出特征融合,增加残差模块来调整特征图的大小,以解决梯度爆炸或梯度消失的问题。残差模块结构图如图2.8所示,它由3×3卷积核和1×1卷积核组成。同时采用ReLU激活函数和批归一化处理,可提高收敛速度。
图2.8 残差模块结构图
CBAM [34] 可以自动学习通道特征的重要性,从而关注重要特征,同时也减少了网络学习过程中无用特征的数量。CBAM包括空间注意力模块和通道注意力模块。考虑到在不同通道中像素的重要性及其在给定通道中的位置,使用CBAM将空间注意力模块和通道注意力模块集成在一起,以改善分割结果。CBAM结构图如图2.9所示,使用CBAM从特征图中提取特征,同时将空间信息和通道信息相乘并混合到特征图中,这一步可以帮助网络学习空间和通道信息,从而基于空间维度和通道维度,确定特征映射的重要性。
图2.9 CBAM结构图
如图2.9所示,给定输入特征 F ∈R C × H × W ,通过通道注意力模块和空间注意力模块,依次求解得出通道注意力 M c ∈R C ×1×1 和空间注意力 M s ∈R 1× H × W 。注意力特征处理过程如式(2-2)和式(2-3)所示:
式中:⊗表示特征图逐个元素相乘,在这个过程中,注意力的权重沿着通道维度和空间维度传递; F 2 是最终的特征图输出。
在通道注意力模块的运算过程中,网络会利用输入特征在不同的特征通道之间的关联程度来生成一个通道注意力特征图。为了得到通道注意力的权重,并与输入特征的特征图进行加权监督,网络压缩了输入特征在空间上的维度。网络空间上信息权重的聚合,则是使用平均池化操作来完成的。网络中的最大池化层整合了来自不同对象附带的特征值,通过计算得到更精确的通道注意力。通过平均池化层和最大池化层的操作,通道注意力模块整合了特征图中存在的空间信息,生成了平均池化特征图
和最大池化特征图
。接下来
和
被送入共享的网络层,生成了通道注意力图
M
c
∈R
C
×1×1
。该共享网络层是由多层感知机即全连接前馈神经网络组成。通道注意力计算为
式中, σ 为Sigmoid激活函数,MLP为多层感知机。
网络通过空间注意力模块,利用了输入特征在空间上的关系来生成空间注意力图。空间注意力模块更加关注特征在空间上的位置,可以提取通道注意力模块不能提取的空间特征,从而实现了两者的互补。空间注意力沿着通道的方向采用平均池化和最大池化的操作整合了特征图的通道信息,生成相应的平均池化特征
和最大池化特征
。之后这两个特征通过标准卷积层进行连接和卷积,生成了空间注意力图。空间注意力运算过程为
式中, f 7×7 表示维度为7×7的卷积运算。
1.实施细节
损失函数
使用改进的U-Net模型来提取脊柱X线图像中的椎体,这是一个二值分割任务,标签只有背景和椎体两种类型,因此使用二值交叉熵(Binary Cross-Entropy,BCE)作为损失函数。二值交叉熵定义为
式中,
y
为标签真实值,
是其预测值。
实验设置
实验环境是Tensorflow 1.12和Keras。实验硬件配置采用内存为8GB的RTX 2080 GPU。实验使用了2套脊柱X线图像数据集。数据集1包含185幅脊柱正位相X线图像,包括正常脊柱和青少年特发性脊柱侧凸病例,由云南省第一人民医院提供,其中110幅图像用作训练集,其余75幅用作测试集。数据集2是AASCE2019挑战赛的数据集,包含98幅正位相脊柱X线图像,用于评估由数据集1训练的分割网络的泛化性能和鲁棒性,以及后续依据分割结果计算所得Cobb角的准确性。
数据集进行标注后,进行图像预处理,将图像大小调整为256×256,同时将标签转化为二值图像。通过翻转、裁剪和缩放图像来增强训练集的数据。翻转幅度和裁剪幅度分别为0.2和0.05。翻转模式为水平模式。训练时学习率设为0.0001。
2.评价指标
使用Dice系数、精确度(Precision)和召回率(Recall)作为性能评价指标来评估分割结果可靠性和准确性,这些参数分别定义为
Dice系数用于比较分割结果 A 和标签 B 的相似度。TP、TN、FP、FN分别为真阳性、真阴性、假阳性、假阴性的数据集合。
3.分割结果评估
对分割网络,通过实验比较了不同的网络构造策略的有效性。首先在网络的不同位置添加CBAM,来评估CBAM的有效性;然后评估网络中不同模块的性能,将Inception模块、残差模块和CBAM分别加入到网络中,评估这些模块的有效性。
CBAM的有效性
表2.1显示了使用不同训练策略的分割结果。可以看到,在瓶颈层中加入CBAM的模型,与其他策略相比,达到了最高的性能。CBAM位于网络的瓶颈层,其Dice系数可以达到(81.46±0.41)%。与未添加CBAM的模型相比,Dice系数提高了3.39%。同样,在所有的池化层之前都加入CBAM,分割精度反而不高。实验结果表明,将CBAM放入网络的瓶颈层可以有效地监督网络提取图像的底层特征,达到更高的分割精度。而将CBAM放入网络的浅层池化层之前,分割精度较低,说明CBAM对于帮助网络提取深层特征有重要的作用,而在网络的浅层上提取特征帮助较小。而将CBAM放入每一个池化层之前,其分割结果较差,说明对于脊柱X线图像的分割任务,深层特征更为重要。
表2.1 不同训练策略比较
消融实验
我们设置考虑不同的网络结构来确认各模块的有效性。实验1模型是原始的U-Net。实验2则是使用Inception模块替换了U-Net的下采样卷积核,并使用了一层残差模块。实验3在实验2的基础上在网络的瓶颈层加入了CBAM。实验4在实验2的基础上使用了4层残差模块。而本章提出的方法则是在实验4的基础上,在网络的瓶颈层加入了CBAM。通过这样的消融实验来证明本章提出的方法具有最佳的性能。
消融实验分割结果可视化如图2.10所示。不同方法获得结果之间的主要差异在图像上用方框标出。从图2.10可以看出,本章模型的分割结果误差更小,分割结果接近测试集的真实标签,与原始U-Net模型相比,分割结果有明显改善。
消融实验评估结果见表2.2,与原始U-Net相比,本章方法分割结果的Dice系数提高了5.65%。实验结果表明,将Inception模块、残差模块和CBAM加入U-Net模型后,都可以提高分割精度,而且使用4层残差模块其分割精度高于1层残差模块,说明当残差模块具有一定的深度时,对网络提取特征的能力有一定的帮助。
图2.10 消融实验分割结果可视化
表2.2 消融实验评估结果
分割结果比较
进一步将本章提出的方法与已有的分割模型进行比较,Dice系数等结果及参数量见表2.3。由表2.3可以看出,相对于FCN8s [24] 、DeepLabV3+ [36] 、SegNet [37] 、U-Net [13] 、U-Net++ [25] 、BASNet [38] 和U2Net [26] 的模型,本章方法的Dice系数分别提高了32.03%、33.58%、12.42%、5.65%、4.55%、6.22%和3.04%。并且本章模型中的参数比其他网络的参数小一个数量级。实验结果表明,本章提出的方法分割精度较高,相比于其他现有的模型参数量也相对较小。
表2.3 不同模型分割精度及参数量对比结果
续表
不同模型分割结果比较如图2.11所示。可以看出,FCN8、DeepLabV3+和SegNet的分割结果较为模糊,且出现了大面积的椎体粘黏以及误分割的情况,而对于U-Net、U-Net++、BASNet以及U2Net,虽然其分割结果优于前面几个模型,但还是出现了不同程度的误分割情况,主要出现在椎体的顶部和尾部。从分割结果看出,本章提出的模型的分割性能高于其他模型。
图2.11 不同模型分割结果比较