融合Grad-CAM 和卷积神经网络的COVID-19 检测算法

2022-09-15 10:27:54朱炳宇张景祥
计算机与生活 2022年9期
关键词:准确率卷积肺部

朱炳宇,刘 朕,张景祥

江南大学 理学院,江苏 无锡 214122

研究表明COVID-19 病毒具备传染性快、隐蔽性强、致死率高等特性,这些特性会导致患者出现急性呼吸窘迫综合征(acute respiratory distress syndrome,ARDS),令患者肺部发生突变,迅速发炎充满液体。而普通肺炎(pneumonia)感染者的CT 扫描或CXR 图像中会显现出称为毛玻璃样征(ground glass opacity,GGO)的阴影斑块。根据患者的肺部CT 图像和CXR(chest X-ray)图像显示,与普通肺炎患者相比,COVID-19 阳性患者的肺部突变速度更快,产生的肺部阴影斑块和普通肺炎患者的也有显著差别。

因此,借助人体肺部CT 扫描图像和CXR 图像进行检测疾病的技术对患者进行早期诊断和后期治疗起到重要作用。近年来,深度学习技术已被广泛应用于医学图像检测领域,尤其是卷积神经网络技术。此技术通过提取图像的特征信息并借助卷积神经网络对图像进行分类从而达到提升图像识别准确率的目的。目前,使用卷积神经网络技术对人体肺部CT 扫描图像和CXR 图像进行分类已成为解决检测COVID-19 问题较为有效的主流方法。

常用的COVID-19 检测机制和研究方法大致分为两种:一种通过利用医学成像技术进行诊断,例如CT 成像和CXR 成像;另一种通过反向转录聚合酶链反应技术(reverse transcription-polymerase chain reaction,RT-PCR)进行检测。相较于RT-PCR 检测技术,CT 成像和CXR 成像更加方便快捷,并且CXR 成像技术可以检测到肺部炎症的位置、形状和大小,CT成像技术可以提供肺泡图片的详细信息。因此,很多学者常以人体肺部的CXR 图像和CT 扫描图像作为基础,利用深度学习技术对其进行分类进而实现快速检测COVID-19 和普通肺炎的目的。

Wang 等人构建了基于Inception 网络的CNN 算法,利用人体肺部CT 扫描图像检测COVID-19,得到了89.5%的准确率;Song 等人提出基于深度学习的CT 诊断网络(DRE-Net),把人体肺部不同类别CT 扫描图像数据集进行分类实验,在健康和COVID-19 阳性的实验上得到86%的准确率,在普通肺炎和COVID-19 阳性的实验中得到94%的准确率;Sethy 等人引入迁移学习机制,通过训练好的模型来提取人体肺部CXR 图像的特征,并将这些特征作为机器学习的基础输入到支持向量机(support vector machine,SVM)分类器中来检测COVID-19,最终在Res50-Net上得到最高准确率达到98.66%;Wang 等人基于迁移学习的思想和CNN 算法提出“新冠网络”(COVIDNet),将人体肺部CXR 图像进行分类,得到93.3%的准确率;Abbas 等人利用深度迁移学习新冠网络(DeTraC-Net),对医院综合数据集上的人体肺部CXR 图像进行分类,在COVID-19 阳性和COVID-19阴性的分类实验上达到93.1%的准确率;Apostolopoulos 等人通过利用人体肺部CXR 图像数据集进行COVID-19 阳性、肺炎和正常三分类实验,评估近年来提出用于医学图像分类的卷积神经网络算法的性能,在V2 移动网络(V2 Mobile-Net)上得到最高准确率为96.78%;Panwar 等人基于防止数据泄漏概念,提出非新冠网络(NCOV-Net)算法来检测COVID-19,得到98%的准确率;Kumar 等人以Dense121-Net 和Squeeze1.0-Net 为基础,继而组装设计了德奎泽网络(DeQueeze-Net)算法,将人体肺部CXR 图像分为COVID-19阳性和COVID-19阴性两类,得到94.52%的准确率和90.48%的精度;Luján-García 等人构建了多层CNN,利用人体肺部CXR 图像数据集检测COVID-19,最终得到84%的准确率和99%的召回率;Togaçar 等人通过模糊技术和叠加方法降低图像噪声,以Squeeze-Net 为模型将人体肺部CXR 图像分为COVID-19 阳性、普通肺炎和正常三类,准确率达到95%;Ozturk等人提出利用人体肺部CXR图像自动检测COVID-19 的算法(Dark-Net),在COVID-19 阳性和普通肺炎分类中获得了98.08%的准确率,在COVID-19 阳性、普通肺炎以及正常的三分类实验得到87.02%的准确率。

