APP下载

融合SE 和多尺度卷积的轻量级CT 图像分类模型

2023-06-14魏榕剑邵剑飞冯宇航

关键词:数据量集上病毒感染

魏榕剑,邵剑飞,温 剑,冯宇航,叶 榕

(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)

2019 年新型冠状病毒感染(COVID-19)是由严重急性呼吸综合征冠状病毒2 型(SARS-CoV-2)引起的一种疾病,已影响到全球人口的健康[1].根据世界卫生组织数据,截至2022 年6 月,全球已有超过5.39 亿人确诊感染新冠病毒,导致约631 万人死亡[2].胸部计算机断层(Computed Tomography,CT)扫描图像已被证明是检测间质性肺炎的基本方法,这是COVID-19 的一个显著特征[3].基于深度学习的计算成像技术在评估新冠病毒感染阳性病例方面有很好的发展前景[4].由于SARS-CoV-2可以导致新冠病毒感染和严重的肺损伤,使用胸部成像技术可以将新冠病毒感染与细菌性肺炎和其他呼吸道感染[社区获得性肺炎(Community Acquired Pneumonia,CAP)]区分开,对于制定病毒感染控制决策和诊断及治疗至关重要.

肺炎是一种影响肺部空间的感染,由细菌、病毒和真菌等各种病原体引起,与感染相关的症状范围很广,包括呼吸急促、发烧、排痰和咳嗽[5].CAP会导致持续性咳嗽和呼吸困难,症状和新冠病毒感染有相似之处.因此,需要一个强大的人工智能(Artificial Intelligence,AI)算法模型,该模型可以从CT图像中检测到各种临床症状相似的呼吸系统疾病并对其进行分类,以便能够制定正确的治疗方案.

肺部疾病诊断的标准成像方式包括磁共振成像(Magnetic Resonance Imaging,MRI)、胸部X 光(Chest X Ray,CXR)和CT.MRI 和CT 扫描是评估肺部疾病的黄金标准,但MRI 更昂贵,涉及辐射暴露,而且在全球范围内并不容易获得[6].相比之下,CT 更易获得,且能更好地显示肺部疾病特征.因此,CT 是心胸和肺部疾病最常见的影像诊断技术之一.随着未来肺炎大流行的预期,放射科医生的工作量将会增加,迫切需要新的自动化图像分析工具助力放射科医生的定性评估.医学影像数据量非常大,为从根本上解决医学影像数据的快速处理和传输,本文利用深度学习技术对新冠病毒感染患者影像数据进行分析,实现新冠病毒感染与CAP 肺炎的分类任务[7].

本文基于轻量级CNN 模型MobileNetV2,提出一种基于MobileNetV2 网络改进的MobileNetV2-SELN 结构,对MobileNetV2 结构中的Block 模块进行改进;针对肺炎CT 图像不同组织成像不同的特点,用GroupNorm 替代BatchNorm2d,使模型能更好地获取肺炎特征;使用SGD 优化器对模型进行优化.实验采用Kaggle 竞赛网站公共数据集进行训练和测试,结果表明该模型的分类准确率更高.

1 相关研究

世界各地已经有很多研究者提出CNN 模型,根据COVID-19 阳性患者的各种医疗数据对其进行识别或分类.为使用计算机技术了解和助力治疗这种疾病,世界各地科研组织已经公开发布许多不同格式的大型新冠病毒感染数据集,并开展研究.研究的重点技术之一是使用AI,特别是基于深度学习(Deep Learning,DL)的模型,依据胸片和CT图像检测COVID-19.文献[8]将新冠病毒感染的CT 图像分为新冠病毒感染、甲型流感病毒性肺炎和健康3 类.数据集由618 张图片组成,其中包括110 名新冠病毒感染患者的219 幅图片,224 例甲型流感病毒性肺炎患者的224 幅图片,以及175 名健康人的175 幅图片.利用三维深度学习模型对图像进行分类,总体分类准确率达到87.6%.

