1. 引言
在传统医疗领域,仅仅依靠实验室检测来确认新冠病例可能会延误诊断和治疗。而深度学习算法可以分析数以千计的医学图像,并识别出推翻或支持诊断的异常情况。因此,构建可解释性的AI模型成为研究的热点及关键。
就国内来看,最初Wang等人 [1] 首先公布了Chest X-ray 14数据集,并研究了ImageNet预训练的DCNNs模型,对Chest X-ray 14数据集进行多标签病理分类。Yao等人 [2] 利用DenseNet和长短期记忆网络的变体来学习目标标签之间的相互依赖关系。最近中科院微观磁共振重点实验室研究员刘东等 [3] 首次实现了一种无需训练的高质量电阻抗图像重建方法,对发展深度功能医学影像技术具有重要价值。就国外来看,Rajpurkar P等 [4] 指出可以将胸部X光片检查作为肺炎的主要筛查工具。后来越来越多的研究人员投入到基于X光片的肺炎诊断,如Khobahi等 [5] 、Hammoudi等 [6] 和Hemdan等 [7] 。
基于深度学习的肺炎X光片检测还需进一步细化与改进。本文基于深度学习算法,通过利用Corona Hack-Chest X-ray数据集,建立CNN和DenseNet两种图像分类模型,从而实现对肺部疾病的自动识别和诊断 [8] 。
2. 相关理论概述
2.1. CNN算法介绍
CNN模型采用局部连接和共享权值的方式,直接从原始数据中通过卷积层和池化层交替使用来获取有效表征,自动提取数据的局部特征,并建立稠密、完备的特征向量 [9] 。CNN模型包括五层网络结构:数据输入层、卷积层(提取图像特征)、池化层(降维)、全连接层以及输出层。
CNN算法的优点是:共享卷积核,处理高维数据无压力;可以自动进行特征提取。但是当网络层次太深时,采用BP传播修改参数会使靠近输入层的参数改动较慢;且在模型池化层可能会丢失大量有价值信息,忽略局部与整体之间关联性。
2.2. DenseNet算法介绍
DenseNet算法是在ResNet算法基础上提出的,研究者发现用Dropout的方法来改进ResNet。即在在训练过程中的每一步都随机地扔掉一些层,可以显著的提高ResNet的泛化性能 [10] 。其网络结构图如图1所示。
DenseNet核心思想是:后面的每个层都会将前面所有的层接受并作为额外输入,Dense Block是DenseNet的核心组件。DenseNet公式如下:

Figure 1. DenseNet network structure diagram
图1. DenseNet网络结构图
(1)
其中
,
,
表示特征图,
表示非线性变换,非线性变换H是BN + ReLU + Conv (1 × 1) + Conv (3 × 3)的组合。
综合来看,DenseNet的优势 [11] 主要体现在以下几个方面:
1) 加强了特征的传递,更有效地利用了特征;
2) 由于密集连接方式,DenseNet提升了梯度的反向传播,减轻了梯度消失,使得网络更容易训练;
3) 旁路加强了特征的重用、网络更易于训练,并具有一定的正则效果。
2.3. 模型评价指标介绍
精确率、召回率、F1分数如图2所示:
精确率(Precision),查准率。即正确预测为正的占全部预测为正的比例。
(2)
召回率(Recall),查全率。即正确预测为正的占全部实际为正的比例。
(3)
F1分数(F1-Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种调和平均,它的最大值是1,最小值是0。
(4)
在完成模型的训练后,我们将用以上指标对模型进行评估。
3. 数据预处理及探索性数据分析
3.1. 数据预览
原始图片数据集如图3和图4所示:

Figure 3. Chest X-ray image preview (1)
图3. 胸片图像预览(一)

Figure 4. Chest X-ray image preview (2)
图4. 胸片图像预览(二)
3.2. 性别分布
为更好地探索与肺部疾病相关的影响,对原始数据集中的性别进行分析,性别分布如图5所示:
通过对这个胸片数据集的性别分布进行分析,我们可以发现,这个数据集中的样本来自男性和女性的比例大约为5:3。因此,在使用模型进行胸片的图像识别和诊断时,我们可能会发现模型在男性群体的胸片识别和诊断方面具有更高的精确度和可靠性 [12] 。
3.3. 年龄分布
原始胸片数据集中的年龄分布如图6所示:
通过观察数据集,我们可以看出,这个数据集中的样本主要来自于18到40周岁的人群。在使用这个数据集进行肺部疾病的图像识别时,由于这个年龄段的人群占据了数据集的主要部分,因此这些年龄段的人群在图像识别的过程中具有更高的精确度。
3.4. 胸部CT疾病诊断分布图
胸部CT疾病诊断分布如图7所示:

Figure 7. Chest disease diagnosis distribution
图7. 胸部疾病诊断分布
3.5. 图像像素分布图
图像数据集的像素分布图如图8所示:

Figure 8. Pixel distribution map of image data set
图8. 图像数据集的像素分布图
3.6. 数据预处理
在基于CNN和DenseNet建模 [13] 时,数据预处理的步骤与常规的预处理步骤相似,包括图像大小标准化、数据归一化和数据增强。但是,在使用DenseNet模型时,还需要进行额外的预处理步骤,以满足模型输入的要求。
1) 使用CNN模型数据预处理
a) 图像大小标准化:与常规的预处理步骤相同,将图像的大小调整为相同的尺寸,这样可以减小模型训练时的计算量,并且更容易处理。
b) 数据归一化:将像素值缩放到0~1的范围内,以便更好地进行训练。
c) 数据增强:对图像进行随机旋转、平移、翻转等操作,以增加训练数据的多样性和数量。
2) 使用DenseNet模型的预处理
在使用DenseNet模型时,需要将图像转换为三个通道的RGB格式,并且对图像进行标准化处理。标准化处理的方式是,对每个通道的像素值进行减均值除以标准差的操作,来使图像像素值的分布更加均匀。为了满足DenseNet模型的输入要求,还需要对图像进行裁剪和缩放。在裁剪时,通常选择中心区域或随机选取一个区域,并将其大小调整为固定的尺寸。在缩放时,将图像缩小或放大到固定的尺寸,以便于模型进行处理。
基于CNN和DenseNet的数据预处理步骤类似,但在使用DenseNet模型时需要额外进行图像的标准化、裁剪和缩放等处理,以满足模型的输入要求。
处理后的图像如图9和图10所示:

Figure 9. Data set image preview after processing (I)
图9. 处理后的数据集图像预览(一)

Figure 10. Data set image preview after processing (2)
图10. 处理后的数据集图像预览(二)
4. 基于胸部X射线数据集建模
4.1. CNN模型
CNN模型的运行结果如图11所示:
在训练过程中,CNN模型表现出了较高的准确率、精确率、召回率和F1-score,这表明该模型具有较好的分类性能。如表1所示,在测试集上CNN模型的准确率达到了0.887,精确率为0.842,召回率为0.942,F1-score为0.889。这些指标的表现说明,CNN模型可以对肺部胸片进行有效的分类,同时对于不同疾病类型的分类具有较好的区分度和鲁棒性。

Table 1. CNN model evaluation index
表1. CNN模型评价指标
4.2. DenseNet模型
DenseNet模型运行结果如图12所示:
在训练过程中,DenseNet模型也表现出了较高的准确率、精确率、召回率和F1-score,说明该模型具有较好的分类性能。如表2所示,在测试集上DenseNet模型的准确率达到了0.914,精确率为0.896,召回率为0.926,F1-score为0.911,同样能够表现出优秀的分类结果。

