基于深度学习算法的肺炎图像分类(作者:卢羽涵 学校:华东师范大学第二附属中学)

来源于:知识就是力量
发布时间:2025-10-23 17:18:09
    小字号

基于深度学习算法的肺炎图像分类
作者:卢羽涵  学校:华东师范大学第二附属中学 
摘要:本文针对肺炎影像分类任务中局部特征捕捉与全局依赖信息提取的挑战,提出了一种基于卷积神经网络(CNN)与Transformer的混合网络结构。该结构结合了CNN在局部特征提取方面的优势与Transformer在全局建模方面的能力,旨在构建一个高效且鲁棒的分类模型。传统的CNN方法虽然在提取局部特征(如毛玻璃影、实变影)方面表现优异,但其局部感受限制了远距离依赖信息的捕获。Transformer模型通过自注意力机制能有效建模图像的全局特征,弥补了CNN的不足,但其对数据量和计算资源的高需求可能导致过拟合问题。为此,本文提出的混合架构利用CNN进行低层次特征提取,并通过Transformer对高层次特征进行全局建模,充分发挥两者的互补优势。网络结构经过优化,减少了计算复杂度,使其在有限硬件资源下实现高效训练。实验结果表明,该模型在复杂背景和特征分布不均的肺炎影像中表现出较高的分类精度。 
关键词:医学图像分析;图像分类;深度学习

1.引言   
        在当前医学影像诊断领域,肺炎的早期诊断与准确分类对患者的治疗方案和预后至关重要。随着医学影像技术的飞速发展,X光片、CT等影像资料已成为肺炎诊断的重要依据。然而,传统的肺炎图像诊断依赖于医生的经验和直觉,可能存在诊断不准确或误诊漏诊的情况,尤其是在面对大量的影像数据时,医生的工作负担和精度要求越来越高。
        近年来,深度学习技术,尤其是卷积神经网络,在医学影像分析中的应用取得了显著进展。深度学习模型能从大规模图像数据中自动提取特征,并进行高效、准确的分类。因此,基于深度学习的肺炎图像分类研究逐渐成为医学影像领域的重要课题。通过将深度学习算法应用于肺炎图像的自动分类,不仅能有效提升肺炎的早期诊断能力,还能减轻医生的工作负担,提高诊断效率和准确性。
        本研究旨在探索基于深度学习算法的肺炎图像分类方法,重点开发适用于肺炎检测的高效算法模型。通过分析不同深度学习模型的性能,结合肺炎图像的特点,提出一种适合肺炎图像分类的深度学习架构,为肺炎的早期诊断提供技术支持,并推动医学影像领域的自动化诊断技术发展。
2.基于混合模型的肺炎图像分类模型
        2.1 网络整体框架
        为了解决肺炎影像分类任务中既要捕捉局部特征又要提取全局依赖信息的挑战,本文设计了一种基于CNN与Transformer的混合网络结构。该网络融合了卷积神经网络在局部特征提取方面的优势及Transformer在全局建模方面的能力,旨在构建一个兼具高效性和鲁棒性的分类模型。肺炎影像分类的关键在于对病灶区域的精准识别和特征提取。然而,传统的CNN方法尽管在提取局部特征(如毛玻璃影、实变影)方面表现优异,但其局部感受限制了对远距离依赖信息的捕获。Transformer模型凭借自注意力机制,能高效建模图像的全局特征,弥补了CNN在全局建模上的不足。然而,Transformer对数据量和计算资源的高需求使其单独使用时可能会面临过拟合问题。基于此,本文提出了一种混合架构,将CNN用于影像的低层次特征提取,同时通过Transformer对高层次特征进行全局建模,从而充分发挥两种方法的互补优势。整体网络结构如下图所示。CNN负责提取影像的细粒度局部特征,Transformer负责建模影像的全局特征,两者结合提高了模型对复杂病灶的识别能力。在Transformer模块中对Patch大小和注意力头数进行优化,减少计算复杂度,使其能在有限的硬件资源下实现高效训练。网络结构专门适配医学影像特征,设计充分考虑了肺炎影像的特点,能在背景复杂、特征分布不均的情况下实现较高的分类精度。
        