文献[9]提出了一种用于自然图像语义分割的全卷积网络(Fully Convolutional Networks,FCN).首先,卷积运算是逐层堆叠的,以提取输入图像的分层特征图;然后,使用特征地图的最后一层生成指示像素属于哪个类别的像素概率分数图.文献[10]在没有分割的情况下使用DenseNet-169 CNN 检测新冠病毒感染和非新冠病毒感染CT 切片,其实验结果显示该系统的准确率为79.5%,F1 评分为76%.使用联合分割,分类准确率提高到83.3%,F1评分为84.6%.文献[11]提出了一种特征选择方法,并结合深度森林模型,依据胸部CT 图像对新冠病毒感染和CAP 进行分类,其实验结果表明,与其他广泛使用的机器学习方法相比,该方法具有更好的性能.文献[12]对1 658 例新冠病毒感染和1 027例CAP 肺疾病患者进行了薄层CT 扫描,对所有图像进行预处理,得到感染区域和肺部区域的分割,用于提取特定位置的特征,并提出了一种感染大小感知随机森林方法(ISARF).该方法首先自动将受试者分成感染病灶不同大小范围的组,然后在每组中利用随机森林进行分类.其实验结果表明,在5次交叉验证下,该方法的敏感度为0.907,特异度为0.833,准确率为0.879.综上所述,目前对新冠病毒感染和CAP 进行分类仍旧是当前研究的热点,各种经典的CNN 模型在该分类任务中取得了较好的成绩,达到90%以上的分类精度.传统CNN 模型在COVID-19 和CAP 胸部CT 图片分类和检测仍是研究的热点,利用深度学习和CNN 模型进行胸部CT 图像分类的最终目的是辅助临床医生进行诊断,精度还需提升.因此,本文基于轻量级MobileNetV2模型,提出了MobileNetV2-SELN 结构,对COVID-19 与CAP 两种疾病的CT 图像进行分类.

2 MobileNetV2-SELN 模型

2.1 MobileNetV2 结 构MobileNet 是Google 为嵌入式设备提出的轻量级深度神经网络模型[13].目前有两个版本:MobileNet-V1 和MobileNetV2.它们的主要模块如图1 所示.MobileNet-V1 采用深度可分离卷积的方法,与传统的3D 卷积相比,大大减少了卷积核的冗余度.它不仅优化了时延,减小了模型的规模,而且提高了模型的识别精度[14].MobileNet-V2 在Mobile Net-V1 结构的基础上,增加了线性瓶颈层和反向残差结构,既能加速收敛,又能防止退化.鉴于Mobile Net-V1 中潜在的梯度消失风险,本文基于MobileNet-V2 进行了改进.

图1 MobileNet-V1 和MobileNet-V2 的结构模块Fig.1 Structural modules of MobileNet-V1 and MobileNet-V2

2.2 SELN-Block为了使网络获得更具鲁棒性的特征表示以提升分类精度,本文增加了一个重加权层解决,并有效地利用通道依赖.SENet[15]聚焦于通道关系,并提出了一种新颖的体系结构单元:压缩和激励块,即SE 块(见图2),它通过显式地对通道之间的相互依赖进行建模,自适应地重新校准通道特征映射.压缩操作聚合空间维度H×W上的特征映射以产生通道描述符.该描述符嵌入了信道化特征响应的全局分布,使得来自网络的全局接受场的信息能够被其较低层利用.这是通过使用全局平均池生成信道化响应实现的.

图2 压缩操作和激励操作图解[15]Fig.2 Illustration of compression operation and excitation operation[15]

首先,进行压缩操作,从形式上讲,挤压操作是通过公式(1)实现的.

式 中:uc(i,j)为通道c在位置(i,j)处的像素值,Fsq为压缩操作,Zc为通道c中的响应,H和W表示二维卷积层空间维度,H表示高度,W表示宽度.

然后是激励操作.在该操作中,通过注意力机制为每个通道学习的激励产生各自的权重.为了降低块复杂度和提高泛化能力,通过两个全连接(Fully Convolutional,FC)层参数化注意力机制.第一层FC 层使用ReLU 作为激活函数,第二层使用Sigmoid 作为激活函数.激励操作通过公式(2)实现.

式中:W1、W2为 FC 层权重,Fex为激励操作,s为通道权重.

最后,特征映射U被重新加权以生成SE 块的输出(见图3).重新加权的要素地图将直接馈送到后续图层.

图3 模型优化前后的瓶颈跨结构对比Fig.3 Comparison of bottleneck span structure before and after model optimization