上述研究结果表明,CNN 作为检测COVID-19 的有效方法虽然取得了一定效果但仍存在一些问题。如文献[12]中分类得到的COVID-19 阳性病例无法在人体CXR 图像指出分类的重要区域;文献[13]缺少医学图像数据集的预处理,得到结果误差较大;文献[14]构建的CNN 算法太过复杂,参数优化困难;文献[15]在处理低分辨率图像时,准确率较低;文献[16]在多分类问题上准确率不高。针对上述问题,本文提出了一种融合Grad-CAM 颜色可视化和卷积神经网络的算法(algorithm combining Grad-CAM color visualization and convolutional neural network,GCCVCNN),该算法利用人体肺部CXR 图像和CT 扫描图像训练好卷积神经网络,再嵌入梯度加权类激活映射(Grad-CAM)技术,不仅可以实现对人体肺部的CXR 图像和CT 扫描图像的快速分类,还保证了检测的准确率,在COVID-19 阳性同普通肺炎的分类实验中准确率达98.06%。此外,还实现了分类感兴趣特征区域在初始图像上的颜色可视化,定位CNN 在医学图像中进行分类的关键区域。

1 GCCV-CNN

1.1 CNN

卷积神经网络(CNN)是一种深度前馈人工神经网络,主要由卷积层、池化层和全连接层构成,通过其中人工神经元响应周围单元,进行大型图像处理,如今已被广泛应用于各种图像识别中。

式(1)给出一种简单的神经网络表示。

其中,是指当前层的输出,是指第一层或者输入层的输入信息,代表当前层的权重,为偏置项。

卷积神经网络通过卷积运算和滤波替代普通神经网络中的乘法和赋权。

对于输入,每个通道上都有一个滤波器

以通道为例,则

最后输出结果:

其中,、和分别对应最终输出的行、列和通道。、、分别代表滤波器的行、列和通道,是指当前层数使用的滤波器符号。

本文提出的GCCV-CNN 算法结构由AlexNet 网络以及Grad-CAM 层组成。GCCV-CNN 上的卷积层中的滤波器通过对人体肺部CXR 图像和CT 扫描图像进行卷积运算来提取人体肺部CXR 图像的特征,得到特征矩阵图(FeatureMap),移动大小使用步长来定义。假设输入向量的维度为R,卷积核的感受野为R,卷积计算过程如下:

其中,′是特征图上坐标为(,)的元素,是通道数,、取值为0,1,…,-1,为池化核大小,是移动步长。

在卷积层之后的是池化层,用于减少网络的计算损失。通常使用的池化函数有平均值、L2 范数、最小值和最大值等,本文选取的池化函数为最大值,可以避免平均池化的模糊化效果,保留最显著的特征。

最大池化的计算过程:

其中,是第-1 层特征层中坐标为(,) 的元素,为池化后坐标为(,)的元素。

当比池化核小时,会使池化层的输出结果之间互相重叠和覆盖,提升特征的丰富性,减少信息的丢失。

池化层之后是全连接层,每个神经元完全连接上层中的神经元,能够整合卷积层或者池化层中具有类别区分性的局部信息。为了提升CNN 性能,全连接层中每个神经元的激活函数一般采用ReLU 函数。公式表示如下:

