使用深度学习和 ResNet50 进行 COVID-19 诊断结果





5.00/5 (1投票)
在本文中,我们将讨论我们使用模型获得的 COVID-19 检测结果,并将这些结果与其他模型的结果进行比较。
在本系列文章中,我们将应用一个深度学习(DL)网络ResNet50,用于诊断胸部X光图像中的Covid-19。我们将使用Python的TensorFlow库在Jupyter Notebook上训练神经网络。
您需要用于此项目的工具和库是
IDE
库
我们假设您熟悉使用 Python 和 Jupyter notebook 进行深度学习。如果您不熟悉 Python,请从本教程开始。如果您还不熟悉 Jupyter,请从这里开始。
在上一篇文章中,我们训练并测试了一个 ResNet50 模型,该模型经过迁移学习,用于将胸部 X 光片分类为 COVID-19 图像和正常图像。在本文中,我们将比较我们获得的结果与已发表的替代模型的结果,并分析其在新数据集上的表现。
结果比较
正如上一篇文章中提到的,我们的网络在对测试图像进行分类时表现出强大的性能,其准确率达到了 95%。
表 1 显示了我们的网络准确率与其他相关竞争解决方案的比较。您可以看到,我们微调后的 ResNet50 在诊断 COVID-19 方面优于多个网络。这证明了我们模型强大的泛化能力。
参考 | 预训练模型 | 数据集 | 测试准确率 |
Panwar (2020) | VGG16 | COVID-19 及其他 | 88.1% |
Albahli (2020) | ResNet152 | COVID-19 和其他胸部疾病 | 87% |
Ozturk (2020) | DarkCovidNet | COVID-19、肺炎和正常 | 87% |
我们的 | ResNet50 | COVID-19 和正常 | 95% |
在新数据集上进行测试
为了进一步验证基于迁移学习的 COVID-19 诊断系统的可行性,我们在一个新的图像集上对其进行了测试,这些图像集是从另一个公共数据集中收集的。 在一个全新的数据集上测试网络可能具有挑战性,因为图像的类型和质量可能与训练网络使用的第一个数据集不同。 我们通常在从用于训练的同一数据集中提取的一小部分图像上测试网络性能。 但是,在这个项目中,我们尝试衡量网络在从新数据集获取的新图像上进行测试时的鲁棒性。 新数据集包含 COVID-19 和未发现的图像,但我们只选择了 300 张 COVID-19 图像并将它们传递给我们的模型。 首先,我们使用 ImageDataGenerator 加载来自新数据集的测试图像。
# Testing nb2...ANOTHER DATASET
test_generator2 = train_datagen.flow_from_directory(r'C:\Users\abdul\Desktop\ContentLab\test2',
target_size = (224, 224),
color_mode = 'rgb',
batch_size = 3,
class_mode = 'Binary',
shuffle = True)
加载新的测试图像后,我们将其传递给模型以计算准确率
Testresults2 = model.evaluate(test_generator2)
print("test2 loss, test2 acc:", Testresults2)
很明显,即使在来自新数据集的图像上运行时,我们的模型也保持了相对较好的准确率。
下一步
在下一篇文章中,我们将向您展示如何从头开始构建一个用于 Covid-19 检测的网络。 敬请关注!