李芳芳,马 春,束建华,李 亚,殷云霞,蔡 莉,谷宗运
(安徽中医药大学 医药信息工程学院,安徽 合肥 230012)
肺炎是一种细菌、病毒或真菌引起的肺部感染,如果不及时诊断并治疗,可能危及生命,是世界各地儿童和老年人死亡的主要原因之一[1],准确而快速的诊断至关重要,它可以保证患者获得及时治疗.胸部 X 光片检测是肺炎诊断的重要手段之一,它需要医生有丰富的专业知识和临床经验.由于影像科医生的阅片量大,经常会出现误诊、漏诊情况,尤其是新型冠状病毒引起的肺炎,传染快,发病率高,检测的速度和准确性都是亟待解决的问题.为了更好地辅助影像科医生读取胸部 X 光片,研究自动检测肺炎的模型十分必要.
基于卷积神经网络的深度学习方法已经被广泛应用于视觉方面的分类、定位及目标检测等任务中.潘丽艳等[2]提出一种经过改进的AlexNet结合迁移学习对肺炎X光片进行细菌性和病毒性判断,其准确率达80.5%;Liang等[3]采用迁移学习,使其准确率达到了90.5%.虽然这些模型的性能有了较大提升,但由于对空间维度和通道维度的信息不够,造成特征提取过程中空间及通道的关联信息损失,从而降低了模型诊断的精确度.Hu J等[4]提出的SENet(Squeeze-and-Excitation Networks)网络对不同通道,应用相应的注意力模块部分解决了此问题.Sanghyun Woo等[5]设计了一种简便有效的注意力机制模块(Convolutional Block Attention Module,CBAM),与SE模块相比,CBAM模块同时还关注了空间之间的特征联系.实验结果表明,通道注意力机制和空间注意力机制两个模块相辅相成,综合应用能使网络更好地进行特征重标定,从而提高模型诊断精度.
现有的肺炎检测模型通常面临两个问题:其一,胸部X光片中肺炎的视觉信号特征不明显;其二,早期肺炎患者在影像上的目标区域较小,给检测带来了困难.经典网络模型如VGG或ResNet进行特征提取会损失通道及空间之间的关联信息,从而造成诊断的准确度低等问题.因此,本文提出了一种结合注意力机制和ResNet网络两种模型优点的新网络模型来解决上述的肺炎X光片检测问题,其中通道和空间注意力模型提取肺炎区域的关键通道特征和空间域特征,并利用残差网络解决深度网络退化问题.通过调整注意力机制模块在ResNet网络中的位置,结合实验对比数据,更好地实现特征提取,从而有效提升模型的分类准确度,提高诊疗水平.
卷积神经网络(CNN)是一类包含卷积层的前馈神经网络,其最早出现在平移不变人工神经网络(SIANN)、LeNet-5[6]等网络模型中.分类CNN是一种有监督的深度学习模型,经常以一幅图像作为输入,以隶属于某个分类标签的概率作为输出,其在大规模图像处理方面表现优秀.深度卷积神经网络的特点是层次加深、参数规模变大,其优点是对特征值进行计算而不是对原始值进行计算,并且分类的正确率有了显著提高[7].现有很多深度卷积神经网络模型被成功应用于医学影像处理中[8-9],为临床诊断提供依据.
深度残差网络(Deep residual network, ResNet)是由来自微软亚洲研究院的4位教授提出的卷积神经网络[10],其核心思想是:每个附加层都应该更容易地包含原始函数作为其元素之一,其残差块结构如图1所示.其中f(x)是理想映射,f(x)-x是需要拟合出的残差映射.在残差块中,输入可通过跨层数据线路快速地向前传播.ResNet很好地解决了网络退化问题,使训练更深网络模型的实际性能大大提升.ResNet已经广泛应用于计算机视觉有关的医学影像处理,包括影像分类、病灶检测、定位和分割等.文献[11]使用了ResNet-50和DenseNet-121评估CNN在三家医疗机构中推广模拟肺炎筛查任务.文献[12]使用了特别制定的 ResNet-152 神经网络模型,在肺部X光片中鉴定肺炎,其准确率提高到97%.在目标检测方面,Mubarok 等[13]基于ResNet 和Mask-RCNN两个深度网络模型的基础上,实现了在每次卷积计算加激活函数之后进行批量归一化操作,Residual Network和Mask-RCNN 的准确率分别为 85.6%和 78.1%,同时应用Mask-RCNN对病变区进行定位,效果良好.
图1 ResNet的一个残差块
Convolutional Block Attention Module(CBAM)是Sanghyun Woo等[5]最早提出的一个简单却十分有效的注意力机制模块,其给出了一个中间特征映射.它综合了空间(spatial)和通道(channel)两个模块,相比于只关注通道注意力机制的SENet,可以取得更好的特征提取效果.通道注意力机制可以让网络模型更加关注信息最重要的通道特征,并且抑制那些次要的通道特征.通道注意力机制原理如式(1)所示.
Mc(F)=
σ(MIP(AvgPool(F))+
MLP(MaxPod(F)),
(1)
其中:输入F作为input feature map;σ是Sigmoid操作;Mc表示在channel维度上做attention提取的操作.
空间注意力模块是通过空间转换器将原图片的空间域信息做相应的空间转变,从而将关键信息提取出来.空间注意力机制原理如式(2)所示.
Ms(F)=
σ(f7×7)([AvgPool(F);MaxPool(F)]),
(2)
其中:σ是Sigmoid操作;7×7是卷积核大小;Ms表示在空间维度上做attention提取的操作.
ResNet网络模型广泛应用于医学影像分类等任务,并经常用作计算机视觉任务骨干神经网络的一部分.本文利用CBAM模块容易和CNN网络结构融合的特点,在ResNet网络的每个残差块前后都加入了注意力机制,其网络模型如表1所列.
表1 融入CBAM模块的ResNet-50网络模型
本模型中CBAM模块先使用channel模块再使用spatial模块,且模块之间按照顺序排列的方式,其CBAM模块的结构如图2所示,实验证明这种组合方式性能更优.
图2 CBAM模块结构
通道注意力模块结构如图3所示,其通道之间的特征重标定步骤为:首先将输入特征图分别经过最大池化层及平均池化层;然后将两者的输出分别经过多层感知机(MLP),对MLP输出特征做加法;再经过Sigmoid函数输出通道注意力特征图;最后将通道注意力特征图与输入特征图做逐元素相乘,实现在通道上的注意力机制.
图3 通道注意力模块网络结构
空间注意力模块是将原始图片中的空间信息通过空间转换模块,变换到另一个空间并保留关键信息,其网络结构如图4所示.
图4 空间注意力模块网络结构图
其特征重标定过程为:首先将输入特征图经过基于通道的最大池化和平均池化计算;然后将两者的输出结果在通道上做特征融合,并将结果压缩为一个通道;最后经过7×7卷积层和Sigmoid激活函数生成空间注意力特征图,将空间注意力特征图与输入特征图做乘法,实现在空间上对特征图的特征重标定.
本文实验所用的数据集为University of California, San Diego于2018年公开的数据集ChestX-ray Images[14].数据集包含Train、Test和Val 3个部分,并分别包含肺炎/正常的子文件夹,共有5 856张X光胸片图像,其中肺炎图像4 273张,正常的1 583张.图5显示了实验所选用的数据集中部分样本数据,其中Normal表示正常状态图像,Pneumonia表示肺炎状态图像.
图5 部分样本
实验使用了准确率(Accuracy)、精确率(Precision)、敏感度(Sensitivity)、特异度(Specificity)和F1-Measure等几个技术指标.本实验中采用混淆矩阵表示实验相关数据,其表示方法如表2所列,其中,TP和TN分别表示真阳性和真阴性;FP和FN分别表示假阳性和假阴性.
表2 混淆矩阵
准确率(Accuracy):对于给定的测试数据集,模型正确分类的样本数与样本总数之比,称为准确率,表达式如式(3)所示.
(3)
精确率(Precision):在预测结果为正类的数据中,有多少数据被正确预测(原本就是正类),表达式如式(4)所示.
(4)
敏感度(Sensitivity):被识别出的所有正类占所有总正类的比例,表达式如式(5)所示,敏感度高意味着漏诊率低.
(5)
特异度(Specificity):识别出的负类占所有总负类的比例,表达式如式(6)所示,特异度高意味着误诊率低.
(6)
F1-Measure:是Precision和Sensitivity的综合结果,表达式如式(7)所示.当F1值较高时,说明实验方法更加优异.
(7)
在实验开始前将原始的数据集进行合并,然后按照8:2的比例将合并后的数据集随机分为Train Set和Test Set.此外,本文采用数学中常用的双线性插值算法对图片进行压缩,以解决输入特征尺寸不统一和图像尺寸较大的问题.双线性插值算法是一种比较好的图像缩放算法,它充分利用了源图中虚拟点四周4个真实存在的像素点值来共同确定目标图像中的一个像素值.因此缩放效果比简单的最邻近插值要好很多,缩放后图像质量高,并且图像像素值不连续的情况基本不会出现.
训练和测试数据已经经过图像缩放处理,处理后的图像大小统一为224×224,使用Adam优化器,其内置了momentum,其它超参数包括:学习率为0.005,num_epoch=50.使用交叉熵损失函数(CrossEntropyLoss())[15]来计算预测值和实际标签值之间的差距,进而权衡模型的好坏.在二分类的情况下,模型最后需要预测的结果只有两种情况,对于每个类型预测得到的概率为p和1-p,此时表达式为:
[yi·log(pi)+(1-yi)·log(1-pi)],
(8)
其中:-yi表示样本i的label,正类为1,负类为0;-pi表示样本i预测为正类的概率.实验在Windows10系统下,GPU为NVIDIA Tesla K80,实验环境为基于Windows的Pytorch深度学习框架.
本实验设计采用上述评价指标对本网络和VGG16、ResNet-50网络模型作对比实验,图6显示了3种网络模型下(ResNet-50+CBAM,ResNet-50,VGG16)的准确率和损失值.为了便于观测实验结果,设置每一个epoch代表迭代10次,共50次.
图6 3种网络模型下的准确率和损失值对比情况
各评价指标的具体参数如表3 所列.从表中可以看出,和两种经典的网络模型相比,本文所提出的ResNet-50+CBAM的网络结构的准确度最高,达到97.2%.其精确度、敏感度、特异度及F1-Measure比ResNet-50分别高1、3.8、0.9和2.4个百分点,比VGG16分别高1.5、5.2、1.3和3.4个百分点.
表3 3种网络模型下的评价指标参数值
综合以上实验结果可以看出,通过ResNet-50融合了注意力机制的网络模型能够有效提升肺部X光片的分类性能,提高了肺炎诊断的准确率;敏感度和特异度的双提升意味着漏诊率和误诊率都进一步得到降低,进而为影像科医生的肺炎诊断工作提供帮助,为患者的治疗争取了更多的有效时间,减少了肺炎的致死率.
本文方法的部分预测结果如图7所示,其中上方为实际标签值,下方为预测结果.
图7 部分预测结果
本文提出了一种改进的基于注意力机制特征融合层深度卷积神经网络模型,该模型基于经典的ResNet-50的基本架构,在每个残差块的前后都融合了通道注意力机制模块和空间注意力机制模块,从而能够充分提取通道注意力重要特征及多尺度特征图空间信息.通过大量实验,对胸部X光片的肺炎诊断做了对比分析.实验结果证明,相对ResNet-50和VGG的网络模型,本文网络模型在训练集和测试集上均表现出更好的识别能力和泛化能力.相对于传统的深度学习神经网络,本文提出的模型在辅助肺炎诊断的工作中性能更优.