综上所述,本文所用的GCCV-CNN 算法对人体肺部CXR 图像和CT 扫描图像分类示意图如图1 所示。分类时共进行三组实验:第一组将人体肺部CXR 图像分为COVID-19 阳性和正常两类;第二组将人体肺部CXR 图像分为COVID-19 阳性和普通肺炎两类;第三组将人体肺部CT 扫描图像分为COVID-19 阳性和COVID-19 阴性两类。

图1 GCCV-CNN 分类示意图Fig.1 GCCV-CNN classification diagram

1.2 AlexNet网络结构

GCCV-CNN 算法采用AlexNet网络,整个网络结构由输入层、5 个卷积层和3 个全连接层组成,其中最后一个全连接层的输出也是Softmax 函数的输入,从而进行分类。流程图如图2 所示。

图2 AlexNet网络处理图像示意图Fig.2 Diagram of AlexNet network processing images

卷积层C1:该层先进行卷积运算,再利用ReLU激活函数来确保提取出的FeatureMap 大小在合理范围之内,加快了训练速度,最后进行池化运算。本文中初始输入图像大小为224×224×3,为匹配网络结构,进行宽度、高度两边都填充3 的图像预处理,得到227×227×3 的输入图像。

其中卷积运算是指对大小为227×227×3 的输入图像,使用96 个大小为11×11×3 的卷积核进行卷积,为4,卷积运算后得到大小为55×55×96的Feature-Map。ReLU 过程是指将卷积层输出的FeatureMap 输入到ReLU 函数中。池化运算是指使用3×3,为2 的池化单元进行池化,得到大小为27×27×96 的FeatureMap。

卷积层C2:该层的处理流程同C1 层相同,但卷积过程中使用的是256 个5×5×48 大小的卷积核,为1,对之前大小为27×27×96 的FeatureMap 提取特征。利用提取特征后得到的某几个FeatureMap选取相应区域与对应权重进行乘法运算,然后加上偏置项,由卷积核进行卷积。经过卷积之后,在宽度、高度两边都填充2 像素,输出大小为27×27×256的FeatureMap。

卷积层C3:该层只进行卷积运算,并将卷积后得到的FeatureMap 输入到ReLU 函数当中。

卷积层C4:过程与C3 相同。

卷积层C5:该层的处理流程与C1 相同,最终得到的FeatureMap 大小为6×6×256。

全连接层FC6:该层先进行卷积运算,之后将得到的FeatureMap 输入到ReLU 函数当中再进行Dropout过程。

其中本层的卷积过程也是全连接过程,该层有4 096 个卷积核,每个卷积核的大小为6×6×256。由于卷积核的大小刚好与上一层输入的FeatureMap 大小相同,此时将卷积核中的每个系数与FeatureMap中一一对应的像素值相乘。卷积运算结束后,得到4 096 个大小为1×1 的神经元。ReLU 是指将4 096 个神经元通过ReLU 激活函数生成4 096 个数值。

Dropout 过程是指随机从4 096 个数值中选取一些并将其赋值为0,来达到丢掉一些节点信息的目的,从而得到新的4 096 个神经元,防止过拟合。此过程通过修改神经网络本身结构来实现,对于上一层的神经元,通过定义的概率将神经元置为0,这个神经元就不参与前向和后向传播,同时保持输入层与输出层神经元的个数不变,然后按照神经网络的学习方法进行参数更新。在下一次迭代中,又重新随机删除一些神经元(置为0),直至训练结束。这一过程可以让每次生成的网络结构都不一样,通过组合多个网络的方式从而有效减少过拟合。

全连接层FC7:过程与FC6 相同。

FC8:用1 000 个神经元对FC7 中4 096 个神经元进行全连接,得到1 000 个数值。

AlexNet 网络结构各层名称输入、输出图像大小及参数量如表1 所示,参数总量为60 964 128。

