为提高诊断肺炎患者的时效性和精确性,本文提出了三种基于双信道注意力机制的肺部X光图像检测模型。采用了21,158张肺部X光图像,并对原始图像进行图像增强、几何变化等处理。将预处理后的X光图像分别输入三种模型并检测,最后采用识别的准确度、精确度、灵敏性、F1-Score等指标评估了各个模型的性能。实验结果表明,基于双通道注意力机制的DenseNet201模型效果最优,其准确度、精确度、灵敏度、F1-Score分别为95.112%、96.2%、95.4%、95.9%,其中准确度已超过近年来他人4分类肺炎模型,基于双通道注意力机制的DenseNet201模型有利于提高肺炎图像的分类检测效率,可以应用于快速医学筛查。 In order to improve the timeliness and accuracy of the diagnosis of pneumonia patients, this paper proposes three lung X-ray image detection models based on dual channel attention. This paper uses 21,158 lung X-ray images, then these original images are processed with image enhancement and geometric changes. Next, the preprocessed X-ray images are input into three different models for detection. Finally, the performance of each model is evaluated by using evaluation factors such as accuracy, precision, sensitivity, and F1-Score. The results indicate that the DenseNet201 model based on dual channel attention has gained greater performance increasing up on average of 95.112%, 96.2%, 95.4%, and 95.9% for accuracy, precision, sensitivity, and F1-Score, respectively. In terms of accuracy, it has surpassed that of others’ 4 classification pneumonia models in recent years. The DenseNet201 model based on dual channel attention mechanism is beneficial to improve the classification and detection efficiency of pneumonia images, this model can be applied to medical rapid screening.
为提高诊断肺炎患者的时效性和精确性,本文提出了三种基于双信道注意力机制的肺部X光图像检测模型。采用了21,158张肺部X光图像,并对原始图像进行图像增强、几何变化等处理。将预处理后的X光图像分别输入三种模型并检测,最后采用识别的准确度、精确度、灵敏性、F1-Score等指标评估了各个模型的性能。实验结果表明,基于双通道注意力机制的DenseNet201模型效果最优,其准确度、精确度、灵敏度、F1-Score分别为95.112%、96.2%、95.4%、95.9%,其中准确度已超过近年来他人4分类肺炎模型,基于双通道注意力机制的DenseNet201模型有利于提高肺炎图像的分类检测效率,可以应用于快速医学筛查。
医学X光图像,CBAM,ResNet,DenseNet,ResNext
Deyang Zeng, Xinrong Yang
School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai
Received: Jan. 4th, 2024; accepted: Jan. 20th, 2024; published: Feb. 29th, 2024
In order to improve the timeliness and accuracy of the diagnosis of pneumonia patients, this paper proposes three lung X-ray image detection models based on dual channel attention. This paper uses 21,158 lung X-ray images, then these original images are processed with image enhancement and geometric changes. Next, the preprocessed X-ray images are input into three different models for detection. Finally, the performance of each model is evaluated by using evaluation factors such as accuracy, precision, sensitivity, and F1-Score. The results indicate that the DenseNet201 model based on dual channel attention has gained greater performance increasing up on average of 95.112%, 96.2%, 95.4%, and 95.9% for accuracy, precision, sensitivity, and F1-Score, respectively. In terms of accuracy, it has surpassed that of others’ 4 classification pneumonia models in recent years. The DenseNet201 model based on dual channel attention mechanism is beneficial to improve the classification and detection efficiency of pneumonia images, this model can be applied to medical rapid screening.
Keywords:Medical X-Ray Images, CBAM, ResNet, DenseNet, ResNext
Copyright © 2024 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
传统肺炎检测采用逆转录聚合酶链式反应(RT-PCR)方法来诊断患者患病与否,然而该方法存在一定缺陷,其主要表现为诊断耗时过长且具有较高假阳性率。与正常肺部X光图像相比,肺炎X光图像具有较多阴影区域,然而其他肺部问题,如肺水肿等也会增加肺部X光图像阴影区域,这无疑增加了通过肺部X光图像判断肺炎患病与否的难度。肺部X光图像具有丰富病理信息,经验丰富的医师可快速通过肉眼观测肺部X光图像并给出合理判断,大多数缺乏丰富经验的医生往往不能给出合理判断,但,即便是具有丰富经验的医生也会由于疲劳度等不可抗因素给出错误诊断结果 [
当下人工智能已经展现出卓越的性能,其中基于卷积神经网络的医学图像分类技术也愈加成熟。使用卷积神经网络对肺部X光图像进行预处理、训练、特征提取、依据特征信息进行分类,最终精确预测肺炎类别,在提高肺炎检测准确率的同时,减轻了医生的医疗压力。因此,将基于卷积神经网络的深度学习技术应用于肺炎检测是一种非常有效的诊断解决方案 [
大量研究表明,利用深度学习对肺部X光图像进行检测比人工肉眼检测具更高的准确度以及更少的检测时间。周天奕 [
上述方法实验中涉及的肺部X光图像广泛应用于肺炎分类检测任务中,但由于肺部X光图像数据集存在较大类别不平衡性,导致分类结果与现实情况具有一定的偏差。
本文提出并对比分析了3种肺炎图像分类模型,首先对实验数据进行预处理,减小由于数据集的不平衡性所带来的影响;随后将融合双信道注意力模块的网络模型在ImageNet数据集上进行迁移学习,使得模型更具健壮性;最后将处理后的数据集放入模型中进行训练、分类,最终得到最优分类模型。
双信道注意力机制模块(CBAM)由通道注意力模块(CAM)及空间注意力模块(SAM)组成,CAM用于提取特征图通道特征,SAM用于提取特征图空间特征。图像进入神经网络得到对应特征图,首先经过两个并行的MaxPool和AvgPool对特征图进行初步处理,使得特征图大小由C*H*W变为C*1*1,然后再经ShareMLP模块处理,先将通道数压缩为原来的1/n,再扩张到原通道数,再经ReLU激活函数得到两个激活后的结果。将两个输出结果逐元素相加,随后通过sigmoid激活函数得到CAM模块的输出结果,最后将输出结果与原始特征图相乘,使特征图维度恢复为C*H*W。SAM将CAM的输出结果通过MaxPool和AvgPool得到两个维度为1*H*W的特征图,并对这两个特征图进行Concat操作,通过7*7卷积变为1通道的特征图,随后经sigmoid处理得到SAM的特征图,最后将输出结果再与原始特征图相乘恢复特征图初始维度。
通道注意力公式如下:
M c ( F ) = σ ( MLP ( AvgPool ( F ) ) + MPL ( MaxPool ( F ) ) ) = σ ( W 1 ( W 0 ( F a v g c ) ) + W 1 ( W 0 ( F max c ) ) ) (1)
空间注意力公式如下:
M s ( F ) = σ ( f 7 * 7 ( [ AvgPool ( F ) ; MaxPool ( F ) ] ) ) = σ ( f 7 * 7 ( [ F a v g s ; F max s ] ) ) (2)
其中:F代表输入特征图,AvgPool表示平均池化,MaxPool表示最大池化,MLP为多层感知机,σ表示sigmoid激活函数, f 7 ∗ 7 表示一个7*7的卷积,Mc(F)表示经通道注意力模块后得到的特征图,Ms(F)表示经空间注意力机制后得到的特征图。
ResNet的核心思想是使用残差模块(Residual Block)构建深度神经网络。传统神经网络每一层输入都会经过一系列线性变换和非线性激活函数后输出给下一层。由于信号在逐层传递的过程中不可避免地会产生信息损失,因此随着网络深度的增加,在模型训练过程会出现梯度消失和梯度爆炸等问题,导致网络深度受到限制,ResNet通过引入残差模块来解决这个问题。残差模块由两个卷积层和一个跨层连接组成,跨层连接将输入信号直接传递到输出端,使得输入信号可以直接流到下一层,从而解决了信号传递过程中的信息损失问题。残差模块使得网络深度可以更加容易地加深,同时也提高了网络的精确度和稳定性。残差模块公式如下。
y = σ ( F ( x , W ) + x ) (3)
其中,y代表残差块输出值,σ代表激活函数,F代表残差函数,x代表输入特征,W代表权重。
DenseNet的核心思想是在各层之间增加密集连接。DenseNet各层都接收来自前面所有层的输出。这种密集连接使网络更加有效地利用参数,在避免梯度消失和梯度爆炸的同时,提高了网络的信息流动性和特征重用性。
DenseNet主要特点包括:1) 密集连接:每个层都与前面所有层连接,使信息更加充分地流动。2) 特征重用:由于每个层都能够接收前面所有层的输出,可以更好地利用共享的特征。3) 参数共享:由于每个层都可以接收前面所有层的输出,可以大大降低网络中参数的数量。4) 降低梯度消失和梯度爆炸:由于每个层都能够接收前面所有层的输出,可以避免在网络深度加深时出现的梯度消失和梯度爆炸的问题。5) 减少过拟合:DenseNet中引入了Dropout和Batch Normalization等技术,可有效减少模型过拟合。DenseNet模型公式如下。
X i = H i ( [ X 1 , X 2 , X 3 , ⋯ , X i − 1 ] ) (4)
其中X1,X2,X3,Xi-1代表特征图,Hi代表非线性变换,[
ResNext模型采用一种全新的卷积操作,称为分组卷积(Group Convolution),该卷积操作将输入通道分组,将各分组的通道分别进行卷积计算,最后将各分组的结果进行拼接,得到最终的输出。与传统卷积操作相比,分组卷积可减少运算量,提高计算效率,与此同时ResNext模型融合了ResNet的残差连接(Residual Connection)思想,即将输入与输出进行加和操作,将前一层的输出直接传递到后一层,从而避免了由于网络深度增加带来的梯度消失问题,使得网络更加容易训练。ResNext模型公式如下所示。
y = x + ∑ i = 1 C τ i ( x ) (5)
其中x代表输入特征,τi(x)代表分支结构,C代表卷积组大小。
本文提出并构建了三个基于CBAM的神经网络模型,分别如图1、图2和图3所示。其中图1为ResNet50 + CBAM模型结构,图2为DenseNet201 + CBAM模型结构,图3为ResNext50 + CBAM模型结构。三个模型接收到的输入图像维度均为1*224*224。除固有结构差异外,三种模型之间的核心差异在于双通道注意力模块(CBAM)的插入位点不同。
ResNet50 + CBAM模型由以下几部分组成,首先是一个维度为1*224*224的图像输入层,其后是一个7*7的卷积层,卷积后进入4个不同的瓶颈模块组,每个瓶颈模块组由3个卷积层和一个CBAM模块拼接而成,其中第一个瓶颈模块组额外多一个最大池化层,各层的具体参数如下图所示,其中Conv代表卷积操作,c代表通道数,s代表卷积步长,p代表padding数。ResNet50 + CBAM模型结构以及具体参数,如图1所示。
图1. ResNet50 + CBAM模型结构
图2. DenseNet201 + CBAM模型结构
DenseNet201 + CBAM模型整体结构由以下几部分组成,首先是一个维度为224*224的输入图像输入层,其后是一个7*7的卷积层,卷积后进入4个不同的DenseBlock层,每个DenseBlock层由若干个小体结构构成,每个小体积结构又由一个1*1卷积、一个3*3卷积,以及一个CBAM模块构成,相邻DenseBlock结构间存在一个Transition层,Transition层由一个1*1卷积以及一个2*2的平均池化层构成,最后分类输出层由7*7平均池化和4个完全连接的分类层组成。DenseNet201 + CBAM模型结构如图2所示。
ResNext50 + CBAM模型由以下几部分组成,首先是一个大小为224*224的输入图像,其后是由64个7*7的卷积核构成的卷积层以及一个3*3的最大池化层,池化后进入4个组卷积层,分别重复3、4、6、3次,每个组卷积层都由2个1*1的卷积以及一个Group数为32的分组卷积构成,ResNext50 + CBAM模型结构以及具体参数如图3所示。
图3. ResNext50 + CBAM模型结构
在三个模型的训练过程中,使用交叉熵作为损失函数来计算每次反向传播的损失值。优化器选择SGD (随机梯度下降),学习率为0.001,动量为0.5。选择SGD的优点是,SGD引起的波动有利于优化方向从当前局部极小点跳到另一个更好的局部极小点。因此,对于非凸函数,它会收敛到一个好的局部极值点,甚至全局极值点。此外,优化器一次只更新一个样本的模型参数,训练速度快,有利于模型的快速收敛。交叉熵损失函数及SGD优化器公式如下。
L o s s = − ∑ y i ∗ log p i (6)
其中Loss表示交叉熵损失值,y表示真实标签,p表示模型预测概率值。
ω t + 1 = ω t − ρ ∇ ω L ( ω t ; x i ; y i ) (7)
其中ωt表示某一时刻模型参数,x代表样本,y代表样本标签,∇ωL(ωt; xi; yi)代表在(xi, yi)点处模型梯度,ρ代表学习率。
实验总体流程,如图4所示,包括三个重要阶段:1) 通过迁移学习初始化模型参数;2) 合理的图像预处理;3) 选择最优的骨干网络和CBAM的最佳组合。
图4. 实验流程
本文使用ImageNet公开数据集对模型进行预训练,使得模型具有更加合理的初始化参数。图像识别算法的准确性与图像质量强相关,从Kaggle中获取的原始肺炎数据集并不能很好的直接放入到深度学习模型中进行训练。为提高模型分类准确性,本实验在数据集的图像中对每个像素乘以1/255进行标准化处理,使得数据集在0到1的范围内进行归一化,从而使数据集在像素强度方面保持一致。此外,我们所获取的数据集中,不同类别的数据量有较大差异。因此,本文进行了相关的数据增强,使得不同类别数据量保持平衡。数据增强的方法有很多,包括1) 基于几何变换的扩增技术,如Flipping,Cropping,Rotation,Translation,Noise injection等。2) 颜色空间变换,通过在特征通道上进行操作,改变图像颜色分布,进而增强模型对色彩变化的鲁棒性。3) 卷积核滤波器,通过卷积操作对图像进行一系列滤波处理,以增强模型泛化能力,4) Mixing images,通过将多个图像融合生成新图像,从而使得模型更加关注图像间的相关性。5) Random erasing,通过随机擦除图像某区域,引入局部信息损失,使得模型在不完整的图像信息中进行训练,有利于提高模型鲁棒性和泛化能力。本文使用rotation和flipping增强,针对于本实验,rotation操作使得模型能够学习图像不同角度下的特征,避免模型对于训练数据中特定角度的过拟合,flipping操作有助于减小模型对图像中某些方向上的特定特征依赖,使得模型更具泛化能力。几何变换后的肺炎图像,如图5所示。
图5. 几何变换后的肺炎图像
本实验数据集取自Kaggle公开肺炎数据集,共21,157张肺部X光图片,分为4类,分别是:Coronary pneumonia (3610张),Lung_Opacity (6010张),Viral Pneumonia (1345张),Normal (10192张),典型图像数据如图6所示。
四种类型的肺炎图像在数据集四个子分类中的具体分布情况如表1所示,为确保实验的科学有效性以及模型的健壮性,本实验预先将不同子分类按8:1:1的比例随机分配到训练集、测试集及验证集中。
图6. 肺炎数据集
数据集 | Coronary pneumonia | Lung_Opacity | Viral Pneumonia | Normal | Total |
---|---|---|---|---|---|
训练集 | 2888 | 4808 | 1072 | 8152 | 16920 |
测试集 | 362 | 602 | 135 | 1020 | 2119 |
验证集 | 362 | 602 | 135 | 1020 | 2119 |
表1. 数据集划分情况
深度学习模型性能除了和模型本身结构、参数有关外,还与模型评估指标密切相关,针对不同模型及应用场景,选择合理的评估指标对模型性能的合理判断极为重要。
为了多方位多角度的评估本实验模型真实性能,本文采引入了4中不同评估指标,分别为:1) Accuracy;2) Precision;3) Sensitivity;4) F1-Score。
1) 模型Accuracy值代表模型分类准确度,表示在所有样本分类中正确分类的比例。
Accuracy = ( TP + TN ) / ( TP + FP + TN + FN )
2) 模型Precision值代表模型分类的精确度,表示在所有被预测为正类别的样本中,真实属于正类别的比例。
Precision = TP / ( TP + FP )
3) 模型Sensitivity值代表模型分类的特异性,表示在所有实际正类别样本中成功预测为正类别的比例。
Sensitivity = TP / ( TP + FN )
4) 模型F1-Score值兼顾了模型准确率和灵敏性,是准确率和灵敏性的调和平均值。
F1-score = 2 ⋅ Precision ⋅ Recall / ( Precision + Recall )
上式中,TP为模型正确预测为正类别的样本数,TN为模型正确预测为负类别的样本数,FP为模型错误预测为正类别的样本数,FN为模型错误预测为负类别的样本数。
原始肺部X光图像经rotation,flipping增强后,按batch_size = 16为一组,输入ResNet50 + CBAM模型进行训练,按图1所示结构,在ResNet50基模型不同位点融入CBAM特征提取模块,强化模型特征提取力度,图像在模型内部经过一系列池化、卷积、CBAM处理等操作得到最终的输出结果。
经过改进的ResNet50模型在训练集上的loss变化曲线以及在验证集上的Accuracy变化曲线如图7所示,在400个epoch后loss以及Accuracy变化趋于稳定,经500个epoch后ResNet50 + CBAM模型在验证集上的四分类肺炎分类最大准确率达到89.504%。
图7. ResNet50 + CBAM模型Loss值与Accuracy值变化情况
图像增强后的原始肺部X光图像按batch_size = 16为一组,输入DenseNet201 + CBAM模型进行训练,按图2所示结构,图像经一系列DenseBlock层、Transition层进行特征提取,在每个DenseBlock中,每经一个由1*1以及3*3卷积构成的小体结构后,额外进行一次CBAM特征提取,使得模型提取到更加深层的图像信息,图像在模型内部图像经过一系列池化、卷积、CBAM处理等操作得到最终的输出结果。
经过改进的DenseNet201模型在训练集上的loss变化曲线以及在验证集上的Accuracy变化曲线如图8所示,在大约350个epoch后loss以及Accuracy变化趋于稳定,经500个epoch后DenseNet201 + CBAM模型在验证集上的四分类肺炎分类最大准确率达到95.112%。
图8. DenseNet201 + CBAM模型Loss值与Accuracy值变化情况
图像增强后的原始肺部X光图像按batch_size = 16为一组,输入ResNext50 + CBAM模型进行训练,按图3所示结构,分别在每个组卷积层中的分组卷积块后加入CBAM特征提取模块,将图像经过组卷积后的特征在空间以及通道维度上进行二次特征提取,使得图像特征被充分利用,图像在模型内部图像经过一系列池化、卷积、CBAM处理等操作得到最终的输出结果。
图9. ResNext50 + CBAM模型Loss值与Accuracy值变化情况
经过改进的ResNext50模型在训练集上的loss变化曲线以及在验证集上的Accuracy变化曲线如图9所示,在大约400个epoch后loss以及Accuracy变化趋于稳定,经500个epoch后ResNext50 + CBAM模型在验证集上的四分类肺炎分类最大准确率达到93.948%。
本文经实验得到的三种四分类肺炎模型的性能指标如图10所示。从中可以看出,DenseNet201 + CBAM在准确度、精确度、灵敏度以及F1-Score均显著优于ResNet50 + CBAM模型以及ResNext50 + CBAM模型,最大值分别为95.112%、96.2%、95.4%和95.9%,这体现了DenseNet201+CBAM模型的潜在卓越性,同时也凸显了CBAM模块对模型性能改进的积极作用。深入分析图7、图8和图9,可以更为具体地观察到DenseNet201 + CBAM模型相较于ResNet50 + CBAM模型和ResNext50 + CBAM模型的性能优势。首先,在loss值的收敛速度方面,随着训练批次的逐渐增加,DenseNet201 + CBAM模型呈现出更为迅速的模型损失收敛趋势。这表明DenseNet201 + CBAM模型更为迅速地适应了训练数据,为其更高效的学习能力提供了有力支持。其次,模型在准确度提升速率方面也展现出明显差异,进一步印证了DenseNet201 + CBAM模型在特征提取和分类性能方面的卓越表现。
图10. 3种模型在Accuracy、Precision、Sensitivity、F1-Score上的对比结果
肺炎分类是目前医学图像分类的热门话题,但绝大多数肺炎分类都是二元分类,多分类模型较少。本文将通过实验获得的最优模型DenseNet201 + CBAM与近年来他人肺炎多分类模型进行了比较,结果如表2所示。
Reference | Year | # of classes | Accuracy |
---|---|---|---|
P. Nagapuri [
|
2022 | 4 | 91% |
A. Jha [
|
2022 | 4 | 94.65% |
S. S. Selvi [
|
2022 | 4 | 95.01% |
Proposed | 2023 | 4 | 95.112% |
表2. 近年来四分类肺炎模型分类准确度比较
由表2可知,本文提出的基于CBAM改进的DenseNet201模型比近年来提出的四分类肺炎分类模型具有更好的准确性。
本文将特征提取模块CBAM与不同网络模型进行融合,探究并对比分析了CBAM + DenseNet模型在四分类肺炎数据集上的性能,本文提出的基于CBAM的DenseNet201四分类肺炎模型在分类准确度上达到95.112%,超过近些年其他肺炎四分类模型,实验结果证明该模型适用于多分类肺炎分类检测,临床诊断时可为医生提供可靠帮助。基于CBAM的DenseNet201四分类肺炎分类模型不仅在医学图像分类领域具有实质性作用,同时也为深度学习方法在其他复杂任务中的应用提供了有益的经验和指导。本文的研究为未来医学影像分析和疾病诊断领域的深入研究提供了新的思路和方法。
未来工作将结合更多临床数据进一步提高DenseNet201 + CBAM的预测能力,以实现快速区分不同肺炎患者,并在肺炎患者得到快速救治的同时,更大程度地减小医疗压力。
曾德洋,杨鑫荣. 双信道注意力机制神经网络的肺炎图像分类研究Research on Pneumonia Image Classification Based on Dual Channel Attention Mechanism Neural Network[J]. 理论数学, 2024, 14(02): 733-745. https://doi.org/10.12677/PM.2024.142072
https://doi.org/10.1109/ICCES54183.2022.9835798
https://doi.org/10.1109/ICAIBD.2019.8837042
https://doi.org/10.1109/TMI.2020.3040950
https://doi.org/10.1109/LifeTech53646.2022.9754850
https://doi.org/10.1109/MetroXRAINE54828.2022.9967590
https://doi.org/10.1109/ICACCS57279.2023.10113110
https://doi.org/10.1109/CSCS59211.2023.00019
https://doi.org/10.1109/ACCESS51619.2021.9563341
https://doi.org/10.1109/ICAIS50930.2021.9395895
https://doi.org/10.1109/INCET51464.2021.9456201
https://doi.org/10.1109/ICoDT252288.2021.9441539
https://doi.org/10.1109/ICACCS51430.2021.9441864
https://doi.org/10.1109/ITIS57155.2022.10010119
https://doi.org/10.1109/ICATIECE56365.2022.10047575
https://doi.org/10.1109/MWSCAS54063.2022.9859403
https://doi.org/10.1109/CONIT55038.2022.9847880