式中:sc和uc为通道c中的权重和特征映射,Fscale为重新加权的操作,x˜为重新加权的特征映射.

整个SE 块[16]可以看作是一种动态的特征提取机制,它通过信道化的关注处理一些层,以更多地关注对分类有帮助的特征映射.因此,SE 块[15]可以提高网络的表示能力,这对于COVID-19 和CAP 分类是有用的.

在提出的网络中,每个瓶颈块使用SE 块(见图3).图3(a)显示了原始瓶颈块Block,图3(b)描述了SELN-Block 块的模型结构.在每个瓶颈之后添加SE 块,其中由瓶颈模块进行SE 块变换.根据肺炎CT 图像的特点,GroupNorm 替代BatchNorm2d.使用的SELN-Block 模块不同于原来的Block.在第一个FC 层之后,添加了批归一化[16],这可以通过减少内部协变量偏移加速SELN-Block 模块的训练.

2.3 SGD 优化器随机梯度下降(Stochastic Gradient Descent,SGD)是训练神经网络最广泛使用的优化算法.该算法采用小批量训练数据,而不是每次迭代的全部数据,作为梯度下降(Gradient Descent,GD)算法的替代算法,降低了算法的计算量.

随机梯度下降法每次用单个训练样本的损失接近平均损失,即

因此,随机梯度下降法用单个训练数据即可对模型参数进行一次更新,大大加快了收敛速率.本文采用随机梯度下降法.

3 实验与结果分析

3.1 数据集为了验证本文提出的融合SE 与多尺度卷积的分类模型的性能,本文基于Python 平台,对模型进行了对比实验.为了更加全面地对模型进行实验,本文以Kaggle 挑战赛网站的数据集为基础数据集,数据集中的数据分为3 类:新冠病毒感染图片(COVID-19)、正常肺部图片(Normal)和社区获得性肺炎(CAP),并对数据集进行整理,形成5 个数据集进行实验.表1 为本文使用COVID-19 分类数据集的详细信息.

表1 分类数据集信息Tab.1 Information of categorical datasets

表1 中,每个数据集中的样本总数量不一样,不同类型的数据间数量差距也比较大.利用这些数据集可以对模型分类准确率进行评估,验证本文模型的性能.这些数据为CT 图片,图片的格式绝大多数为png 格式,剩下的为jpg 格式.

3.2 实验环境本文使用的计算机硬件系统配置为CPU:Intel Core i7-10750H,RAM:16 GB,GPU:Nvidia GeForce RTX2060,6 GB 专用内存.PyCharm集成了强大的神经网络库和虚拟环境的管理,因此使用PyCharm 2021.1.1 专业版.使用PyTorch 深度学习框架进行模型的搭建.使用基于GPU 提供的支持并行计算的Nvida Cuda Core 技术,在PyCharm环境下实现了GPU 加速,通过这种方式加快轻量型卷积神经网络的模型运行速度.

3.3 实验结果本文以DenseNet-121、VGG-19 以及原始MobileNet-V2 模型作为对比模型分析本文模型的性能.

3.3.1 模型的参数量对比 本文基于轻量级模型进行优化,引入SE 块和多尺度卷积对原始模型进行优化,无疑会增加模型的参数数量.4 个模型的参数量如表2 所示.

表2 4 个模型的参数量Tab.2 Parameter quantities for four models

从表2 中可得出,本文模型的参数量比DenseNet-121 和VGG-19 的参数量小,但是因为在模型中添加了SE 块和多尺度卷积,因此模型参数量比原始的MobileNet-V2 模型参数量大.

3.3.2 本文模型的准确率对比分析 如图4 和5所示,利用表1 中5 个数据量不相同的数据集进行测试,以测试模型性能以及不同数据量模型的表现.模型的训练准确率和测试准确率呈现整体上升趋势,其中,在数据集3 上,由于该数据集数据量较少,模型中加入的SE 网络需要大量数据集进行训练和特征提取,从而改善模型性能,因此模型训练和测试的准确率在前50 次迭代中波动较大,但随着训练次数的增加,准确率随之提高.模型在数据量较大的数据集上进行训练时,模型的分类准确率较高,训练过程更加稳定.从实验结果来看,本文模型的准确率在数据量较大的数据集上表现得比较平稳,但是数据量较小时变化比较快.