表1 AlexNet网络参数Table 1 AlexNet network parameters

2 Grad-CAM 颜色可视化

在图像通过CNN 进行分类时会在CNN 的最后一层卷积层得到包含原图像关键信息的FeatureMap:R,其中为宽度,为高度。

即在CNN 的最后一层卷积层生成个Feature-Map:AA∈R。这些FeatureMap 利用GAP 进行线性变换产生个类别,每个具体类别的得分为S。公式如下:

作为CAM 的推广,Selvaraju 等人提出了一种梯度加权类激活映射(Grad-CAM))技术,通过互换求和顺序从而得到图像的Grad-CAM 图。

Grad-CAM 技术可以为深度连接的神经网络创建更好的视觉解释,给出深度可解释性视图,在执行检测或预测工作时提供更多有利于解释CNN 的信息。

对此,本文将Grad-CAM技术应用于检测COVID-19 的研究当中,借助Grad-CAM 生成梯度加权类激活映射图,突显GCCV-CNN 算法对人体肺部CXR 图像和CT 扫描图像进行分类的重要区域,并对该区域进行标记,使分类过程更加可视化。

相关文献[18-19]表示在CNN 中,深层次的特征可以更好地表示出图片的视觉结构。此外,卷积层中的FeatureMap 保留了全连接层中丢失的空间信息,因此可以通过利用最后一层卷积层中的Feature-Map 来保留图片原本的意义和空间信息。Grad-CAM 技术正是通过利用流入CNN 最后一层卷积层的梯度信息来理解每个神经元对最终决策的权重。

如图3 所示,这里以计算图中输入类的Grad-CAM 为例进行说明。

图3 Grad-CAM 结构示意图Fig.3 Grad-CAM structure diagram

假设最后一层Softmax 中输出目标类的概率为y,最后一层中的FeatureMap 所有像素为A,那么yA求偏导,即:

其中,为Softmax 层输出的概率向量,是目标类别的序号,是最后一层卷积层输出的FeatureMap,是FeatureMap 的通道维度的序号,和分别是宽、高维度的序号。

然后,y对特征图每个像素求偏导之后,取全局平均,即为:

此时得到的y就是类相对于最后一层卷积层输出的特征图的第个通道的感兴趣程度。

最终将得到的二维FeatureMap 送入ReLU 激活函数处理后得到输出:

此时得到的结果是一个二维map,便是输入图像的Grad-CAM 图。

综上,通过保留流入CNN 最后一层卷积层的梯度信息再进行向前传递,求得目标类别相对于最后一层卷积层输出的特征图感兴趣程度,最终在原图像上标记出来,实现CNN进行分类过程的颜色可视化。

3 GCCV-CNN 算法

本文提出的GCCV-CNN 算法主要应用于肺部CXR 和CT 扫描图像的分类问题,达到快速准确地检测COVID-19 的目的。GCCV-CNN 算法在不同类别的肺部CXR 图像和CT 扫描图像训练数据集上获得了不同类别的重要特征,进而提升了分类准确率。GCCV-CNN 算法的优势在于使用事先训练好的AlexNet 网络,并在Softmax 层嵌入Grad-CAM 技术从而使分类效果可视化。综上,GCCV-CNN 算法的设计流程如算法1 所示。

GCCV-CNN 算法

本文使用的人体肺部CXR 图像和CT 扫描图像包括COVID-19 阳性、COVID-19 阴性、普通肺炎和正常四种类别。数据集用δ表示,其中表示第类。对于多类图像分类问题,≥2,本文中=2。

选择构建好的数据集,即或为算法1 中的输入变量,本文算法的主要步骤如下:

生成训练、验证和测试数据集。

根据输入数据集生成三个子数据集,第一个子数据集是训练数据集,为学习目的拟合网络。第二个子数据集为验证集,用来调整CNN 参数,以便对分类器进行无偏评估,同时选择神经网络中隐藏单元的数目。最后一个子数据集为测试数据集,是一组随机样本,用于评估新网络的性能。训练和测试子数据集的拆分比例分别为80%、20%,验证集为训练集随机挑选的16%。

