1. 引言
脑肿瘤[1]作为病死率高的肿瘤之一,一直是令人恐惧的疾病,它是一种脑组织的癌症,是当脑组织癌变或转移到颅骨中的其他组织时形成的。而随着医学成像技术的发展,成像技术逐渐应用于肿瘤检测,最初是使用计算机断层扫描(CT)技术进行检测,但随着磁共振的发展,结合数字图像重建的理论和技术,磁共振成像[2] (MRI)就慢慢形成,因为它具有许多成像参数且不会造成电离辐射损伤身体,所以逐渐成为医学脑肿瘤检测的主流[3]。然而,目前大多数临床脑肿瘤的诊断都是基于临床医生的经验,所以诊断时对肿瘤图像的要求很高,否则很容易错过患者的最佳治疗时期[4]。因此,如何通过颅部图像对脑肿瘤进行有效诊断,减少诊断错误已成为许多研究者关注的焦点。
此前,许多技术被开发用于MRI图像中脑肿瘤的分割,常见的图像分割方法包括:区域增长法[5]、基于聚类的方法[6]、基于阈值的方法[7]和基于边缘的方法[8],然而这些技术对噪声与伪影的敏感性和技术的时效性是有限的。随着计算机的发展,大量基于深度学习[9]的脑肿瘤图像分割算法被提出。例如,Ronnerberger [10]等人通过转置卷积、上采样、融合上下文特征和细节特征形成U-Net,可以获得足够的数据特征,且分割效果明显优于全卷积网络,但仍存在边缘细节丢失的问题;Huang [11]等设计一种前置跳跃连接倒残差U形网络来解决特征提取过程中信息丢失的问题;Cao [12]等提出上下文注意模块,利用空间上下文信息捕获和过滤高级特征,在解码结构中引入通道注意力机制以实现高级特征与低级特征的融合;Maji [13]等利用一种具有引导解码器的Res-UNet深度学习架构,来指导每个解码器层的学习过程生成更好的特征图;侯奕辰[14]等提出一种残差块替换编码器部分的密集连接UNet++脑肿瘤自动分割网络,以提高脑肿瘤分割的准确性;张顾瀛[15]等采用通道交换和Swin-transform技术来获得图像局部互补特征。虽然以上算法在脑肿瘤图像分割任务中都有较好的效果,但是仍然存在脑肿瘤图像边缘分割模糊、图像存在不均衡的特点和梯度消失等问题。
针对以上问题,本文提出一种改进的U-Net编解码架构,主要的改进内容为:引入MCAM模块替换UNet++的特征提取部分,通过CA注意力机制获取不同方向上的位置信息来增强模型对脑肿瘤图像特征的提取能力,通过Mish激活函数来防止梯度消失,从而提升模型对脑肿瘤图像特征语义的充分提取。采用SME模块对特征提取后的特征图进行挤压和激励,进一步扩大模型感受野,以加强特征图对肿瘤区域关注度,使其专注于肿瘤区域的学习,从而提高脑肿瘤图像分割精度。设计焦点Dice损失函数,解决脑肿瘤图像边缘分割模糊的问题。
2. 本文方法
2.1. 整体框架
针对脑肿瘤图像分割边缘精度不高、过拟合和感受野不足等问题,本文对UNet++进行改进,提出CA-UNet++网络模型,网络结构如图1所示。该网络以UNet++为原始结构,用MCAM模块替代原来的特征提取部分,增强网络提取语义信息的能力;再将各层MCAM模块的输出特征图通过SME模块进行挤压和激励,让模型能更精准的关注重要特征而抑制不重要的特征;输出的特征图使用二维最大池化(MaxPooling2D)的方式下采样到下一层,下一层的特征通过双线性插值上采样后融合上一层的特征,最后与同一层的模块跳跃连接进行融合输出;对模型最上层的模块通过1 × 1卷积进行降维后输出,监督Encoder编码部分的每个分支,最后得到效果最佳的肿瘤分割图。
Figure 1. Improving the overall structure of the UNet ++ model
图1. 改进UNet++模型整体结构
2.2. MCAM模块
UNet++网络和UNet网络都是基于Encoder-Decoder编解码模型的框架,Zhou [16]等人利用图像分割中的多尺度特征重新设计跳跃连接,在UNet的基础上提出了UNet++,整个网络的特征提取都依靠两次的卷积、BN标准化和激活操作的模块来实现,但是层数的增加,不仅会使网络训练更困难,特征提取能力也会有所不足。因此本文提出一个新的MCAM模块来替代原网络的模块,利用深度残差学习框架原理,在有效提取脑肿瘤图像语义信息的同时,增强特征提取的能力和抑制过拟合的发生。
模块结构如图2所示,首先设计两路对输入特征图进行不同的卷积操作,一路通过3 × 3卷积后进行BN标准化,最后通过Mish激活操作,主要的目的是拟合残差;另一路通过1 × 1卷积再进行BN标准化,在保留浅层网络特征的同时,避免出现网络深度增加而退化的问题。然后经过CA注意力机制增强对边缘分割的能力,连接两分支进行激活后,最后通过1 × 1卷积将特征维度恢复到原特征维度,作为下一个特征提取的输入。总体的计算过程为:
(1)
式中:
表示输出特征图,
表示输入特征图,S表示Sigmoid激活函数,C1和C3分别表示1 × 1卷积和3 × 3卷积操作。
Figure 2. MCAM module
图2. MCAM模块
2.3. SME模块
在卷积神经网络中,感受野是用来决定一层输出结果中一个元素对应的输入层大小,特征图的感受野越大,获得的全局信息越多,越有利于分割。受文献[17]的启发,本文提出一个SME模块,该模块结构如图3所示。整个模块首先是对输入的特征图进行1 × 1卷积操作,为防止信息连续性的损失,引入全局平均池化层(Global Average Pooling)进行特征图的挤压(Squeeze)操作,得到一个长度为N的实数列,通过挤压使通道上的特征图获取全局的感受野,让浅层特征图也能利用全局信息,得到丰富的语义信息的同时增强网络特征的可解释性;然后将得到的实数列通过全连接层降维,变成1 × 1 × (N/x)的向量(x是挤压比,在本文中取16),再使用Mish激活函数升维回到1 × 1 × N的向量,输入到Sigmoid激活函数中计算通道的权重系数,实现激励(Excitation)操作;为更新特征图,最后将权重系数与对应特征通道相乘。
Figure 3. SME module
图3. SME模块
2.4. 注意力机制
在处理长序列、大图像等复杂任务时,传统的深度学习模型存在着信息丢失和计算开销大的问题,为了解决这些问题,注意力机制被提出并引入到深度学习模型当中,以提高模型的性能。注意力机制能够以高权重聚焦重要信息,以低权重忽略非相关信息,还可以不断调整权重,使得在不同的情况下也可以选取重要的信息。
随着级联卷积和非线性变化的叠加,在高层输出特征图时,空间细节特征通常会消失,这会导致分割任务的准确率降低,因此本文引入文献[18]中的CA注意力机制。如图4,该注意力机制主要分为两个部分:坐标信息嵌入部分和坐标注意生成部分,前者对水平坐标和垂直坐标中的通道信息进行编码,而后者捕获位置信息并生成权重值。CA注意力机制可以关注每个坐标中的位置信息,比原始通道注意力机制具有更好的能力,并且能够增强对肿瘤全局位置的学习能力,从而减少UNet++模型误分割的结果。
Figure 4. Coordinate Attention module
图4. Coordinate Attention模块
2.5. 激活函数
激活函数是一种非线性的点级函数,负责对神经网络层中的输入进行非线性变换,激活函数的选择对于理解神经网络的性能至关重要。原始UNet++网络使用的是ReLU激活函数,ReLU有着收敛速度快、计算速度快和训练稳定的特点,公式为:
(2)
当输入x大于0时,输出为x,否则输出都为0。但该函数也存在不足,当非常大的梯度流过一个ReLU神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象,梯度永远为0,出现坏死现象,所以出现梯度消失的问题,网络难以更好的训练。而本文采用Misra [19]等提出的Mish激活函数替换原始网络的ReLU激活函数,Mish激活函数的公式为:
(3)
Mish和ReLU激活函数的曲线如图5所示,从中可以看出,在x > 0的部分,Mish激活函数和ReLU激活函数一样,是无边界的,没有饱和区,可以防止梯度弥散,而x < 0的部分,ReLU激活函数的输出值始终为0,Mish激活函数却有着明显的负凹度,这保留了负权重,能通过更好的梯度流,有效的防止网络饱和,进而提高网络的进则化效果。由于Mish激活函数曲线具有平滑的特点,在0值点处连续,能减少一些不可预测的问题,使网络更容易优化和提高泛化性能。
Figure 5. Plot of the ReLU and Mish activation functions
图5. ReLU和Mish激活函数曲线图
2.6. 损失函数
Shruti Jadon [20]等提出了log-cosh Dice损失通过Lovsz延展添加平滑来解决Dice coefficient损失的非凸函数问题,公式为:
(4)
(5)
其中
表示log-cosh Dice损失函数。
虽然log-cosh Dice损失解释了非凸性的问题,但同样的损失系数也被用于不同的分割样本,这不利于具有不同训练差异的分割样本。本文将在网络训练阶段采用结合焦点损失和log-cosh Dice损失的函数,称为焦点Dice损失函数,它通过减少容易分割样本的权重,增加模糊分割样本的权重来实现对不同样本的自适应变化,使模型在训练过程中更关注难以分割的样本,集中于模型的分类能力和模型的分割能力。合成的损失函数公式为:
(6)
其中w1表示FocaLoss的权重,w2表示DiceLoss的权重,
为调节因子。
3. 实验过程与实验分析
为了评估改进UNet++模型的脑肿瘤分割性能,本文所使用的实验环境为:64位的Windows 10操作系统,cuda 12.2版本,开发语言为python 3.8,以pytorch 1.12深度学习框架进行构建,用NVIDIA GeForce RTX 3060 Laptop GPU进行训练。实验模型使用优化器为SGD,初始学习率为0.001,动量系数和权重衰减分别设置为0.9和0.0001,设置每批次数量(batch size)为8张图片,训练迭代次数为200。
3.1. 实验数据集及预处理
本文实验使用的数据集来自Figshare数据库,是2005年至2010年在广州南方医院和天津医科大学总医院患有不同脑肿瘤疾病的233位病人中获取的图像,该数据集从kaggle中下载,主要分Testing和Training两部分。Testing包含神经胶质瘤183例、脑(脊)膜瘤306例、无肿瘤405例和垂体300例;Training包含神经胶质瘤339例、脑(脊)膜瘤1304例、无肿瘤1595例和垂体1457例。Figshare数据集中图片大小不一,故将其全部裁剪为256 × 256大小的图片进行训练,本实验取用Training中除无肿瘤的图片并对其进行标注,以80%和20%的比例分别作为训练集和验证集使用。
3.2. 评估指标
为验证本文研究算法的有效性,选择了图像语义分割常用的评估指标对本文算法进行评估,主要包括了MIoU、MPA、Dice和Hausdorff等评估指标。
MioU (均值交并比)是计算出所有类别的交互合并比率的平均值,是语义分割的常用标准度量函数。它的公式如式(7)所示,其中k为类别、i为真实值、j为预测值、pij表示预测i到j的像素数,pji表示预测j到i的像素数,pii表示正确预测的像素数。
(7)
MPA (类别平均像素准确率)是PA的平均值,PA表示正确预测的像素数与总像素数的比值,MPA是各类别的累计平均数。它的公式如下:
(8)
Dice (骰子系数)是一种判断两个样本的相似度测量函数,两个输入集之间的相似性越大,Dice的系数越大,分割模型也就越准确,是图像分割的重要指标之一。它的公式如式(9)所示,其中TP表示样本的预测值与真实值都为正,FP表示样本的预测值为正,FN表示样本的预测值为假,真实值为正,真实值为负,Y表示预测的目标,X表示真实值。
(9)
Hausdorff distance (豪斯多夫距离)用于计算真实值边界与预测值边界之间的距离,两者之间的距离越小,表示分割的越好。它的公式如式(10)所示,其中
表示A到B的豪斯多夫距离,
表示B到A的豪斯多夫距离,HD表示最后取两者中的最大值。
(10)
3.3. 实验结果与分析
3.3.1. 不同技术性能对比实验
为测试不同的技术对改进UNet++分割性能的影响,本文以UNet++为原始框架,将替换不同激活函数和加入不同注意力机制模块做对比实验,结果如表1所示。数据表明,Tanh函数在MPA和HD都有不错的效果,但Mish函数在MIoU比Tanh高2.81%,综合来看,使用Mish函数有更好的分割精度。而在引入不同注意力机制模块的数据中,CA注意力机制虽然对比CBAM在MPA上低0.29%,但是其他数据上均有明显的优势,因此本文算法采用Mish激活函数和CA注意力机制进行实验。
Table 1. Comparing the different technical performance results
表1. 不同技术性能对比结果
模型 |
激活函数 |
注意力机制 |
MIoU/% |
MPA/% |
Dice/% |
HD(mm) |
UNet++ |
ReLU |
- |
80.71 |
81.23 |
84.96 |
22.35 |
Tanh |
- |
78.75 |
81.44 |
85.11 |
20.39 |
Swish |
- |
81.37 |
81.38 |
82.53 |
21.03 |
Mish |
- |
81.56 |
81.37 |
85.34 |
20.54 |
Mish |
SE |
80.25 |
81.21 |
82.44 |
22.07 |
Mish |
CBAM |
78.78 |
82.63 |
83.29 |
21.98 |
Mish |
ECA |
81.53 |
81.49 |
84.66 |
20.75 |
Mish |
CA |
82.48 |
82.34 |
85.21 |
20.17 |
注:粗体表示最优值。
3.3.2. 消融实验
为验证所提出改进点的可行性,本文以UNet++模型为基础,逐一组合不同的技术进行了更为详细的消融实验,结果如表2所示。其中M1表示基础模型UNet++,M2表示将M1的特征提取部分替换MCAM模块(使用原先的ReLU激活函数),M3表示将M2的ReLU激活函数替换成Mish激活函数,M4表示在M3的MCAM模块输出后加入SME模块,最终构成本文算法。
Table 2. Comparison of the ablation experiments on the Figshare dataset
表2. 在Figshare数据集上的消融实验对比
方法 |
MIoU/% |
MPA/% |
Dice/% |
HD (mm) |
M1 |
80.71 |
81.23 |
84.96 |
22.35 |
M2 |
81.64 |
81.44 |
85.55 |
21.74 |
M3 |
82.07 |
82.12 |
85.56 |
20.77 |
M4 |
83.26 |
81.91 |
86.45 |
18.57 |
注:粗体表示最优值。
在M2操作下,整体的参数指标均有增长,MIoU提升0.93%,MPA提升0.21%,Dice提升0.59%,HD减少0.61 mm,表明增加1 × 1卷积分路和引入CA注意力机制能有效定位肿瘤区域;在M3操作下,替换Mish激活函数后构成MCAM模块,参数指标又有所增长,MIoU提升0.47%,MPA提升0.68%,Dice提升0.01%,HD减少0.97 mm,HD的显著降低表明能使模型获取更多的语义信息,掌握更多边缘的细节;最后M4阶段加入SME模块后,MIoU达到83.26%,Dice达到86.45%,HD达到18.57 mm,而MPA比M3阶段减少0.21%,整体的指标最优,证明本文做出的算法改进能实现对脑肿瘤图像的准确分割。
3.3.3. 不同模型的对比实验
本文将Figshare数据集分别在所提出的模型和其他主流模型上对UNet、UNet++、3Dunet [21]、Swin-Unet [22]、DD-Unet [23]、LRAE-Unet [24]和AI-Unet [25]进行训练对比,目的是验证改进的UNet++模型的先进性,为避免其他因素的干扰,实验将各模型设置为相同的训练参数,所得的实验结果如表3所示。在表中,本文算法在不同指标MIoU、MPA、Dice、HD的结果分别为83.26%、81.91%、86.45%和18.57 mm。实验数据显示本文模型各项指标都比其他模型的结果更好,意味着在Figshare数据集上的分割效果更准确,能够提取的语义信息更多,精度更高,这证实了该模型在处理脑肿瘤图像分割任务时,有强大的学习能力。
Table 3. Comparison results of different models on the Figshare dataset
表3. 不同模型在Figshare数据集上的对比结果
Method |
Evaluation index (%) |
MIoU |
MPA |
Dice |
HD (mm) |
UNet |
79.37 |
78.91 |
84.37 |
27.54 |
UNet++ |
80.71 |
81.23 |
84.96 |
22.35 |
3DUnet |
81.11 |
80.54 |
85.31 |
34.12 |
Swin-UNet |
80.27 |
79.55 |
83.56 |
37.35 |
DD-UNet |
81.75 |
80.86 |
84.99 |
21.57 |
LRAE-UNet |
82.23 |
80.91 |
85.37 |
20.88 |
AI-UNet |
81.59 |
81.37 |
85.12 |
20.76 |
UNet++ (MCAM) |
83.26 |
81.91 |
86.45 |
18.57 |
注:粗体表示最优值。
数据集在不同模型上训练过程的损失值如图6所示,实验设置的迭代次数固定为200轮,图中的曲线变化能够反映模型在训练过程的波动情况,损失值越小表示模型的鲁棒性越好。其中3DUnet的曲线震荡幅度最大,意味着该模型在训练过程中不稳定,而本文设计的模型损失值曲线在50轮的时候就趋向稳定,收敛的速度快,并且损失值明显低于其他模型,表明本文模型能有效降低非关键信息的影响,整体拟合程度更好,还有较好的泛化性。
Figure 6. Training of the loss curve
图6. 训练loss曲线
3.3.4. 不同模型的分割结果可视化分析
为了验证模型对脑肿瘤图像的分割效果,本文实验得到一系列可视化对比图,如图7所示。图中显示的是通过5种不同模型对不同类型脑肿瘤的分割结果和真实标签GT (Ground_Truth)的对比,其中白色区域代表胶质瘤肿瘤,红色区域代表脑膜瘤肿瘤,绿色区域代表垂体肿瘤。从图中可以看出,UNet、Swin-UNet、UNet++、3DUnet、DD-UNet、LRAE-UNet和AI-UNet对不同脑肿瘤的分割结果与GT相比差异较大一点,特别是边缘的细节不是很理想,会出现缺失或增多的现象。而本文模型对脑肿瘤图像的边缘细节分割的更好,肿瘤边缘处更加平滑,总体分割效果明显优于其他模型,能够得出该模型对Figshare数据集具有良好的鲁棒性和细节提取能力。
Figure 7. Plot of segmentation visualization of different models
图7. 不同模型的分割可视化对比图
4. 结论
针对当前脑肿瘤医学图像分割模型特征提取不充分、精度较低等问题,提出一种改进的UNet++脑肿瘤分割算法。首先,设计MCAM模块替换原网络中特征提取部分并结合坐标注意力机制CA捕捉上下文之间信道信息和位置关系的能力,提升主干网络在长距离空间上捕捉特征信息的交互能力,抑制网络退化;其次,设计SME模块对提取到的特征信息进行挤压和激励,减少图像伪影干扰,增强高频信息的加权融合。在Figshare数据集上的实验结果表明,改进的UNet++算法在脑肿瘤分割任务上相较于Swin-UNet、3DUNet、DD-UNet、LRAE-UNet和AI-UNet等主流模型有更好的精度表现。在MIoU、MPA、Dice和Hausdorff评估指标上分别达到83.26%、81.91%、86.45%和18.57 mm。今后将继续对模型进行优化,通过引入弱监督和无监督等方法减弱模型对数据的依赖,提高对不同尺度病变区域的特征融合能力,应对脑肿瘤不同区域的分割情况,为我国医学图像分割提供助力。