Covid-19 肺部 X 射线分类和 CT 检测演示

Covid-19 肺部 X 射线分类和 CT 检测演示 关键字:COVID-19,医学影像,深度学习,PACS Viewer 和 HealthShare。

目的

在这场史无前例的新冠疫情笼罩之下, 我们竭尽所能为客户提供支援,同时利用先进的 AI 技术观察着不同的疫情战线。 

去年,我简单提及了一个深度学习演示环境。 在这个漫长的复活节周末,我们就来看一看现实世界的图像,在 Covid-19 肺部 X 射线数据集上测试运行一些深度学习模型以进行快速分类,并见证这类用于 X 射线甚至 CT 的工具如何通过 docker 等方式快速部署到云端,实现及时的“AI 分诊”并协助放射科医生。     

这只是一个 10 分钟的快速笔记,希望通过简单的方法帮助各位上手实践。   

范围

本演示环境中使用了以下组件, 这是我目前能找到的最简单的形式:

  • 一个小型匿名开放数据集,共 3 种类型:Covid-19 肺与细菌性肺炎肺与正常透明肺。
  • 一组深度学习模型,如用于肺部 X 射线分类的 Inception V3 模型
  • 带有 Jupyter Notebook 的 Tensorflow 1.13.2 容器
  • 用于 GPU 工具的 Nvidia-Docker2 容器
  • 配备 Nvidia T4 GPU 的 AWS Ubuntu 16.04 VM(如果不重新训练预训练的模型,笔记本电脑的 GPU 就足够了)

以及,

  • “AI 辅助 CT 检测”的演示容器。
  • 第三方 Open PACS Viewer 的演示容器。
  • HealthShare Clinical Viewer 的演示实例。

以下不在演示范围内:

  • PyTorch 越来越受欢迎(下次会用到)
  • TensorFlow 2.0 在演示环境中的运行速度过慢(因此我暂时回转到 1.13 版) 
  • AutoML 等多模型集成(它们在现实世界中越来越流行,但单一老式模型对这个小数据集来说已经足够了)
  • 任何现实世界位置的 X 射线和 CT 数据。 

免责声明

这个演示更多是关于技术方法,而不是特定领域的临床试验。 基于 CT 与 X 线等证据的 Covid-19 检测已在网上广泛流传,对其有正面评价,也有负面评价。疫情期间,它在各个国家/地区和文化中发挥着不同的作用。 另外,本文的正文和布局可能会根据需要进行修改。   本文完全是出自“开发者”角度的个人观点。

数据

本测试的原始图像来自 Joseph Paul Cohen 公开的 Covid-19 肺部 X 射线集,以及开放的Covid-19 肺部 X 射线集,以及开放的

Kaggle 胸部 X 射线集1>中的一些干净的肺,由 Adrian Yu 在 GradientCrescent 仓库1>中收集为一个小型测试集。 我在这里上传了测试数据,供有兴趣的读者进行快速测试。 到目前为止,它只包含一个小的训练集: 

  • 60x  Covid-19 肺 
  • 70x 正常透明肺
  • 70x  细菌性肺炎肺

测试

在以下测试中,我根据自己的情况做了些微调:

  • Inception V3 模型作为基础,几个 CNN 层作为顶层
  • 使用未冻结的底层 Inception 层权重进行迁移学习,以再训练(如果是在笔记本电脑 GPU 上,您只需要冻结预训练的 Inception 层)
  • 为弥补目前收集到的少量数据集,略微增加了一些内容。
  • 3x 类别而不是二元类别:Covid-19、正常与细菌性(或病毒性)肺炎(我将解释为什么是这三类)
  • 计算基本的 3 类混淆矩阵,作为后续可能步骤的模板。  

注:选择 InceptionV3 而不是其他流行的基于 CNN 的模型,比如 VGG16 或 ResNet50,并没有什么特别的原因。 我只是碰巧最近在其他模型中用它来演示运行了一个骨折数据集,为方便起见就直接重用了。  您可以使用任何偏好的模型重新运行以下 Jupyter Notebook 脚本。:选择 InceptionV3 而不是其他流行的基于 CNN 的模型,比如 VGG16 或 ResNet50,并没有什么特别的原因。 我只是碰巧最近在其他模型中用它来演示运行了一个骨折数据集,为方便起见就直接重用了。  您可以使用

我也在这篇帖子中附加了以下 Jupyter Notebook 文件。 下面也是为了快速说明。

1. 导入必要的库:

# import the necessary packages
from tensorflow.keras.layers import AveragePooling2D, Dropout, Flatten, Dense, Input
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.utils import to_categorical
from tensorflow.keras import optimizers, models, layers
from tensorflow.keras.applications.inception_v3 import InceptionV3
from tensorflow.keras.applica
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值