准备基本网络和新网络。

在这一步中,使用AlexNet 作为GCCV-CNN 算法的基本网络,同时在人体肺部CXR 图像和CT 扫描图像数据集上进行交叉验证,获得最优CNN 参数,在此基础上得到最佳验证准确率。

更新并存储训练好的权重。

正向传播通过输入数据获得输出层的值,然后使用式(14)从输出值计算二元交叉熵损失函数(loss)。

其中,表示真值,表示网络预测的概率。

当进行反向传播时,权重的变化次数会被记录下来。计算过程从最后一层开始,从后向前传递直到第一层结束。向前和向后传递相继进行一次,为迭代。在迭代中,用Batch size 描述数据集中的一个子集数目,用Epoch 表示整个数据集的一次传递,Step-per-epoch 为数据集总数量与Batch size的比值。

4 医学图像数据集组合

4.1 基础数据集

本文选取三种医学图像数据集,通过不同组合的对比实验,说明本文提出GCCV-CNN算法的有效性。

(1)COVID-19-CXR 图像数据集

此数据集是由342 名患者的673 幅放射学图像组成,包括COVID-19 阳性患者和其他肺部疾病患者的肺部CXR 和CT 扫描图像。

CXR 图像包括PA 视图、AP 视图和APS 视图。由于PA 视图可以提供更好的肺部细节,本文实验使用此数据集中COVID-19 阳性患者的肺部CXR 图像PA 视图部分。

(2)SARS-COVID-19-CT 扫描数据集

此数据集共有329 张人体肺部CT 扫描图像,其中包括183 张COVID-19 阳性患者的肺部CT 扫描图像、146 张COVID-19 阴性患者的肺部CT 扫描图像,由于数据量较少,本文全部选取使用。

(3)肺炎患者CXR 图像数据集

此数据集包括大量公开可用的肺炎患者和正常人的肺部CT 扫描图像和CXR 图像。本文实验中使用此数据集的CXR 图像部分,共计5 856 张。

4.2 实验数据集

COVID-19 VS NORMAL-CXR 数据集:包括从COVID-19-CXR 图像数据集中随机选取的450 张COVID-19 阳性患者的肺部CXR 图像以及从肺炎患者CXR 图像数据集中选取的900 张正常人(normal)的肺部CXR 图像。为减小两类数据的不均衡性,对COVID-19 阳性患者的肺部CXR 图像进行加噪、翻转变换,最终得到900 张COVID-19 阳性患者的肺部CXR 图像。

COVID-19 VS PNEUMONIA-CXR数据集:包括实验数据集1 中的900 张COVID-19 阳性患者的肺部CXR 图像和肺炎患者CXR 图像数据集中随机选取的900 张普通肺炎(pneumonia)患者CXR 图像。

COVID-19 VS NOCOVID-19-CT数据集:包括从SARS-COVID-19-CT 扫描数据集中选取的183 张COVID-19 阳性患者的肺部CT 扫描图像以及146 张COVID-19 阴性患者的肺部CT 扫描图像。为提升CNN 训练和学习能力,需要增大数据集图像数量。方法为对SARS-COVID-19-CT 扫描数据集中的图像进行加噪、翻转,最终得到2 200 张COVID-19 阳性患者的肺部CT 扫描图像和1 800 张COVID-19 阴性患者的肺部CT 扫描图像。

实验数据集种类数量直方图如图4,实验数据加噪、翻转图像效果如图5 所示。

图4 数据集图像数量直方图Fig.4 Histogram of the number of images in dataset

图5 图像加噪、翻转前后对比Fig.5 Comparison of images before and after adding noise and flipping

5 实验

5.1 定义评估参数

