郭保苏,庄集超,吴凤和,车小双,袁林栋,齐 军
(1.燕山大学 机械工程学院,河北 秦皇岛 066004;2.聊城市人民医院,山东 聊城 252000)
在传统的病毒检测中,需要对每例疑似病例进行逆转录聚合酶链反应(RT-PCR)检测确诊,然而RT-PCR方法十分耗时且检测的假阴性率较高[1],胸部CT图像检查则可有效地对COVID-19(新冠病毒肺炎)患者肺部影像和治疗效果进行医学评估[2]。胸部CT图像提供了丰富的病理信息,但由于缺乏计算机来准确地量化感染区域及其病理变化,医护人员无法快速地提供诊断筛查。冯雨等[3]针对传统计算机辅助检测系统中肺结节检测存在大量假阳性问题,提出了一种基于三维卷积神经网络的肺结节识别方法。马圆等[4]采用深度信念网络方法对CT图像的良恶性肺结节进行识别研究。黄盛等[5]基于改进的深度残差网络,提出更加适合肺部组织的CT图像模式分类模型。采用人工智能的方法可快速分析病例特征,检测胸部CT图像是否有显示任何异常,并供临床医生进一步诊断,以便进行治疗或隔离。本文将人工智能与初步临床理解相结合,以应对COVID-19带来的巨大挑战。
本文的目标是基于卷积神经网络开发自动化CT图像分析方法,以便快速区分COVID-19患者与普通肺炎病毒患者,从而为一线医护人员对疾病进展的检测和治疗提供支持。目前还未见有关利用卷积神经网络在CT图像中识别COVID-19感染和普通肺炎感染的报道。卷积神经网络也面临诸多挑战,不合适的网络超参数会导致算法收敛缓慢、泛化性差,并使模型表现出较差的鲁棒性和预测精度,同时超参数优化需要大量的计算等问题[6]。
Shalu C等[7]使用卷积神经网络来识别运动成像任务,但并未考虑超参数对分类性能的影响。Ma M等[8]提出了k-均值聚类初始化超参数的算法,提高了网络识别的准确性并加快了网络训练过程。Ijjina E P等[9]采用遗传算法优化网络超参数可使分类误差最小化。超参数自动选择方法指使用高性能加速模型在选择过程计算和统计的方法[10]。贝叶斯优化算法用于自动搜索深度卷积的最佳超参数,用以配置网络[11]。Wang Y等[12]采用粒子群优化算法优化卷积神经网络结构,并确定超参数的配置。尽管当前的优化算法可以表现出不同的复杂性、优化效率、探索能力和评估成本,但超参数优化仍然值得研究和探索。
本文提出了一种基于CT图像卷积神经网络处理的新冠肺炎检测算法。通过对卷积神经网络的结构和超参数进行优化,增强网络模型对新冠肺炎和普通肺炎在胸部CT图像中纹理特征的区分能力。实验结果表明:该方法相对其他优化模型具有更高的检测精度,提高了网络模型对两类肺炎差异特征的提取和识别能力。
CT图像数据集由疫情一线的临床医生收集,包含1 420张新冠肺炎和1 065张普通肺炎的CT图像,每张图像的切片厚度为12 mm,尺寸为1 737×864 pixels。由临床医生在每张CT图像上对两种肺炎的对应病理区域采用绿色不规则多边形进行标注,如图1所示。从所标注的病理区域中裁剪出32×32 pixels的图像块,以便网络模型能够更加精准地提取肺炎特定病理的纹理特征。所获得的数据量包含3 850张新冠肺炎CT图像块和3 212张普通肺炎CT图像块,每种肺炎的部分图像块如图2所示。本文采用3折-交叉验证的方式进行验证,随机挑选2组图像块作为训练集,余下图像块作为1组测试集,具体数量如表1所示。为使进一步拓展训练集,可进行后续的数据增广,包括翻转和旋转。
图1 CT图像标注区域Fig.1 Labeled areas of CT image
表1 数据集描述Tab.1 Description of dataset
图2 CT图像块样本示意Fig.2 CT image patch examples
卷积神经网络(convolutional neural network,CNN)是一种结合特征提取和检测的模型[13]。通过多层卷积捕获图像的特征,然后利用全连接层和SoftMax分类器进行分类[14]。
在实际训练中,随着网络层数的加深,在反向传播过程中梯度越容易消失,导致网络参数无法更新从而影响网络的收敛。为解决上述问题,本文采用了残差网络[15]中的残差单元,如图3所示,以避免深层网络出现的网络退化问题。输入值x经过卷积层(Conv)变换,归一化和激活函数后得到残差F(x)。在下一次卷积映射后,所得到的F(x)与x用shortcut的方式进行连接,两者的和再经过归一化和激活函数。
图3 残差单元Fig.3 Residual block
本文构建了一个卷积神经网络,通过多层卷积和池化捕获CT图像的低级特征和高级抽象特征,然后通过全连接层和SoftMax分类器进行分类。卷积层(Conv)通过移动卷积核来提取图像特征。池化层(Pooling)通过中间计算过程减小特征图输出的尺寸,从而减小图像尺寸,以降低模型训练计算的复杂性。全连接层(FC)通过将模型连接至SoftMax分类器。该层的每个输出可被视为将前一层的每个节点乘以权重系数。SoftMax分类器输出与输入标签相同数量神经元的概率。将上述各层进行叠加,以构建本文所提出的CNN模型。CNN利用输出和标签之间的差异控制权重的变化。由于线性结构的网络不能适应复杂的功能,利用激活函数提高模型的非线性功能。图4展示了本文所提出的卷积神经网络结构,主要包括Layer单元,FC层和SoftMax分类器。在Layer单元中包括3个Conv层和1个Pooling层。为了便于训练和避免梯度消失问题,在Layer单元中采用残差单元,将图像的原始输入与第2个Conv层的输出进行融合并作为第3个Conv层的输入。通过调整模型深度,以获取最佳的网络结构,提高模型的检测能力。
图4 卷积神经网络结构Fig.4 Convolution neural network structure
3.3.1 超参数描述
卷积神经网络的成功依赖于所选择的结构和超参数[16]。超参数是一种在模型训练前需要人为设置的参数,不能通过样本数据估计和模型训练获得。对于不同的网络结构和数据集,其最优超参数是不同的,需要通过优化超参数来提高模型的性能。表2展示了常见的卷积神经网络超参数。
表2 卷积神经网络的超参数Tab.2 Hyper-parameters of convolution neural network
表3给出了本文中所考虑优化的超参数和为每个参数定义的范围。当没对选择的参数范围限制时,将产生具有大量参数的复杂结构,增加训练时间,并且随机选择这些参数值也可能导致网络效率低下。为了获得参数较少的模型,且该模型能取得具有竞争性的结果,但同时能够有效地探索搜索空间。在优化超参数的同时,需要设置网络的固定参数和超参数约束:
表3 本文需要优化的超参数范围Tab.3 The range of hyper-parameters in this work
1) 为防止特征图尺寸过早缩减,Conv层的Stride固定为1;
2) 相同Layer块中的Conv层使用相同的超参数值[17];
3) 所有Conv层和Pooling层的Padding固定为Same方式;
4) Conv层选择的核尺寸应小于或等于上1个Conv层中的核尺寸;
5) Layer块中的特征映射数至少应比上1个Layer块中的特征映射数多出32个;
6) FC层中的神经元数量可设置为前1个Pooling层中神经元数量的相等或2倍;
7) FC层选择的丢弃率应大于或等于上1个FC层的丢弃率[18]。对于第一个FC层的丢弃率为0.3。
图5展示了网络结构和超参数约束而形成的初始解,由2个Layer块组成,其中第1个Layer块的每个Conv层包括64个滤波器,而第2个Layer块的每个卷积层有128个滤波器,每个Layer块的Pooling层采用最大池化方式。
图5 初始解介绍Fig.5 The introduction of initial solution
3.3.2 禁忌遗传算法
本文提出了一种禁忌遗传算法对网络的超参数进行优化,并基于CT图像数据以获取最优的超参数组合。该算法结合了改进的遗传算法与局部搜索算法[19],其流程如图6所示。
图6 禁忌遗传算法流程图Fig.6 Tabu genetic algorithm workflow
禁忌遗传算法首先以改进的遗传算法进行全局搜索,对超参数进行离散化和编码后,进行种群初始化,适应度计算,交叉,变异,选择等操作直至终止条件。由于传统的遗传算法存在最优解附近震荡问题,因此所获得的解并不一定是全局最优解[20]。为此,本文提出结合爬山算法获取最优解。该方法以改进的遗传算法所获取的解作为初始点进行驱动,并与相邻的点进行搜索比较,同时建立禁忌列表以跳过已搜索的点。为提高遗传算法对超参数优化问题的求解能力,对交叉和变异操作进行了改进,并借鉴演化算法[21]中的选择方式,同时将禁忌搜索算法[22]的禁忌列表融入其中。
交叉操作:为保证父代中优秀个体的性状能在子代个体中尽可能地遗传,本文将种群按照适应度大小进行排列,选取适应度最高的个体与余下个体进行交叉操作,该方法不用设置交叉概率。图7展示了交叉操作方式。
图7 交叉操作Fig.7 Crossover operation
变异操作:提出了一种等差变异操作,即种群所有个体的变异概率并非相同,呈现等差数列的排布,其数学描述如下:
(1)
式中:n表示种群个体数量;i表示排序后第i个个体;Pmi表示第i个体的变异概率;m表示种群数。
由式(1)可知个体的适应度越小,其变异概率越大,可进行自适应地变异,不需要人为设置变异概率。该变异操作对适应度越小的个体变异程度越大,能够很好地跳过局部最优解,防止出现过早收敛。
选择操作:为了保证父代中最优个体可以完整的保留到子代,即将搜索引导至可能的超参数范围内,引入了演化算法的选择方式(μ+λ)。(μ+λ)的选择集合是父代和子代的并集,可确保最好的个体生存和保存。
禁忌列表:当进行迭代搜索时,会不可避免地搜索到部分相同点。为避免重复搜索和减少优化时间,引入禁忌列表,以记录搜索过程中所有不同点的信息。当子代出现与前几代相同的个体时,由禁忌列表输出适应度值,避免重复计算。
禁忌遗传算法克服了遗传算法在最优解附近的震荡问题,采用自适应的交叉、变异操作能够促使算法跳出局部最优解,并利用禁忌列表跳过已搜索的点,减少了网络评估次数和计算量,可提高超参数优化的收敛速度。
实验是在装有NVIDIA RTX2060图形处理器和Intel Core i7 CPU的计算机上进行。软件平台基于Python 3语言和TensorFlow框架实现。
在检测实验中,选用识别率、马修相关系数、F1Score等3个评价指标[7,23]。
(1) 识别率体现了算法的分类识别的精度。其计算公式为
(2)
式中:TP和TN分别为正确检出的同一肺炎类型和不同肺炎类型的数量;FN和FP分别是被误检的同一肺炎类型和不同肺炎类型的数量。
(2) 马修相关系数是更全面的评价指标,体现了算法的可靠性,在类别数不同时认为是平衡的措施,取值范围在[-1,1],当FN和FP均为0时,MCC取值为1,即分类完全正确。当TP和TN均为0时,MCC取值为-1,即分类完全错误。其计算公式如下:
(3)
(3) F1Score综合识别率和召回率两方面,认为是加权平均的评价指标,取值范围为[0,1],值越接近1,准确率越高,其计算公式如下:
(4)
表4展示了3种深度结构的实验对比结果,每组实验结果是3折交叉验证的平均值。这实验结果表明:具有2层深度的CNN模型的识别精度比1层和3层深度的CNN模型分别提高了2.19%和0.34%。在MCC和F1Score方面上,2层深度的CNN模型相对其他结构均表现最佳的性能值。然而,具有3层深度的CNN模型的识别精度是86.96%,相对于2层深度的CNN模型而言,其性能明显降低了。随着网络层数的增加,网络模型的训练难度加大,致使3层深度的CNN模型出现退化。因此本文选取2层深度的CNN模型。
表4 CNN模型试验结果Tab.4 Experimental results of CNN model (%)
为验证所提出的优化后的CNN模型的有效性,分别采用随机搜索算法、网格搜索算法、贝叶斯优化算法和遗传算法分别对CNN的超参数进行迭代寻优,见图8,并在肺炎CT图像数据集上运行。图8展示了算法单次运行过程中产生的验证误差。每种算法均进行1 100次搜索迭代对卷积神经网络的超参数进行搜索寻优。禁忌遗传-CNN相对于前4种模型,在在少于200次的搜索次数就已获取最小的平均验证误差,并获得最佳超参数组合方案,见图8(e),结果表明:禁忌遗传-CNN较好地提高了遗传算法的优化性能。贝叶斯优化-CNN的性能仅次于禁忌遗传-CNN,而对于随机搜索算法和网格搜索算法的搜索能力较差,使用禁忌遗传方法微调的CNN能够执行自动超参数优化的研究获得更具有竞争性分类结果。
图8 5种算法的迭代寻优结果。Fig.8 Iterative optimization results of five algorithms
为了进一步说明禁忌遗传-CNN模型的可行性,与经典的方法进行了对比验证。图9展示了5种模型的受试者操作特征曲线(receiver operating characteristic,ROC)曲线,禁忌遗传-CNN模型比其他4种算法,其ROC曲线覆盖面积更大。因此,禁忌遗传-CNN在识别肺炎种类方面优于其他4种算法。禁忌遗传-CNN模型的识别精度、MCC和F1Score分别为93.89%,96.05%和93.44%,实验结果表明:相比于其他4种算法,禁忌遗传-CNN模型具有更好的检测性能,如表5所示。与遗传算法-CNN模型相比,禁忌遗传-CNN的识别精度提高了6.26%,禁忌遗传-CNN模型计算产生的权重参数量减少了15.7×106。与其他3种方法的最佳精度相比,M-CNN模型的识别精度提高了7.13%。在识别精度上,贝叶斯优化-CNN模型仅次于禁忌遗传-CNN模型。因此,禁忌遗传-CNN在识别新冠肺炎方面优于其他4种算法。禁忌遗传算法可提高网络的准确率。当同时考虑这些网络的规模时,所提出的方法产生的卷积神经网络优于其他方法,特别是在快速训练与精度同等重要的情况下,该方法可作为首选。
图9 5种模型实验结果的ROC曲线Fig.9 ROC curve experimental results of five models
表5 肺炎检测实验结果Tab.5 Experimental results of pneumonia detection
针对新冠肺炎与普通肺炎的区分问题,本文提出了一种基于CT图像卷积神经网络处理的新冠肺炎检测算法。通过搭建卷积神经网络模型,调整网络深度以获取最佳的网络结构。采用禁忌遗传算法对超参数进行优化的网络模型能够获得与其他优化模型相竞争的分类结果。实验结果表明:本文方法能够有效地检测出新冠肺炎和普通肺炎,检测的准确率、MCC值和F1Score值分别为93.89%,93.32%和91.40%。相比于其他方法具有更高的检测精度和更强的泛化能力。由于工作存在以下局限性:1) 所收集的CT图像数据集可能不代表其他地理区域的肺炎患者;2) 基于深度学习的方法需要在更加广泛的数据集上进一步验证。因此在未来的工作中,将使用迁移学习来提高模型对不同地理区域肺炎患者的泛化性,并通过深度学习方法对病理区域进行自动分割,以量化肺炎的严重程度。