图4 本文模型在不同数据集上的训练准确率对比Fig.4 Comparison of training accuracy of the model proposed in this paper on different datasets

图5 本文模型在不同数据集上的测试准确率对比Fig.5 Comparison of the test accuracy of the model proposed in this paper on different datasets

因此,结合本文模型在这5 个数据集上的准确率进行分析,数据量对模型训练过程的有一定的影响,数据量大模型的训练更稳定,但最终分类准确率相差不大.

3.3.3 本文模型的损失对比分析 损失是衡量模型的性能的一个指标,单位为1,损失越小模型性能越优.如图6 和7 所示,在5 个数据集上,模型的训练损失和测试损失整体呈下降趋势,其中,本文模型在训练初期,训练损失非常大,随着迭代次数不断增加,损失逐渐减小,且当迭代次数大于60次后,模型损失将到最低,模型的测试损失也整体呈下降趋势.模型虽然经过改进,但本质上仍然是深度学习网络,对数据量具有一定的依赖性.数据集中数据量大小在一定程度上影响模型的训练.模型在数据量较小的数据集上进行训练时,模型的损失下降波动较大;数据量较大时虽然模型训练初期的损失较大,但是损失下降过程表现得更平稳,最终损失降到较低水平.从5 个数据集上训练损失结果来看,本文模型损失下降率受数据集数据量大小的影响比较明显,数据量大,损失在训练过程中下降平稳;反之,数据量较小的数据集,损失在训练过程中下降的波动较大.

图6 本文模型在不同数据集上的训练损失对比Fig.6 Comparison of training losses of the model proposed in this paper on different datasets

图7 本文模型在不同数据集上的测试损失对比Fig.7 The model proposed in this article is contrasting the test loss on different data sets

通过图4~7 的数据,容易看出,随着迭代次数增加,模型的分类准确率逐渐增加,但是当数据集的数据量较小时,在模型训练初期,准确率会产生较大的波动,但随着迭代次数增加,准确率逐渐提升.因为本文在模型的核心瓶颈块中加入了SE 网络,网络的本质是对提取到的特征进行重新加权,使网络能更好地融合高维度特征与低维度特征,特征提取是模型对数据集进行特征提取的过程,数据集数据量越大,模型能提取的特征越完整.所以,模型的训练损失与测试损失在数据量少的数据集上表现得波动较大,在数据量大的数据集上表现得较平稳.

3.3.4 不同模型的训练平均准确率对比分析 为有效验证模型的性能以及泛化效果,本文在5 个数据集上对不同模型进行了实验,实验中4 个模型的平均分类准确率如表3 所示.从表3 中可得出,本文的模型平均训练准确率与VGG-19 这种模型参数数量较大的模型准确率比较接近,虽然本文提出模型的准确率稍低于参数量大的模型,结合展现模型参数数量的表2 来看,本文的模型在不牺牲较大准确率的情况下减小了模型的参数量.同时结合原始MobileNet-V2 模型来看,本文的改进提升了准确率,分类准确率更高.

表3 不同数据集上不同模型训练平均准确率对比Tab.3 Comparison of the average accuracy of different model training on different datasets

4 结论

本文提出的基于肺炎CT 图像检测肺炎的改进的轻量级模型MobileNetV2-SELN 模型在CAP肺炎、COVID-19 和正常肺分类中取得了较好的效果.该模型与经典DenseNet-121 等模型相比,参数量较少,经过实验验证,模型的准确率没有降低.基于MobileNet-V2 进行改进的方法使得原模型的参数量增加,但分类准确率的提升较为明显.在接下来的工作中,研究将采用不同数据集来验证模型都的泛化能力,并深入研究其他肺部疾病CT 图像特征,融入Transformer 和强化学习技术提升其他肺部疾病检测准确率.

猜你喜欢

数据量集上病毒感染
预防诺如病毒感染
基于大数据量的初至层析成像算法优化
计算Lyapunov指数的模糊C均值聚类小数据量法
高刷新率不容易显示器需求与接口标准带宽
Cookie-Cutter集上的Gibbs测度
宽带信号采集与大数据量传输系统设计与研究
链完备偏序集上广义向量均衡问题解映射的保序性
猪细小病毒感染的防治
猪瘟病毒感染的诊治
复扇形指标集上的分布混沌