为了评估GCCV-CNN 算法的性能,本文定义了精度(Precision)、召回率(Recall)、F 值(F-measure)、准确率(Accuracy)、灵敏度(Sensitivity)和特异性(Specificity)等评价指标。

在定义之前,需进行如下说明:

(1)TP(true positive):表示正确的检测,正类被检测为正类。以COVID-19 VS NORMAL 实验为例,COVID-19 患者被检测为COVID-19 阳性。

(2)TN(true negative):表示正确的检测,负类被检测为负类。以COVID-19 VS NORMAL 实验为例,正常人被检测为正常。

(3)FP(false positive):表示错误的检测,负类被检测为正类。以COVID-19 VS NORMAL 实验为例,正常人被检测为COVID-19 阳性。

(4)FN(false negative):表示错误的检测,正类被检测为负类。以COVID-19 VS NORMAL 实验为例,COVID-19 患者被检测为正常。

精度(Precision)表示所有被检测为COVID-19 阳性的数据中真为COVID-19 阳性的比例。定义如下:

召回率(Recall)表示所有真为COVID-19阳性的数据中被检测为COVID-19 阳性的比例,定义如下:

F 值(F-measure)表示精度和召回率之间的调和平均值,定义如下:

准确率(Accuracy)表示在所有被检测的数据中检测正确的比例,定义如下:

灵敏度(Sensitivity)表示所有真为COVID-19 阳性的样本中被检测为COVID-19 阳性的比例,与召回率相同,但在医学领域中常用此评价参数。定义如下:

特异性(Specificity)表示真为负类的数据中,被判断为负类的比例,定义如下:

5.2 实验设置及结果讨论

实验硬件环境及参数:CPU为IntelCorei5-8300H CPU@2.30 GHz,RAM 为16 GB,64 位操作系统。

软件实验坏境:Windows 10,python3.7。

为验证GCCV-CNN 算法的有效性,本文设置了3 组实验,如下所示。

COVID-19 VS NORMAL

随机选取实验数据集1 中1 800 张图像的80%作为训练集,训练集的20%作为验证集,实验数据集1中剩余的20%作为测试集。

本实验的训练准确率、测试准确率、训练损失和测试损失曲线图如图6(a)所示。其中在测试准确率曲线上的红点表示在第22 个Epoch 达到GCCV-CNN算法在本实验上的最高准确率99.167%。

图6 三组实验Loss&Accuracy 曲线图Fig.6 Loss&Accuracy of three groups of experiments

此外本实验将训练次数停止在第25 个Epoch,目的是通过早期停止方法避免过拟合问题。

最后采用混淆矩阵表示出GCCV-CNN 算法在实验1 上的性能,如图7(a)、表2 所示。并从混淆矩阵中评估了GCCV-CNN 算法在实验1 上的召回率、精度、F 值、特异性和灵敏度。

图7 三组实验混淆矩阵Fig.7 Confusion matrix of three groups of experiments

表2 COVID-19 VS NORMAL 混淆矩阵Table 2 COVID-19 VS NORMAL confusion matrix

经过训练和验证后确定了达到最好效果的实验参数,最终得到在实验1 测试集上准确率最高的模型(COVID-19 VS NORMAL-Model),此时CNN 最优参数如表3 所示。

表3 COVID-19 VS NORMAL 参数值Table 3 COVID-19 VS NORMAL parameters

在得到实验1的最优模型(COVID-19VS NORMALModel)后保存并嵌入Grad-CAM 层,得到COVID-19阳性患者和正常人的肺部CXR 扫描图像的类别激活热力图,如图8 所示。

图8 实验1 Grad-CAM 结果Fig.8 Grad-CAM results of experiment 1

COVID-19 VS PNEUMONIA

随机选取实验数据集2 中的900 张COVID-19 阳性患者的肺部CXR 图像和900 张普通肺炎患者的CXR 图像,1 800 张图像的80%作为训练集,训练集的20%作为验证集,1 800 张图像中剩余的20%作为测试集。