网络整体框架图
        2.2 卷积神经网络
        在混合模型的设计中,卷积神经网络作为前置特征提取模块,负责从肺炎影像中提取局部细粒度特征,如病灶的纹理、形态及区域性特征。这一模块为后续Transformer的全局建模提供了高质量的特征表示。为了在保证分类性能的前提下降低模型复杂度,本文选用了经典的ResNet-18网络作为前置CNN模块的主干结构。ResNet是卷积神经网络中的一个重要突破,通过引入残差连接,有效缓解了深层网络训练中的梯度消失和梯度爆炸问题,同时提高了特征的传递效率和模型的收敛速度。
        ResNet-18由多个残差块组成,其结构包含卷积层、批量归一化层(BN)、激活函数、残差连接、池化层等。其中,批量归一化层用于加速训练过程并提高模型的稳定性。激活函数主要用于增加网络的非线性表达能力。残差连接则是将输入直接通过跳跃连接加到输出上,有助于缓解梯度消失问题,尤其在深层网络中表现突出。池化层包括最大池化和全局平均池化,用于下采样特征图,减少计算复杂度并聚合上下文信息。
        在输入影像经过卷积神经网络处理后,主要完成自低层次到高层次等多个特征提取过程。网络的前几层主要负责提取影像的低级特征,如边缘、纹理和简单几何形状等。中间层则通过多层卷积的堆叠,提取更加抽象的局部特征,包括肺部毛玻璃样阴影、实变影的纹理特征等。网络后几层结合全局信息和区域性特征,捕捉影像中更复杂的模式,如肺炎病灶的形态特征。
        同时为了更好适配肺炎影像分类任务,本文对ResNet-18做了部分优化。首先根据肺炎影像的纹理特征和任务复杂度,调整了各阶段的通道数,确保提取的特征能涵盖肺炎病灶的局部细节和全局形态。此外,在残差块后加入Dropout层,以减小过拟合风险,提升网络的泛化能力。同时,将最后的全局平均池化替换为自适应池化,使特征图的输出大小可根据输入尺寸动态调整,提高模型的灵活性。

卷积神经网络结构图

        前置CNN模块的输出特征图保留了肺炎影像的主要局部信息,如病灶的纹理变化和边缘特征。这些特征以张量形式输入Transformer模块,进一步进行全局建模。通过这种协同工作,网络能充分捕捉肺炎影像的多层次特征,从而提升分类精度。
        2.3 自注意力机制及Transformer模块
        为解决肺炎影像分类任务中的全局特征建模问题,本文在混合模型中引入了基于自注意力机制的Transformer模块。自注意力机制能动态捕获输入特征间的长距离依赖关系,Transformer则通过多层自注意力模块的堆叠进一步增强全局信息的表达能力。自注意力机制通过计算输入特征的相关性,动态分配每个特征的重要性权重,下面分步解释其核心计算步骤。
        给定输入特征,其中表示特征的数量,表示每个特征的维度。输入特征通过三个不同的线性投影映射为查询(Query,)、键(Key,)和值(Value,): 

        其中,是可学习的参数矩阵,是投影后的特征维度。之后使用点积计算查询与键之间的相似度,然后通过Softmax归一化得到权重矩阵: 

        其中,是缩放因子,用于防止点积值过大。权重矩阵对值特征进行加权求和,得到与输入长度一致的输出特征。
        本文采用了标准的Transformer Encoder作为高级特征建模模块,其结构由若干层堆叠而成,一个标准的Transformer模块如下图所示。

标准Transformer模块结构图

        多头自注意力机制(MHSA)通过并行计算多个注意力头,每个头关注输入特征的不同部分,从而增强模型的特征表达能力。Transformer模块的核心功能是通过自注意力机制捕获肺炎影像中的全局特征,如病灶的空间分布及其与背景区域的关系。经过6层Transformer Encoder处理后,特征被压缩为长度为512的全局表示向量,供分类模块使用。
        为适应医学影像数据的特点,本文还对标准Transformer模块进行了一些改进。首先是轻量化设计,通过减少Transformer Encoder层数和注意力头数,降低计算复杂度。然后在训练过程中加入Dropout层和权重衰减,以防止模型过拟合。最后结合输入图像特定优化了Patch的尺寸,同时兼顾特征丰富性与计算开销。
        综上所述,本文通过引入Transformer模块,使所设计的混合网络能在肺炎影像分类任务中有效建模全局依赖关系,弥补了CNN在全局特征建模上的不足,从而提升分类性能和鲁棒性。
        2.4 损失函数设计
        在肺炎图像分类任务中,为确保模型能准确区分正常与肺炎影像,并且适应类别可能存在的不均衡性,本文设计并选择了适合混合模型的损失函数。在该任务中,模型的目标是最小化分类误差并提升对少数类样本的敏感性。结合任务需求,本文采用加权交叉熵损失函数作为优化目标。
        交叉熵损失函数是分类任务中最常用的损失函数之一,其定义如下:

        其中,N表示样本总数,C表示类别总数,是第个样本的真实标签,值为0或1,是模型输出的第类预测概率。交叉熵损失函数能有效度量模型预测分布与真实分布间的差异,是多分类和二分类任务的基础选择。
        由于医疗影像数据中类别分布往往不均衡(如正常样本数量远大于肺炎样本),本文在交叉熵损失函数的基础上引入类别权重,以提升对少数类的识别能力。加权交叉熵损失定义如下: 

        其中,为类别的权重,通常通过反比类别频率的方式计算:  

        其中是类别的样本频率。这种方式能有效缓解类别不均衡对模型训练的负面影响,使模型在识别少数类时表现更加鲁棒。
        综上,本文的损失函数设计有效结合了类别平衡、泛化能力和不确定性约束,分类准确性和鲁棒性间取得良好平衡,为肺炎图像分类任务提供了可靠的优化目标。为模型性能提升提供了理论支持和实践依据。
