侯麟朔,王寅,龙启航,李宇翔,马淑康
(中国矿业大学(北京)机电与信息工程学院,北京 100083)
0 引 言近年来,新冠肺炎疫情席卷全球,极大地威胁着人类的生产和生命安全。随着国内针对新冠肺炎预防政策的相继颁布以及广大人民群众的积极响应,我国的新冠疫情有所好转,但国外的疫情形势仍不容乐观。许多国家的医疗体系表现出不健全、超负荷等问题,例如核酸检测盒不足、医疗人员紧缺等。
目前我国诊断新冠肺炎的主要方法是核酸检测法,通过在检测者的呼吸道分泌物、血液、粪便中采集标本来检测新冠肺炎病毒,判断检测者体内是否有病毒存在。常见的方法有检测痰液、鼻咽拭子。这些方法对试剂盒的需求量大、成本高昂、检测时间过长且需要专业的医生,尤其是在人口基数大、医疗条件落后、运输不便的国家不能因地制宜。而通过计算机断层扫描(CT)成像也能检验新冠肺炎,在影像医生的专业甄别下,检测者的肺部CT 图像能够成为医生判断被检测者新冠肺炎感染与否的依据,但这种方法在大规模检测下存在人手不足、人为失误、效率低下等问题。
随着信息的高速发展,基于深度学习的图像识别技术已经在诸多领域得到了广泛的应用,如表情识别、车道线检测、手势识别等。目前应用较多的模型有AlexNet、VGGNet、ResNet、GoogleNet等大型网络,还有那些轻量快速、便于移植到嵌入式设备上的模型,如SqueezeNet、MobileNet等。AlexNet 是由AlexKrizhevsky等于2012年提出的模型,一系列卷积层和全连接层使得该模型在ImageNet 竞赛中荣得冠军。KSimonyan等提出了VGGNet,其使用3×3的卷积核和2×2 的池化核,在降低网络参数的同时使得网络对图像特征的学习能力更强。在ResNet 中,HeKaiming等在网络层之间引入一种残差网络结构,用来解决随着网络层数的增加网络退化的问题。GoogLeNet是由Christian Szegedy 于2014年提出的,通过引入inception 模块来解决随着网络层数的增加而引起的过拟合、梯度消失、梯度爆炸等问题。以上大规模的网络对设备算力的要求很高,不易于移植,因此在不明显降低模型精度的同时又要提高运算速度的需求下,SqueezeNet 和MobileNet 应运而生。SqueezeNet将3×3 卷积转换成1×1 卷积,卷积核的参数量减少了9 倍,通过减少3×3 的卷积通道数降低了参数量,并将降采样后置,提升网络精度。MobileNet通过引入可分离卷积(Depthwise separable convolution)和残差网络结构,在减少网络计算量的同时,提升了特征提取能力,保证了网络精度。在新冠肺炎识别领域,ChaimaeOuchicha等提出了CVDNet 模型;KhaledBayoudh等构建了一种基于迁移学习的2D 与3D 混合的卷积神经网络;易三莉等提出ARS-CNN 算法。上述方法均实现了新冠肺炎诊断的智能化,但仍存在一些问题,如诊断精度低、诊断时间长、诊断模型过大不易部署等。
为了提高新冠肺炎CT 图像的识别精度和识别效率,本文参考MobileNetV2 网络提出一种新的架构,尝试使用全局上下文注意力网络(GCNet)、有效通道注意力网络(ECA-Net)作为网络基本模块,关注全局信息的特征分布,实现特征信息之间的跨通道交互,基于ShffleNetV2的高效网络设计准则设计部分层的卷积核大小,输入输出通道数及残差连接的位置。考虑到CT 图像的难分辨性以及样本的不平衡性,引入FocalLoss损失函数对难分辨以及分布不均匀的样本进行关注和学习。
1 算法理论1.1 ECA-NetECA-Net 在SE-Net的基础上,使用大小为的一维卷积核融合每个通道的特征信息,进行不降维的局部跨信道交互,在卷积池化的过程中,合理地分配每个通道所占的权重,从而解决因特征图中各通道信息量占比不同而被忽略的问题,优化卷积神经网络的性能,提高分类识别的准确率。
图1 SE-Net 原理示意图
ECA-Net 网络架构如图2所示,相较于SE-Net,ECANet 使用大小为的一维卷积核融合相邻通道的特征信息,捕获相邻通道间的交互信息。的取值如式(1)所示:
图2 ECA-Net 原理示意图
1.2 GCNetGCNet 的架构如图3所示,其融合了Non-local Net 和SE-Net 的优点,既拥有Non-local Net 全局上下文的建模能力,又能够像SE-Net 一样轻量,实现了对特征信息的筛选和交互。
图3 GcNet 原理示意图
1.3 FocallossFocalLoss 基于交叉熵损失函数进行改进,引入了和因子来解决样本比例不均衡问题和困难样本挖掘问题。交叉熵损失函数表达式如式(2)所示:
其中,′为激活函数的输出,取值在0 和1 之间,因此预测对的概率越大,损失值便越小。
FocalLoss 函数的表达式如式(3)所示:
其中,用来平衡正负样本的比例,用来减少简单样本对模型训练的影响,从而使得训练网络能够更多地关注复杂难区分的样本。
1.4 高效CNN 网络设计准则在ShuffleNet V2 中,作者为了减小网络复杂度,提升推理速度,提出四条设计准则,即在FLOPs 一定的条件下,尽可能让输入输出的比值为1,尽量减少分组卷积的数量,减少网络的分支数,减少网络中的加乘和激活等操作。
1.5 模型架构所提出的MHNet 模型由ConvBnRelu 模块和InvertedResidual 模块组成,如图4、图5、图6所示。其中,ConvBnRelu 模块和InvertResidual 模块包括卷积层(Cconv2D,DepthwiseConv2D)、填充层(padding)、批标准化层(BatchNormal2D)、激活层(Relu6)、ECA 层(ECA-Net),分别采用不同的卷积、卷积核、填充数、残差连接数共6 种形式,MHNet 模型由6 种形式的模块循环不同次数构成,并在网络末端加入Dropout 层防止过拟合,由线性层(linear)分类输出图像对应类别。
图4 ConvBnRelu 模块
图5 倒残差模块
图6 MHNet 网络
2 实验与结果2.1 实验配置模型的训练和测试使用的是Pytorch1.10.0 环境,采用的硬件配置如表1、表2所示。
表1 训练环境配置
表2 测试环境配置
2.2 实验过程与结果为了验证所参考基准模型MobileNetV2 的有效性和科学性,采用ResNet系列和VGGNet系列的大型网络模型作比较,分析的参数有准确率、召回率、特异性、精准率、F1 分数、模型大小、每张图推理时间。使用公开的COVIDx CXR-2数据集进行训练,图7为每种样本的示例展示,样本总量为30 482 张,训练样本和验证样本的比例为3:1,分类类别为感染新冠肺炎者的胸部X 光图和非感染新冠肺炎者的胸部X 光图,样本比例为1:1.2。训练轮数为60 轮,批次大小为32,使用Adam 优化器,初始优化率设为0.000 1,使用交叉熵损失函数,样本的初始标准化参数设置为([0.485,0.456,0.406],[0.229,0.224,0.225]),统一大小为[224,224],训练集使用随机水平翻转扩展数据量并保证模型的鲁棒性。测试样本为官方提供的400 张胸部X 光图,正负比例为1:1。
图7 样例展示
模型收敛时测试集结果如表3所示。从表3中可以看出,MobileNetV2 模型仅占用8.75 M 的内存,取得了91.25%的准确率和91.84%的F1 分数,单张图的推理耗时在CPU 和GPU 上均低于其他模型,综合性能最优。
表3 各基准模型指标对比
为了验证所搭建MHNet模型方法的合理性和有效性,设计A、B、C、D 四种模型,即分别在MobileNetV2 中引入ECA-Net、GcNet、FocalLoss(=0.55,=2)及 高 效CNN 网络设计准则(改变残差连接位置,部分通道数设为64,卷积核大小为1×1),并与基准模型MobileNetV2 进行对比。实验结果如表4所示,从表4中可以看出,A 模型在推理时间上仅比基准模型多1~2 ms,而在其他指标上均高于基准模型,模型大小基本不变,说明引入ECA机制能够优化网络性能;B 模型的效果弱于基准模型,说明引入Gc 机制导致网络退化;C 模型的单张耗时基本不变,其他性能均优于基准模型,说明引入Focal loss 函数能够在网络学习过程中平衡样本差,并关注困难样本的学习。D模型的各项指标略低于基准模型,但其模型大小只有基准模型的44.57%,GPU 推理时间缩短,且各项指标均高于B模型,说明D 模型的搭建方法可以在不明显降低模型性能的前提下大大缩小网络模型,提升GPU 推理速度。
表4 搭建模型指标对比
为了验证MHNet 模型的鲁棒性和有效性,将MHNet 模型与基准模型及SqueezeNet1.0 模型进行对比,实验结果如表5所示。从表5中可以看出,所搭建MHNet 模型占用的内存是基准模型的44.6%,仅比SqueezeNet1.0 多1.06 MB,cpu 推理速度弱于其他模型,但各项指标均优于基准模型和SqueezeNet1.0模型,说明MHNet 模型可以更准确高效地诊断新冠肺炎患者。
表5 MHNet 参数指标对比
3 结 论基于机器视觉的新冠肺炎识别研究在医学领域和机器视觉领域具有重要意义。本文提出的MHNet 模型引入了有效的注意力机制网络、损失优化函数以及高效CNN 网络设计准则,在抑制无用信息的同时关注重点信息,使特征信息得以充分利用,运算量减小,具有识别效果更好、占用空间更小、鲁棒性更强的优点。相较于其他算法,本文模型在对新冠肺炎感染者的诊断上具有较好的识别效果。