本实验的训练准确率、测试准确率、训练损失和测试损失图如图6(b)所示。其中在测试准确率曲线上的红点表示在第10 个Epoch 达到GCCV-CNN 算法在本实验上的最高准确率99.722%。

此外,本实验为避免过拟合问题,将训练次数提前停止在第25 个Epoch。

最后采用混淆矩阵表示出GCCV-CNN 算法在实验2 上的性能,如图7(b)、表4 所示。并从混淆矩阵中评估了GCCV-CNN 算法在实验2 上的召回率、精度、F 值、特异性和灵敏度。

表4 COVID-19 VS PNEUMONIA 混淆矩阵Table 4 COVID-19 VS PNEUMONIA confusion matrix

经过训练和验证后确定了达到最好效果的实验参数,最终得到在实验2 测试集上准确率最高的模型(COVID-19 VS PNEUMONIA-Model),此时CNN 最优参数如表5 所示。

表5 COVID-19 VS PNEUMONIA 参数值Table 5 COVID-19 VS PNEUMONIA parameters

在得到实验2 的最优模型(COVID-19 VS PNEUMONIA-Model)后保存并嵌入Grad-CAM 层,得到COVID-19 阳性患者和正常人的肺部CXR 扫描图像的类别激活热力图,如图9 所示。

图9 实验2 Grad-CAM 结果Fig.9 Grad-CAM results of experiment 2

COVID-19 VS NOCOVID-19

随机选取实验数据集3 中的2 200 张COVID-19阳性患者的肺部CT 扫描图像和1 800 张COVID-19阴性患者的CT 扫描图像中的80%作为训练集,训练集的20%作为验证集,实验数据集3 中剩余的20%作为测试集。

本实验的训练准确率、测试准确率、训练损失和测试损失图如图6(c)所示。其中在测试准确率曲线上的红点表示在第28 个Epoch 达到GCCV-CNN 算法在本实验上的最高准确率89.250%。

此外,本实验为避免过拟合问题,将训练次数提前停止在第50 个Epoch。最后采用混淆矩阵表示出GCCV-CNN 算法在实验3 上的性能,如图7(c)、表6所示。并从混淆矩阵中评估了GCCV-CNN 算法在实验3 上的召回率、精度、F 值、特异性和灵敏度。

表6 COVID-19 VS NOCOVID-19 混淆矩阵Table 6 COVID-19 VS NOCOVID-19 confusion matrix

经过训练和验证后确定了达到最好效果的实验参数,最终得到在实验3 测试集上准确率最高的模型(COVID-19 VS NOCOVID-Model),此时CNN 最优参数如表7 所示。

表7 COVID-19 VS NOCOVID-19 参数值Table 7 COVID-19 VS NOCOVID-19 parameters

在得到实验3 的最好模型(COVID-19 VS NOCOVID-Model)后保存并嵌入Grad-CAM 层,得到COVID-19 阳性患者和COVID-19 阴性患者的肺部CT 扫描图像类别激活热力图,如图10 所示。

图10 实验3 Grad-CAM 结果Fig.10 Grad-CAM results of experiment 3

GCCV-CNN 算法在三组实验上的召回率、精度、F 值、特异性和灵敏度如表8 所示。

表8 三组实验分类评价参数Table 8 Classification evaluation parameters of three groups of experiments

此外,将COVID-Net 算法和DeTraC-Net 算法分别在三个数据集上进行分类实验,得到的分类准确率同GCCV-CNN 算法进行比较,结果如表9 所示。

表9 三种算法在三种数据集上的分类准确率Table 9 Classification accuracy of three algorithms on three datasets 单位:%

结果显示,GCCV-CNN 算法在三种数据集上的分类准确率均高于DeTraC-Net算法,在数据集1 和数据集2 中高于COVID-Net 算法,在数据集3 略低于COVID-Net 算法。整体表现优于其他两种算法,具有更高的分类性能。

5.3 实验结果分析