Table 2. DenseNet model evaluation index
表2. DenseNet模型评价指标
4.3. 模型评价
在本文中,我们使用了两种深度学习模型,即CNN和DenseNet模型,对胸片数据集进行图像分类。下面我们对这两种模型进行评价和对比。
我们使用准确率(accuracy)、精确率(precision)、召回率(recall)和F1分数(F1-score)等指标来评价模型的性能。
CNN模型在测试集上的准确率为0.887,精确率为0.842,召回率为0.942,F1分数为0.889。而DenseNet模型在测试集上的准确率为0.914,精确率为0.896,召回率为0.926,F1分数为0.911。从这些指标可以看出,DenseNet模型表现更优秀,相比于CNN模型,在所有指标上都有所提高。
我们可以看到DenseNet模型相较于CNN模型具有更好的性能表现。虽然DenseNet模型具有更高的计算成本,但在此外,还可以从训练时间和模型复杂度两个方面进行比较。在本次实验中,CNN模型的训练时间明显短于DenseNet模型,而DenseNet模型在模型复杂度方面表现更好。这是由于DenseNet模型可以利用前面所有层的信息,从而在深度学习过程中更加高效地利用信息,而CNN模型则需要对每一层都进行独立学习,无法利用前面层的信息,因此需要更多的训练时间和计算资源。
实验表明,CNN和DenseNet模型在图像分类任务中均表现出了较好的效果,但是两种模型在不同方面存在一定的优劣势,需要根据实际需求和数据集特点进行选择和优化。同时,本次实验还展示了基于深度学习算法的图像分类技术在医学领域中的应用前景,可以帮助医生和医学研究人员更加准确地诊断和治疗疾病,提高医疗质量和效率。
5. 结果讨论与展望
5.1. 结果讨论
在本研究中,我们使用了基于深度学习算法的图像识别技术,并采用了DenseNet和CNN两种模型进行了比较。我们的实验结果表明,DenseNet模型在图像分类任务上具有更好的性能和准确度。
我们使用了一个包含正常胸片和病态胸片的数据集,分别使用了DenseNet和CNN两种模型进行训练和测试。实验结果显示,使用DenseNet模型进行训练的图像分类器在测试集上的准确度为91.4%,而使用CNN模型进行训练的图像分类器的准确度为88.7%。这表明,DenseNet模型在对肺部疾病的胸片图像进行分类任务上表现出更好的性能和准确度。
此外,我们还进行了混淆矩阵分析,以进一步评估模型的性能。实验结果表明,DenseNet模型在对正常胸片和肺炎胸片进行分类时具有更好的性能和准确度,但在对结核病和肺癌等其他病态胸片进行分类时,两种模型的性能差别不太明显。
实验结果表明基于深度学习算法的图像识别技术可以有效地识别肺部疾病胸片图像,并且DenseNet模型相比于CNN模型在图像分类任务上表现出更好的性能和准确度。然而,我们也需要注意到模型面临的一些问题和挑战,例如模型的训练时间和计算资源需求、数据集的不平衡性等。在未来的研究中,需要进一步优化模型结构和训练方法,以提高模型的性能和效率。
5.2. 展望
本研究通过对医疗图像的深度学习算法研究,取得了一定的经验。其中,数据预处理对于模型性能的影响不容忽视,需要针对不同类型的图像进行适当地处理。另外,在建立模型时,选择合适的模型架构和参数调整也是影响模型性能的重要因素。同时,本研究也存在一些问题。其中一个重要的问题是如何解决数据不平衡性,即在数据集中不同类别的数据数量存在差异的情况下,如何使模型能够更好地学习和区分不同的类别。此外,如何优化模型的结构和训练方法,以提高模型的性能和效率,也是一个需要研究的方向。
在未来的研究中,我们可以考虑以下几个方面:一是进一步扩大数据集,增加不同病态的胸片图像数量,以便更好地训练和测试模型。二是探索新的模型结构和训练方法,例如集成学习、迁移学习和深度强化学习等方法,以进一步提高模型的性能和效率。三是将图像识别技术与其他医疗技术相结合,例如自然语言处理、电子病历和生物医学信息学等,以构建更全面、更准确的医疗信息系统。
综上所述,基于深度学习算法的图像识别技术在肺部疾病的诊断方面具有很大的应用潜力,我们可以通过不断地优化模型结构和训练方法,结合其他医疗技术进行综合分析,来提高模型的性能和效率,为肺部疾病的治疗和预防做出更大的贡献。
致谢
首先感谢学校为我们本次研究提供了大力支持,其次要感谢指导教师的悉心指导,还要感谢课题组成员,他们与我一同集思广益、互相鼓励。还要真诚地感谢所有对此类项目展开过研究的研究员,最后,对参加本论文评阅和对本论文提出宝贵意见的老师表示诚挚的谢意。
基金项目
本论文工作由北京市属高校科技创新服务能力建设——基本科研业务费(No. 110052971921/103)资助。