高 敏,曾孟佳,2*
(1.湖州师范学院信息工程学院,湖州 313000;2.湖州学院电子信息学院,湖州 313000)
肺炎是临床上最常见的传染病之一,由于肺炎病因复杂,且发病时间短,因此尽早识别肺炎对肺炎的治疗和诊断都起着重要的作用[1]。X 光检查因其辐射小、费用低、实用性强等优点而被广泛用于影像检查[2]。但是X光肺炎图像分辨率低,图像中的器官会出现重叠、交叉等现象,增加了专业医生的识别难度,容易导致医生出现误诊、漏诊的情况[3]。如果肺炎没有被及时地发现和治疗,将影响到人的呼吸,严重的可能危及生命[4]。因此,快速和准确地诊断肺炎在治疗过程中至关重要。
传统的肺炎识别方法主要是依靠肺部专业医生的个人经验来判断[5]。现有的识别方法过于依赖专业的医学知识,由于医务人员的短缺、视觉疲劳和缺乏经验等客观因素导致诊断效率偏低[6]。随着计算机和图像处理技术的快速发展,计算机辅助诊疗系统逐渐应用在临床医学中,并为肺炎诊断等提供了参考性的意见。针对肺炎识别的问题,中外很多研究学者都提出了许多不同的方法[7]。Jun 等[8]利用支持向量机(support vector machine,SVM)算法对两种不同的肺炎进行了分类,最后的分类结果与放射科专业医生的分类结果准确率只相差5%~6%。俞一奇[9]在对咳嗽音儿童肺炎识别模型选用的是支持向量机算法,通过验证比较不同核函数等参数,最终实验得出的分类准确率为73.26%。Jakhar 等[10]使用深度卷积神经网络对肺炎图像进行识别,这是一个基于随机森林算法优化的大数据预测模型来识别肺炎图像,通过实验得出肺炎识别的准确率为84%。
随着人工智能的深入发展和医学影像数据的增加,人工智能在智慧医疗领域取得了重大的突破[11]。深度学习技术可以提高临床诊断的准确性和效率,它能够自动地从原始图像数据中逐层提取特征,从而更加准确地识别肺炎。Krizhevsky 等[12]使用卷积神经网络(convolutional neural network,CNN)在ImageNet 挑战赛中取得了压倒性的成功,引起大多数研究者的关注。在CNN 模型取得成功之后[13‑14],Anwar 等[15]将CNN 用于医学图像的相关分析中, Jahan 等[16]采用CNN 的高效网络,通过迁移学习和微调训练分类器,将改进后的网络模型用于肺炎识别中。Song等[17]使用特征金字塔网络改进残差神经网络,克服残差神经网络过拟合问题,并通过实验证明该方法在肺炎识别上取得了不错的准确率。Kong 等[18]提出了密集型融合网络和VGG 特征的分类网络,通过特征的重复利用来减少网络参数的数量,并缓解了梯度消失的现象。
为了提高肺炎图像的分辨率,同时提高肺炎识别的准确率,本文设计了一种基于注意力机制改进卷积神经网络的肺炎识别方法,使用公开的肺炎X 光图像数据集,对其进行图像增强等操作来增强肺炎图像的对比度,将处理完成后的数据作为网络模型的训练数据;由于无关特征对肺炎识别的影响,本文在卷积神经网络中加入注意力机制进行改进,对肺炎特征施加不同的权重,使得模型更加关注肺炎特征,抑制重叠器官和背景等无关特征的影响,从而提高肺炎识别的准确率。
卷积神经网络要求网络中与全连接层相连的最后一个卷积层的特征图尺寸是统一的。然而初始数据的质量和尺寸大小存在较大差别,需要对数据集进行尺寸归一化处理。本文使用拉伸缩放的方式将图像调整为224 × 224大小。
在肺炎图像形成的过程中,由于噪音等原因会使得的图像对比度降低,边缘模糊,再加上图像本身就有各种脏器覆盖,前后背景对比不突出。图片的质量会直接影响模型的训练。本文采取直方图均衡化和限制(HE)对比度直方图均衡(CLAHE)对图像进行增强操作。CLAHE主要在于对比度的限制,对每个小区域块都使用对比度限制,用来克服HE 过度放大噪音的问题。如图1 所示,CLAHE 方法能够优化均衡化的效果,保留了肺炎图像更多的细节。
图1 图像增强示例
卷积神经网络是一种特殊的深层神经网络,神经网络是由神经元节点连接构成的网络结构,广泛应用于视觉图像识别领域。卷积神经网络中主要的核心结构层由卷积层、最大池化层、全连接层构成,卷积层和最大池化层之间交替叠加,各结构层之间共同作用。
1.2.1 总体框架
本文研究的是注意力机制的改进卷积神经网络的肺炎识别方法,首先对肺炎图像进行图像增强等相关的预处理,然后在不改变CNN 网络深度的前提下,向网络中不同深度加入注意力机制,从而使得网络能够根据肺炎特征的不同重要性,对不同通道上的特征施加不同的权重,抑制无关器官和背景特征的干扰,从而提高网络模型的肺炎识别准确性。具体网络架构如图2所示。
图2 改进CNN网络架构
1.2.2 全连接层
在模型训练的过程当中,加入模型的参数很多,而用于训练的数据集样本很少,会出现训练完成之后的模型出现过拟合的现象。在网络模型训练的过程中加入全连接层可以有效缓解过拟合现象的发生[19]。
全连接层是一种正则化的方法,在训练中,隐藏层的神经元以概率P被抑制,部分隐藏层的神经元会被丢弃,然而被丢弃的结点参数值会被保留下来。在误差反向传播的过程当中,只有激活的神经元参数被更新。这个过程将在下一次训练过程中重复进行,从而可以在隐藏层的不同子集中学习相对应的特征,来减少特征之间的依赖性,防止过拟合。标准神经网络和应用Dropout的神经网络如图3所示。
图3 Dropout技术图
1.2.3 注意力机制
为了使改进后的CNN 忽略不相关的信息,更加关注肺炎的关键特征信息,本文在不同层的CNN 网络中加入了通道注意力机制模块,通道注意力机制是一个端到端、简单而又有效的计算机视觉注意力机制模块,在卷积神经网络中,通道注意力机制可以沿着通道维度输入任何中间的特征图。然后,将经过注意力施加权重的特征图与输入的特征图相乘,对输入的特征图进行一定程度的自适应特征细化。最后,将其无缝集成到卷积神经网络当中。通道注意力模型的计算方法如公式(1)所示。
其中:MLP是多层感知器;σ为sigmoid 函数;AvgPool是平均池化操作;MaxPool是最大池化操作,F是输入的特征图。通道注意力机制的结构如图4所示,其中⊗表示乘法运算。
图4 通道注意力机制结构
本实验在Windows10 环境中基于keras 深度学习框架和TensorFlow 开源库,处理器为Intel(R)Core(TM)i5−7200U CPU@2.50 GHz 2.70 GHz,内存为16 GB。
本文采用加州大学圣迭戈分校Kermany等[20]于2018 年在Kaggle 网站公开的胸部X 光影像数据集Chest X‑ray Images。数据集分为两大类和三小类。训练集共有5216 张影像,包含1341张正常(normal)状态的影像和3875张患有肺炎的影像,其中患有肺炎的图像包含2530 张细菌性(bacteria)肺炎影像和1345 张病毒性(virus)肺炎影像。测试集共有624 张影像,包含234 张正常状态的影像和390张患有肺炎的影像,其中患有肺炎的图像包含242 张细菌性肺炎影像和148 张病毒性肺炎影像。图5是胸部X光影像数据集正常、病毒性肺炎、细菌性肺炎样本数据。图6是胸部X光影像数据集的具体分布情况。
图5 胸部X光影像部分样本数据
图6 胸部X光影像数据分布
对于医学图像的识别,性能的评价指标一般有三个,分别是准确率Accuracy、精确率Pre‑cision、召回率Recall。在三分类任务中使用平均值的评价方法。对正常、细菌性肺炎、病毒性肺炎三个类别分别统计准确率、精确率和召回率三个评价指标,然后求算术平均值作为模型的准确率、召回率和精确率。计算过程如公式(2)~公式(4)所示。
式中:TP是指真正的正样本;TN是指真正的负样本;FP是指假正样本;FN是指假负样本。
为了验证本文提出的图像增强方法对肺炎识别的有效性,分别使用直方图均衡化和限制对比度直方图均衡对图像进行增强操作,然后输入到CNN当中进行对比,结果如表1所示。
表1 使用图像增强技术的对比结果
表中的模型(1)、模型(2)和模型(3)依次表示输入CNN中的肺炎图像数据未进行图像增强、经过直方图均衡化图像增强、经过限制对比度直方图均衡图像增强之后的实验结果。相比较而言,肺炎图像数据经过图像增强处理之后能够一定程度地提高肺炎识别的准确率,提高了2%~6%左右,表明肺炎图像增强方法的有效性。
为了验证本文改进的CNN 网络结构的有效性,采用本文收集的数据集与其他主流的网络结构的结果进行对比,且使用相同的图像增强方法进行数据预处理,为了验证注意力机制在肺炎特征提取中的有效性,对本文网络没有使用注意力机制和加入了注意力机制的情况进行对比,结果如表2所示。
表2 与现有模型的对比结果
由表2 可知,本文研究的Att‑CNN 网络在肺炎识别的准确率达到90.57%,在所有对比方法中最高,表明加入注意力机制对网络进行改进能有效提高肺炎图像识别的准确率,召回率和精确率都不是很高,相对而言处于平均水平。本文在不同深度的CNN 中加入注意力机制模块进行改进,为CNN 在提取肺炎特征时分配了不同的权重,从而提高了肺炎识别的准确率,在加入注意力机制的情况下,本文研究的网络结构的三个评价指标都达到最高,表明本文所提出方法的有效性。
本文研究基于注意力机制改进CNN 的肺炎图像识别方法,网络结构采用CNN为主干网络,首先对肺炎图像数据进行图像增强处理,然后在不增加CNN 网络深度的情况下,向网络结构的不同层加入注意力机制,对肺炎特征施加不同的权重进行训练,使得网络能够更加精准地识别肺炎特征。实验结果表明,本文的模型和主流的方法相比,能够有效识别肺炎,其准确率达到了90.57%,精准率达到了89.76%。在一定程度上满足了部分临床的需求,对智慧医疗中肺炎识别的临床诊断有极其重要的意义。