本文在检测COVID-19 的实验中,利用所提出的GCCV-CNN 算法在COVID-19 阳性患者与正常人的肺部CXR 图像分类实验中得到的准确率为96.67%;在COVID-19 阳性患者与普通肺炎患者的肺部CXR图像分类实验中得到的准确率为98.06%;在COVID-19 阳性患者与COVID-19 阴性患者的肺部CT 扫描图像分类实验中得到的准确率为88.00%,且速度均比传统的RT-PCR 检测方法快得多,对单个患者的检测耗时平均为0.5 s。

结果表明,本文算法在人体肺部的CXR 图像上的检测效果更佳,在精度、召回率、F 值、灵敏性、特异度和准确率等评价指标上表现更好,且在CXR 图像上的检测中,COVID-19阳性患者和普通肺炎患者的分类更容易区分,精度达到98.89%,准确率达到98.06%,F 值达到0.981,召回率与灵敏度达到97.27%,特异性达到98.87%。

在COVID-19 阳性患者和COVID-19 阴性的分类实验中,结果显示召回率与灵敏度达到100.00%,说明COVID-19 阳性患者在此时可以被全部检测出来,证明本文算法对COVID-19 的检测能力十分优异。且该实验的检测精度为93.33%,F 值为0.966,特异性为93.75%,准确率为96.67%。

根据已有结果分析发现,COVID-19 阳性患者的CXR 图像和普通肺炎患者的CXR 图像在纹理结构上存在相似性,结果上存在误差,具有过拟合的风险。但经过理论分析,本文算法在实验阶段已进行规避过拟合步骤,增添的Grad-CAM 层通过最后一层全连接层的特征图计算出网络的分类权重,并在原图像进行标记,具备区分差异性不大的图像能力。

本文算法在人体肺部CT 扫描图像上对COVID-19 阳性患者的检测效果要比人体肺部CXR 图像差,准确率仅为88.00%,精度仅为83.50%,但召回率与灵敏度达到91.76%,F 值为0.874,特异性为84.86%,整体效果表现良好。

6 结束语

本文通过在人体肺部放射性图像进行分类的实验来检测COVID-19,从而对比分离出COVID-19 阳性患者。此外,从分析中发现,COVID-19 阴性患者可能患有普通肺炎或其他肺部疾病,因此本文考虑加入普通肺炎疾病患者的CXR 图像进行实验。

此外,还应用了一种颜色可视化方法:梯度加权类激活映射(Grad-CAM)技术,将Grad-CAM 层嵌入到卷积神经网络当中,从而使所提出的深度学习算法更易于观察和解释。

但本文算法在人体肺部的CT 扫描图像中诊断为COVID-19 阴性的患者有一定几率被检测为假阳性,为了以较高的召回率准确地检测COVID-19 病例,下一步工作需对COVID-19 阳性患者和COVID-19 阴性患者的肺部CT 扫描图像进行网络训练,获取更多数量的患者肺部CT 扫描图像数据集,进行更好的预处理。

此外,数据集的样本数量严重影响CNN 网络对图像进行分类的能力,本文进行实验采用的样本数量相较于CNN 而言偏低,因此训练时间短,实时性强,分类结果良好。

在数据集样本图像数量充足条件下,本文算法进行训练时花费时间会更多,实时性将会降低,但训练完成得到GCCV-CNN 网络后,对任意输入图像都会进行实时分类。

考虑到COVID-19 阳性的样本图像较难获取的特点,本文虽然进行图像加噪、翻转,但实际上与原图像区分不大。下一步工作需考虑数据增强的方式从而获取足量的数据集图像,对算法的实时性、鲁棒性、准确性进行更好的提升。

猜你喜欢
准确率卷积肺部
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
《结缔组织疾病肺部表现》已出版
《结缔组织疾病肺部表现》已出版
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
《结缔组织疾病肺部表现》已出版
《结缔组织疾病肺部表现》已出版
高速公路车牌识别标识站准确率验证法