1. 引言
2019年末新冠肺炎疫情突然爆发,并且大规模地在全国范围内爆发 [1]。2020年1月30日,新冠肺炎疫情被世卫组织列为“国际关注的突发公共卫生事件”,此次疫情传播速度快,而且经常反复,流行时间长,范围广 [2]。直到2020年3月11日,新冠疫情进入“全球大流行”的状态只用了短短4个月的时间,此次疫情也因此受到全球重视。目前对于新冠肺炎疫情的每日新增报告主要分为两类,一类是新增确诊,一类是新增无症状。新增确诊和无症状之间的主要区别之一就是CT影响是否有病变,新冠确诊患者在肺炎的CT影像中会呈现出点状斑片状阴影,如果在病变中晚期进行CT检查,可能会呈现出典型的磨玻璃样阴影 [3]。从CT来确诊新冠患病的CT影像特征其实是非常明显的,医生往往能在看到后做出正确判断,但是即使假设一个医生查看一名患者的CT影像并进行肉眼分析需要2~5分钟,就是这短短的几分钟在面对疫情大规模爆发的情况下也难免满足不了争分夺秒的时间需求,这时人工智能引入医疗体系帮助医生提高效率就显得尤为重要,构建模型研究AI人工智能对于CT影像的判别,则是本文研究的重点。
2. 模型介绍
2.1. 卷积神经网络
简单的神经网络由三层结构组成,包含输入层,隐含层和输出层,简单神经网络的公式如下:
特征提取器是卷积神经网络与普通神经网络的主要区别,卷积神经网络的隐含层包括卷积层、池化层、和全连接层3种常见的构筑。卷积神经网络通常由四个部分组成,由左至右分别为:输入层、卷积层、全连接层以及输出层。
其中,输入层是的作用对象的原始输入数据,对于图像处理模型,原始的输入数据为图像的像素值。卷积层,主要作用是通过卷积运算汇聚图像特征进行,然后进一步得到图像的局部区域刻画。池化层,主要是合并像素特征,从而减少卷积层的输出特征,可以防止过拟合。全连接层是由多个神经元连接而成,主要作用是将前面得到的特征进行表示整合,提高整合神经网络的鲁棒性 [4]。
卷积的计算公式为:
激活层包含多种激活函数,其中Sigmoid函数形式表示如下:
池化过程表达式为:
池化处理主要作用是降低输出维度,其中平均池化公式为:
最大池化公式为:
2.2. AlexNet模型
AlexNet模型整个网络有8层,前5个为卷积层,后三层是全连接层。此模型使了是ReLU激活函数,与卷积神经网络种的Sigmoid函数进行对比,可以避免出现梯度饱和现象,而且使用ReLU激活函数,可以降低计算量,收敛速度变快。另外在AlexNet模型通过数据扩充,重叠池化以及Dropout,以及重叠池化可以避免过拟合 [5]。
ReLU激活函数为:
2.3. SE-ResNet模型
对于普通卷积神经网络,不断增加网络层数会大大增加计算复杂度,而ResNet模型核心在于把残差引入到卷积网络中传统的卷积神经网络通过学习最优映射函数
来进行参数迭代,而ResNet网络则引入残差使得
这里
为残差,x为估计值,
为观测值,当普通卷积神经网络模型在某层深度网络中达到最优解时,需要保证模型在下一层网络仍然是最优并更新权值则比较困难,而ResNet模型则只需要通过迭代让残差尽可能的小并只需要更新部分权值即可,相比于普通CNN而言不会出现在深层网络上网络退化的现象。同时由于在图像信息提取上,卷积神经网络会将所有的图像信息特征进行提取并训练,从而导致噪声信息对模型有一定影响,降低模型的精度。因此,通过添加挤压与激励模块(SE)增强模型对图像信息特征提取的敏感度是比较有效的 [6]。原始特征输入后,通过平均池化使得特征降为1*1,接着通过全连接层以及激活函数Relu进行通道变换,最后通过乘法通道使得权重重新加权到原始通道内,通过这种方式不但大大减少参数计算量,同时还增强了模型的稳定性。最终构建SE-ResNet模型,设置初始学习率为0.001,batch_size为5,使用Adam优化器进行参数迭代 [7]。
3. 数据建模
3.1. 预处理
总共获取到746张图片,其中369张CT图像是新冠患者肺部图像,剩下的377张CT图像为非新冠患者肺部图像,由于CT图像中的RGB信息几乎没有,所以首先对图像进行灰度处理,处理后图像如图1所示:
图像的像素矩阵如下,
由于CT图像大小不一致,故首先对图像进行裁剪,根据总体图像大小主要为150~300,最终选定裁剪为宽度和高宽均为128的图像,裁剪后图像可视化如图2所示。
可以发现CT图像的主要特征仍然保留,剔除了不重要的信息。
3.2. 特征提取
3.2.1. 纹理特征提取
纹理通常是图像识别的主要特征之一,在图像识别的过程会使用纹理表示图像是否均匀、是细致还是粗糙等一些特征,纹理特征是一种不同质现象的视觉特征,反应的是图像本身的特征,对于纹理特征的识别有利于对图像的区分。图像的灰度共生矩阵(GLCM) [8] 经常被广泛应用于将灰度值转化为纹理信息。通过计算灰度图像的共生矩阵来表示图像的某些纹理特征 [9]。计算图像的灰度共生矩阵,并提取了4个常见纹理特征,常见纹理特征如表1所示。
肺炎影像纹理特征的部分数据如表2所示。
Table 2. Partial image texture feature data of pneumonia
表2. 部分肺炎影像纹理特征数据
3.2.2. 灰度特征提取
灰度图像保存了原始CT图像的完整灰度信息,由于在CT肺炎的影像中有肺部发白,异常斑点或者有磨玻璃密度影的一般特征,使得强度出现差异 [10]。因此,我们提取了对肺炎分析有较高的意义的8个特征,特征说明如表3所示。
肺炎影像灰度特征的部分数据如表4所示。
Table 4. Part of the grayscale feature data of pneumonia images
表4. 部分肺炎影像灰度特征数据
3.2.3. 小波变换特征提取
小波变换的基本思想是通过伸缩平移运算将灰度图信息分解为子带信号,小波变换的主要特征是能通过变换突出图像的某些特征,然后通过这些局部特征,进一步实现对信息时间、频率上的局部化分析,使其能够克服傅里叶分析在处理CT图像此类非平稳的复杂图像时所存在的局限性,获得到取原始图像在不同尺度和方向上的模糊分量和细节分量 [11],小波特征说明如表5所示。
肺炎影像小波特征的部分数据如表6所示。
Table 6. Wavelet feature data of part of pneumonia images
表6. 部分肺炎影像小波特征数据
3.2.4. 卷积特征提取
卷积特征是采用卷积神经网络(CNN)方法进行的特征提取,主要根据卷积神经网络中卷积和池化的计算性质,因为这样计算得到的图像中平移部分对最后的特征向量没有影响,所以图片特征的拟合度可以控制,不容易过拟合 [12]。
肺炎影像卷积特征的部分数据如表7所示。
Table 7. Partial convolutional feature data of pneumonia images
表7. 部分肺炎影像卷积特征数据
3.3. 模型拟合
通过已经建立的卷积神经网络模型,进行样本训练500次,每一步记录一次模型损失函数损失情况,结果如图3所示。
通过损失函数记录情况可知,训练集的损失下降较快,而验证集的损失反而有所上升,说明模型出现过拟合现象。模型在验证集上的准确率在0.76,说明对于新冠患者的肺部CT识别效果并不是很好。
接着使用AlexNet模型 [13] 进行训练,得到模型的损失图如图4所示。
Figure 4. AlexNet model loss iteration graph
图4. AlexNet模型损失迭代图
从上图可以发现模型在验证集上的损失随着训练轮数而下降,最终模型在测试集上的准确率为0.83,相比普通卷积神经网络来说,准确率提升较大。
最后构建SE-ResNet模型,得到模型的loss值随着迭代次数变化图如图5所示,
Figure 5. SE-ResNet model loss iteration graph
图5. SE-ResNet模型损失迭代图
最终SE-ResNet模型在测试集上的精度为0.87,相较于普通卷积神经网络和AlexNet模型有较好的精度。
4. 结论
通过构建神经网络模型,对于CT影像进行图像特征提取,将图像特征转化为数据矩阵,利用SE-ResNet算法进行二分类实践,输出的结果实现了87%以上的新冠肺炎筛选正确率,有助于在前期辅助医生对于肺部CT进行识别筛选,对于进一步的改进,可以对自行确定分类模型的阙值,在满足熵最小化的角度,输出每一张CT的新冠肺炎患病概率,这时医生只需根据概率选择重点筛查的CT即可。
基金项目
湖南省研究生科研创新项目资助(项目编号:CX20210931)。
NOTES
*通讯作者。