3.实验与分析
        3.1 数据集
        本文的实验数据来源于Kaggle公开的肺炎X射线图像数据集,包含四种类别的胸部X射线图像:正常图像、细菌性肺炎图像、病毒性肺炎图像及新冠感染图像,共计14,733张。该数据集覆盖了多种类型的肺部健康状况,为模型的训练和评估提供了丰富的样本基础。数据集中各类别的图像数量及分布情况如表3-1所示:

表 3-1 数据集相关信息
        为确保数据质量和模型训练的效果,本文在使用数据集前对其进行了相关预处理操作。首先对其进行归一化与标准化操作,所有图像被统一调整为灰度图,并归一化到[0, 1]区间。标准化步骤基于训练集的均值和标准差对像素值进行调整,以提升模型训练的稳定性。然后,为提升模型的泛化能力,本文在训练集中应用了多种数据增强策略,包括随机旋转、水平翻转、平移变换和亮度调节等。数据增强不仅能模拟真实临床环境中的图像变化,还有效缓解数据不足可能带来的过拟合问题。最后将数据集按照7∶2∶1的比例随机划分为训练集、验证集和测试集,确保每一类别在各子集中比例一致。
        3.2 算法评价指标
        为了全面评估本文提出的CNN和Transformer混合模型在肺炎图像分类任务中的性能,本文选用了多种评价指标。这些指标能从不同维度反映模型的分类能力和实际应用价值。具体如下文所述。
        3.2.1 准确率准确率是最常用的分类任务评价指标之一,用于衡量模型预测正确的比例,其定义为: 

        其中:
      (True Positive):预测为正类且真实为正类的样本数;
      (True Negative):预测为负类且真实为负类的样本数;
      (False Positive):预测为正类但真实为负类的样本数;
      (False Negative):预测为负类但真实为正类的样本数。准确率直观且易于理解,但在类别不平衡的情况下可能无法充分反映模型性能。
        3.2.2精确率
        精确率衡量的是模型在预测为正类时的准确性,其定义为:

        高精确率表示模型的预测结果更为可信,特别是在阳性样本更重要的场景中尤为关键。
        3.2.3 召回率
        召回率用于评估模型能够正确识别正类样本的比例,其定义为: 

        召回率更关注对正类样本的覆盖能力,在医疗场景中尤为重要,尤其当漏诊代价较高时。

        3.3 实验设置
        本文实验在高性能计算环境中完成,具体配置如表3-2所示,包括Ubuntu 20.04.6操作系统、Intel i7-11900 CPU、NVIDIA RTX 3080 GPU和16GB内存,以及CUDA 11.7和CUDNN 8.9.7的支持。此外,实验使用Python 3.8和Pytorch 2.0.1框架,为模型的训练和测试提供了稳定可靠的运行环境。
        模型训练所用的关键超参数设置则如表3-3所示。优化器采用随机梯度下降(SGD),初始学习率为0.01,并结合动量参数0.9和权重衰减1e-4来提高训练的稳定性和模型的泛化能力。输入图像统一调整为分辨率224×224,Batch size设置为8,以在显存容量和训练效率间取得平衡。                                                                       表 3-2 实验环境配置表操作系统:

 

                                                                              表 3-3 实验超参数设置
        3.3 实验结果与分析          
        表3-4展示了本文提出的混合模型与其他现有方法(AlexNet、VGG16、ResNet34)在肺炎图像分类任务上的主要实验结果对比。主要的评价指标包括准确率、精确率和召回率。
        从表中数据可看出,本文方法在三个指标上均表现出明显优势。准确率为97.8%,明显高于其他方法。相比于ResNet34(94.4%),提升了3.4个百分点,表明本文模型在整体分类准确性上具有较强的优势。精确率为94.5%,高于ResNet34的92.3%,也超越了AlexNet模型和VGG16模型。这一结果表明,本文方法在正确识别正类样本时表现突出,减少了误报的情况。在召回率方面,本文方法也表现优异,达到了99.2%,较ResNet34提高了0.65个百分点,较AlexNet和VGG16有显著提升。这说明,本文方法在正确识别所有正类样本方面有更高的敏感性,能有效减少漏诊风险。
        综上所述,本文提出的混合模型在准确率、精确率和召回率上均超越了传统经典网络(AlexNet、VGG16)及更深层的ResNet34,验证了模型在肺炎图像分类任务中的强大性能。

