1. 引言
脑肿瘤是在大脑、脑干、脊髓等中枢神经系统中形成的一类异常组织生长,是当今发病率和死亡率前十的恶性肿瘤之一[1]。脑肿瘤主要类型有:脑膜瘤、垂体瘤和脑胶质瘤。脑肿瘤严重威胁着人类的健康,随着肿瘤的发展,患者可能会出现颅内压升高,从而导致脑损伤,严重者甚至会致命。因此及时发现并准确判断脑肿瘤类型在治疗计划和患者护理中起着重要的作用。
头颅磁共振成像(Magnetic Resonance Imaging, MRI)是一种医学影像学检查技术,MRI可以在不使用X射线的情况下,获取头颅的三维图像,在脑部疾病的诊断中具有重要的作用。脑肿瘤的治疗和预后通常依赖于病理类型和肿瘤分级等关键指标的确定,对脑肿瘤MRI图像进行自动分类,可以帮助医生更快速、准确地诊断脑肿瘤,从而提高治疗效果和患者生存率。
目前,对于脑肿瘤MRI图像的分类方法大致分为两类,一种是基于深度学习的分类方法,另一种则是基于轻量化模型的分类方法。Mengash等[2]开发了一种基于CNN的脑肿瘤分类技术,并使用k倍交叉验证法和Hold-out测试法去评估模型的性能和泛化能力。EI Kader等[3]提出了一种基于混合深度卷积神经网络和深度分水岭自动编码的脑肿瘤分类模型(CNN-DWA)并在数据集上的分类准确率达98%。Vankdothu等[4]将卷积神经网络与长短期记忆网络相结合,提出了一种CNN-LSTM网络模型用于MRI图像中的脑肿瘤检测,其分类效果优于标准的CNN模型。Simo等[5]基于深度学习和全卷积神经网络设计了一种脑肿瘤检测模型,并探究了四种优化器对模型的优化效果,实验证明所提出的基于Nesterov动量优化算法的序列模型在脑肿瘤检测和分类中实现了高精度。Sandhiya等[6]利用Inception V3和DenseNet201深度学习架构用于提取基本特征,并使用粒子群优化核极限学习机(Particle swarm optimized kernel Extreme Learning Machine, PSO-KELM)模型对四种脑部MRI图像进行分类预测。
虽然基于CNN的网络模型在脑肿瘤图像数据集上表现出了出色的分类准确性,但传统的CNN架构往往参数量较大,并不利于实际应用。因此,越来越多的研究人员致力于轻量化脑肿瘤分类模型的研究。Lu等[7]将MobileNetV2的特征学习与经典分类器的参数优化相结合,构建了一种具有随机权值的前馈网络并用于脑肿瘤分类。Vaiyapuri等[8]采用了EfficientNet、DenseNet和MobileNet的集成模型用于脑肿瘤图像的特征提取。Luo等[9]针对CNN模型中参数量大和计算复杂度高的问题,提出了一种多视角提取和密集注意力的轻量级脑肿瘤分割网络。
本文以MobileViT_xxs[10]网络模型为主干网络,提出基于改进MobileViT模型的脑肿瘤图像分类模型,在MobileViT模型中增加CBAM模块和残差连接机制有效地增强局部和全局特征,并使用迁移学习的方法提升模型的训练效率。本文所提出的模型不仅显著提高了脑肿瘤图像分类的准确性,而且计算复杂度较低,符合在边缘计算中部署深度学习模型的需求。
2. 基于改进MobileViT的脑肿瘤图像分类模型
2.1. 模型概述
为了通过整合全局信息来提升模型的分类性能,我们提出了一种新的基于改进MobileViT模型的脑肿瘤图像分类方法,该方法集成了MobileViT、CBAM和迁移学习技术等多种技术。具体的改进包括:(1) 在MobileViT模型中添加了CBAM模块和残差连接机制;(2) 将原始MV2模块中的ReLU6激活函数替换为SiLU激活函数;(3) 在训练过程中使用余弦退火算法更新学习率并使用迁移学习的方法加速模型收敛。图1详细描述了本文提出模型的结构。
Figure 1.The structure of proposed model
图1.模型结构图
2.2. MobileViT Block
MobileViT block是MobileViT模型的核心部分,其结构如图2所示。MobileViT block的主要计算过程分为以下四个步骤:
1) 将输入矩阵
先通过一个
的卷积层以捕捉特征图中的局部空间信息,再通过一个1 × 1的卷积层将特征图投影到高维特种空间中,得到具有局部空间信息的
,其中
表示输入特征矩阵的高、宽和通道数,d表示经过1 × 1的卷积层调整后的通道数。
2) 将
转换为一系列不重叠的patches表示为
,其中
,
,
是patches的高和宽。
3)
通过Transformer模块[11]得到具有全局信息的序列
,其具体计算公式可以表示为:
(1)
4) 将
还原为
大小的序列
。随后通过1 × 1卷积将
调整为
的大小并与最初的输入特张图X进行拼接。最后通过一个3 × 3的卷积层进行特征融合。
Figure 2.The structure of MobileViT block
图2.MobileViT block结构图
2.3. 改进的MV2模块
MV2模块是MobileNetV2[12]中的倒残差模块。在MobileNetV2中,传统的卷积层被深度可分离卷积所取代,它由两个子模块组成:深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)。这种技术有效地分解了传统的卷积运算,在保持表达能力的同时提高了计算效率。本文中的MV2模块首先使用1 × 1的卷积进行维度扩张,然后通过3 × 3的卷积进行特征提取,最后再经过一个1 × 1的卷积来对特征图进行降维操作。
原MV2模块中的激活函数为ReLU6激活函数,是ReLU激活函数的变种之一。虽然ReLU函数解决了正输入的梯度消失问题,但它在负输入时遇到了导数恒为0的难题,导致负区间的梯度消失问题,从而阻碍了许多神经元的更新。因此,本文使用SiLU激活函数代替ReLU6激活函数,SiLU激活函数是Sigmoid和ReLU的改进版本,具有无上界有下界、在接近零时更平滑的特点,在深度网络中的效果优于ReLU。SiLU激活函数的计算如公式(2)所示:
(2)
2.4. 卷积注意力模块
卷积注意力模块(Convolutional Block Attention Module, CBAM)[13]是一个综合了通道注意力机制和空间注意力机制的复合模型,它由通道注意力模块和空间注意力模块两个子模块组成,其结构如图3所示。
Figure 3.The structure of CBAM
图3.CBAM模块结构图
通道注意力模块旨在帮助网络识别各通道的重要性,具体计算过程如等式(3)、(4)所示。首先,输入特征分别通过全局平均池化(AvgPool)和全局最大池化(MaxPool)操作提取全局信息。然后,分别通过多层感知机(MLP)对提取到的全局信息进行处理,随后将两部分信息相加再通过一个Sigmoid激活函数得到每个通道的权重向量
。最后,将最初的输入特征F与通道权重向量
相乘,得到通道注意力特征图F1。空间注意力模块则是帮助网络识别不同空间维度的重要性,同理可根据公式(5)、(6)得到空间注意力特征图F2。
(3)
(4)
(5)
(6)
其中,
分别表示输入特征图,通道注意力特征图和空间注意力特征图。
表示全局平均池化,
表示全局最大池化。
表示多层感知机,
是Sigmoid激活函数,
表示逐点乘法,
则表示卷积操作。
2.5. 迁移学习
迁移学习是一种机器学习方法,旨在将从一个任务或领域学到的知识和经验应用到另一个相关的任务或领域中,以改善学习效果。迁移学习已广泛应用于自然语言处理、计算机视觉等领域。本文提出的分类模型是为计算机视觉中的图像分类任务而设计的。在本文中,我们使用ImageNet数据集对MobileViT进行了预训练,该数据集包含1000个类别和126万张自然图像。尽管自然图像与脑肿瘤图像可能不同,但它们仍然具有相关性。通过迁移学习,模型能够从ImageNet数据集中学习到角、边、颜色、纹理等特征。这些学习到的特征有助于提高模型在脑肿瘤图像分类中的有效性。
2.6. 余弦退火算法
学习速率是影响深度学习模型性能的超参数之一。学习速率过大往往会导致模型的振荡,而学习速率过小则会导致非常缓慢的训练过程。余弦退火[14]是一种优化算法,在训练深度神经网络时,作为调整学习速率的策略。它基于余弦函数的周期变化,通过在训练过程中逐渐降低学习率,帮助模型更好地收敛。采用余弦退火算法,学习速率在训练过程中会出现周期性的变化。该策略有助于模型在训练早期更好地探索损失函数的空间,避免在训练后期落入局部最优点。
3. 实验
3.1. 数据集介绍
本文所使用的数据集来自于Kaggle数据集,是2020年7月由印度杜尔加布尔国家理工学院的Sartaj Bhuvaji等人公开的脑肿瘤MRI四分类数据集[15]。该数据集一共包含四种类别的脑部MRI图像,其中胶质瘤(glioma tumor) 926张、脑膜瘤(meningioma tumor) 937张、无肿瘤(no tumor) 500张以及垂体瘤(pituitary tumor) 901张。数据集中的部分图像如图4所示。
Figure 4.Classes of the dataset
图4.数据集类别
3.2. 数据预处理
为便于模型训练,本文将图像重新分配标签:胶质瘤标记为0,脑膜瘤标记为1,无肿瘤标记为2,垂体瘤标记为3。并且将图像随机裁剪到224 × 224像素的分辨率大小,然后以0.5的概率随机水平翻转图像,以增强模型的鲁棒性。随后将图像转换为张量类型,并对图像进行标准化处理。标准化后的图像
可表示为:
(7)
其中,
表示图像中每个通道的像素值,
表示图像每个通道中像素值的均值,
表示图像每个通道中像素值的标准差。将处理好的数据集的70%作为训练集,30%作为测试集,其数据分布如表1所示。
Table 1.Distribution of categories in the dataset
表1.数据集中类别分布
数据集 |
胶质瘤 |
脑膜瘤 |
无肿瘤 |
垂体瘤 |
总计 |
训练集 |
649 |
656 |
350 |
631 |
2286 |
测试集 |
277 |
281 |
150 |
270 |
978 |
总计 |
926 |
937 |
500 |
901 |
3264 |
3.3. 实验环境及参数设置
实验采用Windows 10平台进行训练,并使用Pytorch深度学习框架进行网络构建。该实验基于GPU型号NVIDIA GeForce GTX 1080,15 GB内存。GPU数量为1,CPU数量为8核。实验设置迭代次数为20,BatchSize为30。使用余弦退火算法在训练过程中对学习率进行调整,其中学习率在每个周期开始的最大值设置为0.001,学习率在每个周期结束的最小值设置为0.00001。对比模型的学习率固定为0.0001。所有模型均采用了迁移学习的方法提升模型训练性能。
3.4. 评价指标
为评估模型的分类性能,本文采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1值作为评估指标,具体的计算规则如公式(8)、(9)、(10)、(11)所示。
(8)
(9)
(10)
(11)
其中TP(True Positive)表示原本为正类样本且预测为正类样本的数量,TN (True Negative)表示原本为负类样本且预测为负类样本的数量,FP (False Positive)表示原本为负类样本但预测为正类样本的数量,FN (False Negative)表示原本为正类样本但预测为负类样本的数量。
3.5. 基线网络
为验证本文方法的有效性,分别使用ResNet34[16],ResNet50[16],DenseNet121[17],ShuffleNetV2_x2_0[18],EfficientNet[19],MobileNetV3_large[20],MobileNetV3_small[20],MobileNetV2[11],MobileViT[10]和改进的MobileViT模型对脑肿瘤图像进行分类,并对各模型的分类结果进行比较。在这些基线中,ResNet是深度卷积神经网络,DenseNet、ShuffleNet、EfficientNet和MobileNet是轻量级深度学习模型。
4. 实验结果与讨论
4.1. 对比实验
本文采用了10种不同的深度学习模型对脑肿瘤图像数据集进行分类。表2为多种模型的实验结果,从表2中可以得出以下结论:
1) 本文提出模型在脑肿瘤图像数据集上的分类准确率为97.0%,精确率为97.1%,召回率为97.0%,F1值为97.0%。经过比较,本文所提出模型的所有性能指标都是最佳的,甚至分类准确率比ResNet50高出0.4%。
2) 在基线模型中,ResNet系列网络的分类性能明显优于其他轻量级深度学习模型(DenseNet,ShuffleNet,EfficientNet,MobileNet和MobileViT),这归因于ResNet作为深度残差网络,在图像分类、目标检测和语义分割等许多计算机视觉任务中都表现出了良好的性能。
3) 在基线模型中,MobileViT是轻量级模型中表现最佳的模型,其分类准确率为90.6%,精确率为90.8%,召回率为90.6%,F1值为90.6%。然而与我们提出的模型相比,MobileViT的四个指标都低了近7%,这表明我们提出的模型优于MobileViT。
Table 2.Classification results for each model
表2.各模型的分类结果
模型 |
准确率 |
精确率 |
召回率 |
F1 |
参数量 |
FLOPs |
ResNet50 |
0.966 |
0.967 |
0.966 |
0.966 |
23,516,228 |
4.09826048G |
ResNet34 |
0.963 |
0.964 |
0.963 |
0.963 |
21,286,724 |
3.66699008G |
DenseNet121 |
0.892 |
0.891 |
0.892 |
0.891 |
6,957,956 |
2.848985856G |
ShuffleNetV2_x2_0 |
0.793 |
0.801 |
0.793 |
0.795 |
5,353,192 |
0.584959696G |
EfficientNet |
0.771 |
0.777 |
0.771 |
0.770 |
4,012,672 |
0.393804448G |
MobileNetV3_large |
0.877 |
0.877 |
0.877 |
0.876 |
4,207,156 |
0.220317112G |
MobileNetV3_small |
0.843 |
0.844 |
0.843 |
0.841 |
1,521,956 |
0.057191512G |
MobileNetV2 |
0.773 |
0.776 |
0.773 |
0.774 |
2,228,996 |
0.306178784G |
MobileViT |
0.906 |
0.908 |
0.906 |
0.906 |
952,308 |
0.304916367G |
本文提出模型 |
0.970 |
0.971 |
0.970 |
0.970 |
955,542 |
0.306991777G |
计算复杂度也是深度学习模型的一个重要度量指标,特别是对于部署在边缘设备上的深度学习模型,在本文中我们使用参数量和FLOPs (每秒浮点运算次数)来评估各模型的计算复杂度。从表2中可以明显看出,尽管ResNet50实现了96.6%的高分类准确率,但它的参数量为23,516,228大约是参数最多的轻量级网络DenseNet121的3.38倍,是参数最少的轻量级网络MobileViT的26.69倍。从表2中还可以看到,本文所提出模型的参数量为955542,仅次于MobileVIT模型。本文模型的FLOPs比MobileNet和MobileViT等轻量级模型略大,但仅比MobileViT高0.65%。虽然我们提出的模型复杂度略高于MobileViT,但它仍然属于轻量级网络,满足实时或部署在边缘设备上的要求,也具有相对较高的分类精度。
4.2. 消融实验
为验证本文提出的模型的有效性,我们进行了消融实验,以验证改进模块对模型分类性能的影响。实验结果如表3所示,对MV2模块进行改进后模型的分类准确率提高了5.2%,其他性能指标也得到了显著的改进。再相继加入余弦退火算法和CBAM模块,这两种改进方法都在不同程度上提升了模型的分类效果。
Table 3.Ablation experiment
表3.消融实验
模型 |
准确率 |
精确率 |
召回率 |
F1 |
MobileViT |
0.906 |
0.908 |
0.906 |
0.906 |
MobileViT + Improved MV2 |
0.958 |
0.958 |
0.958 |
0.958 |
MobileViT + Improved MV2 + Cosine Annealing |
0.966 |
0.966 |
0.966 |
0.966 |
MobileViT + Improved MV2 + Cosine Annealing + CBAM |
0.970 |
0.971 |
0.970 |
0.970 |
5. 结论
为了使脑肿瘤图像分类模型能够应用于移动设备和嵌入式设备,我们提出了一种基于改进的MobileViT的轻量级图像分类模型。首先,利用CBAM模块来提高模型捕获局部信息和融合全局信息的能力。其次,将MV2模块中的激活函数ReLU6替换为更稳健的SiLU激活函数。第三,采用余弦退火算法来更新模型的学习率,以避免模型陷入局部最优点。最后,采用了迁移学习方法,将在ImageNet数据集上预训练好的权重应用于模型中,以提升模型学习速率。大量的实验表明,我们提出的模型在脑肿瘤图像分类方面具有良好的竞争性能。我们开发的低成本智能诊断工具,不仅帮助医学专家和放射技师提供脑疾病的早期诊断,而且适合部署在边缘设备。
在未来的研究中,我们将考虑在更多更大的数据集上进行实验研究。目前我们只研究了三种脑肿瘤,计划通过增加更多的脑肿瘤类别来验证我们的模型的有效性。此外,本文提出的模型是一个轻量级的深度学习模型,虽然这个模型的分类精度高,计算复杂性不是最小的,所以在不降低分类精度的情况下进一步减少计算时间是我们另一个潜在的研究方向。
基金项目
国家自然科学基金资助项目(72461030)。
NOTES
*通讯作者。