表 3-4 与现有方法的实验结果对比
        3.4消融实验
        表3-5展示了不同激活函数对本文混合模型在肺炎图像分类任务中性能的影响。使用ReLU激活函数时,模型取得了最高的准确率97.8%。这一结果表明ReLU在模型训练过程中能更好地促进梯度传播,帮助网络有效学习特征,从而获得最佳分类性能。使用LeakyReLU激活函数时,模型准确率为97.4%,略低于ReLU。尽管LeakyReLU在一定程度上解决了ReLU死神经元问题,但其对性能的提升不如预期,因此在本任务中未能超越ReLU。PreLU激活函数的表现相对较弱,准确率为97.1%。尽管PreLU能通过自适应学习参数来调整负半轴的斜率,但在本实验中并未带来显著的性能提升。GELU激活函数在本实验中表现出97.5%的准确率,略高于LeakyReLU和PreLU,但仍不及ReLU的表现。这表明,尽管GELU在某些任务中可能提供更平滑的非线性变换,但在本实验设置中,其效果不如ReLU。表 3-5 不同激活函数效果对比激活函数准确率ReLu97.8LeakyReLU97.4PreLU97.1GELU97.5
4.总结与展望
        本文针对肺炎图像分类任务,结合深度学习技术,提出了一种基于卷积神经网络和Transformer模块的混合模型,以提高分类精度和诊断效率。在研究中,首先分析了肺炎作为全球公共卫生问题的背景与意义,系统梳理了国内外在机器学习、CNN、U-Net及Transformer相关方法中的研究进展。随后,设计了一种混合模型框架,充分利用CNN的局部特征提取能力和Transformer自注意力机制的全局特征建模能力,为复杂影像数据提供精准分析。在实验部分,基于Kaggle公开数据集,本文通过系统的实验设置和超参数调优,验证了所提模型在多项评价指标上相较传统方法的显著优势。最终的实验结果表明,本文方法在准确率、精确率和召回率等方面均优于现有主流网络,进一步证明了混合模型在肺炎图像分类任务中的有效性和可推广性。
        虽本文的混合模型在肺炎图像分类中取得了较好的效果,但仍存在一定提升空间。未来研究可考虑进一步优化模型结构,探索更深层次的网络架构,或结合其他先进的深度学习方法(如自监督学习、生成对抗网络等)以进一步提高模型性能。此外,如何在不同医学影像数据集间进行迁移学习,以及如何提高模型对新型肺炎的识别能力,也是未来值得探索的重要方向。
        通过上述工作,本文不仅提出了一种基于CNN与Transformer混合模型的肺炎图像分类方法,且验证了该方法在不同实验设置中的有效性,为肺炎的自动诊断提供了一种可行的技术路径,具有重要的临床应用价值。
参考文献:
[1]Zhou, X., et al. "Pulmonary pneumonia classification using SVM with GLCM features." Journal of Medical Imaging (2017).[2]Rajpurkar, P., et al. "CheXNet: Radiologist-level pneumonia detection on chest X-rays with deep learning." arXiv preprint arXiv:1711.05225 (2017).
[3]Oktay, O., et al. "Attention U-Net: Learning where to look for the pancreas." arXiv preprint arXiv:1804.03999 (2018).[4]Zhu, Y., et al. "3D U-Net for lung CT image segmentation." Medical Image Analysis (2020).  
责任编辑:李银慧