5.07 Pneumonia Detection in Chest X-Rays using Neural Networks

news2024/10/6 21:29:27

肺炎诊断是一个耗时的过程,需要高技能的专业人员分析胸部X光片chest X-ray (CXR),并通过临床病史、生命体征和实验室检查确认诊断。 它可以帮助医生确定肺部感染的程度和位置。呼吸道疾病在 X 光片上表现为一处膨胀的不透明区域。然而,由于不同的情况(如癌症、出血、肺水肿等)可能表现为肺部不透明,因此在 CXR 中识别呼吸道疾病很麻烦。以不同间隔拍摄的患者 CXR 以及与临床症状的相关性有助于识别肺炎。

胸部X光检查使用聚焦辐射束检查您的肺部、骨骼和心脏。这些辐射束产生的图像是身体内部的图像。黑白照片的底片类似于 X 射线图像。身体组织的厚度各不相同,导致身体的每个部位都有不同比例的辐射穿过。例如,你的骨头非常厚,不会让太多辐射穿过。在 X 光照片上,骨头呈白色。另一方面,肺部可以让更多的辐射通过,则肺部的 X 光照片显示它们呈灰色。

X 射线检测是这些专业人员的专长。 CXR 的外观受到患者姿势和吸气深度等因素的影响,使其更难以解读。放射科医生每天必须解读大量 CXR。借助人工智能和机器学习的潜力,可以最大程度地减少临床医生的重复性任务和高端专业知识,从而自动对潜在呼吸道疾病病例进行初始检测或图像筛查,以对其进行分级和加快审查。


1.1文献综述

大多数死亡可以通过简单的干预措施来预防,并通过低成本、低技术含量的药物和护理来治疗。肺炎通常在进行胸部 X 光检查后即可确诊。它可以帮助医生确定感染的程度和位置。呼吸道疾病有时会在 X 光检查中表现为邻近区域的不透明区域膨胀。由于不同的情况可能会出现肺部浑浊,例如癌症、出血、肺水肿等,通过CXR来识别呼吸系统疾病是很麻烦的。

在医学领域,大多数人使用CNN的迁移学习方法在足够的数据集下进行分类。

我们可以使用图像增强技术增加训练数据集,例如随机旋转、平移、缩放、水平翻转以及随机常数的加法或减法。数据集分为 95% 的训练集和 5% 的验证集。使用在 ImageNet 数据集上预训练的 RetinNet 对图像进行分类。

实施DenseNet模型是因为研究发现可以很好地预测肺炎疾病。较少的特征和参数最能防止过度拟合。深度学习和机器学习的混合特征比传统方法具有更高的效率。现代诊断方法是常见的X射线可视化技术,同样是抗原测试/分子,用于确定疾病的严重程度和存在。

2. 数据及其预处理的介绍

北美放射学会 (RSNA) 是一个由放射科医生、医疗专业人员和其他医学物理学家组成的国际协会。他们提出,机器学习可以通过优化可能的肺炎病例,帮助确定优先顺序并加速评估可能的肺炎病例初步检测(影像学筛查)。

每张 X 射线图像均采用医学数字成像和通信 (DICOM) 格式,这是全球公认的标准医学成像格式。

它是一种附加元数据以及像素数据或图像数据的格式。因此,每张图像都有元数据信息,如患者 ID、姓名、年龄和其他图像相关数据。

2.1 样本数据

RSNA - CXR 数据集包含 DICOM 格式的 30227 个 X 射线图像。共有三类,其中 31.61% 为肺部混浊,39.11% 为无肺部混浊,29.28% 为正常图像。因此,在目标类别中,肺炎类别图像占31.61%,非肺炎图像占68.38%。有 3543 个重复条目。其中一些是同一患者的不同 X 射线视图。肺炎患者的边界框在列车标签文件中定义。该档案中有 9555 名阳性患者。每张 X 射线都有与其关联的元数据。它提供了有关患者、视图位置等的信息。有 3543 个重复条目。

分层抽样保证了样本的多样性和总体的总体方差。

2.2 探索性数据分析

2.2.1 诊断CSV文件

2.2.2 边界框信息

在边界框数据集中,x、y、宽度和高度列有空值。由于这些患者没有患有肺炎,因此此类患者不需要边界框信息。因此,这些值为 Null。在对象检测期间,将省略 Null 值。

 2.2.3 DICOM元数据

  1. Examined Body Part - ‘Chest’:被检查的身体部位是胸部。
  2. View Position - ‘AP/PA’:这是拍摄的视图位置。AP代表前-后(Anterior-Posterior),而PA代表后-前(Posterior-Anterior)。这通常指的是X光拍摄的方向。
  3. Patient’s Sex - ‘M/F’:患者的性别。M代表男性(Male),F代表女性(Female)。
  4. Photometric Interpretation - ‘Monochrome’:这是图像的色彩解释。Monochrome表示单色,即黑白图像。
  5. Rows - 1024:图像的行数为1024。
  6. Columns - 1024:图像的列数为1024。这意味着图像是一个1024x1024像素的正方形。
  7. Bits Allocated - 8:每个像素分配了8位,即每个像素是8位的灰度值。在这个表示方法中,0通常代表黑色,而255代表白色。
  8. Conversion Type - ‘WSD’ (Workstation):这是图像的转换类型。WSD通常指的是工作站(Workstation)上的某种转换或处理。
  9. Modality - ‘CR’ (Computed Radiography):这是图像的模态。CR代表计算放射学,是一种数字化的X光成像技术。

 2.2.5 统计、相关

  1. 只有系列描述、患者性别、视图位置和像素间距与类属性有一定关系。
  2. 系列描述和视图位置具有相同的值,但表示方式不同,因此这两个属性中的任何一个都可以用于建模。
  3. 在总共 40 个属性中,只有 4 个属性对分类有一些影响因素。
  4. 我们可以使用年龄、性别、视图位置和像素间距作为输入来形成分类器的倒数第二层以提高性能。

2.2.6 图像化

2.2.6.1 单一变量分析

与女性患者相比,男性患者接受胸部 X 光检查的比例更高。

2.2.6.1 双变量分析

“PA”视图位置对于“目标”属性高度不平衡,而“AP”视图位置是平衡的。

事实上,患者应该以直立的 PA 位置进行成像,因为 AP 视图的用处不大,仅适用于无法直立的病情严重的患者。在 AP 位置成像的患者病情较重,因此更有可能感染肺炎。

与女性患者相比,肺炎阳性的男性患者更多。

2.2.8 图像过滤

它通常指的是对图像进行某种数学运算或处理,以达到改善图像质量、提取图像特征或增强图像中某些信息的目的。

一种称为 Clahe 的图像直方图均衡处理已作为实验应用于 X 射线图像。

直方图均衡化是指一幅输入图像经过点运算变化,得到一幅灰度直方图均匀分布的新图像的方法。该方法的主要目的是让图片中各个灰度级数的像素数目相等,均匀分布,以达到信息熵最大的目的,从而突出更多的图像细节。

直方图均衡化的过程通常包括统计图像的直方图,归一化到[0,1],计算映射函数,然后利用得到的映射函数对图像进行处理。这种处理的结果可以使图像中的亮度值更加均匀分布,提高图像的对比度,使图像变得更加清晰。同时,直方图均衡化还可以自动地增加像素灰度的分布范围,达到增强整个图像对比度的效果。

在滤波过程中,图像中检测到大量噪声。因此,应用Clahe可以尽力防止这些噪声并尽力提高图像质量。

3. 方法论

3.1 概述

从数据和调查中收集的推论用于创建基本的 CNN 模型。研究从基本的 CNN 模型转向迁移学习模型。迁移学习模型层没有经过训练,而是仅使用 imagnet 中的预训练权重。

3.2 CNN

对于基础模型,使用CNN架构对X射线进行二元分类。首先从数据中删除重复项,删除重复项后,剩下 26684 张独特的 X 射线。此外,手动对类标签进行编码。所有没有肺部不透明度或正常的条目被视为 0,而具有肺部不透明度的条目则标记为 1。然后删除原始类列。

之后使用 Cochran 公式对数据进行分层抽样。总共产生了 2203 张 X 射线,标签分布为 0 类 1707 张,1 类 496 张。分层后,从主数据集中提取了 2203 张 X 射线。使用 pydicom 库提取这些图像并将其转换为像素阵列以进行进一步处理。这样获得的胸部 X 光片矩阵必须形状为 (2203, 1024, 1024)。对于相同的 2203 名患者,提取相应的标签。标签矩阵的形状被改为(2203,1),以便于使用 CNN 架构。

检查胸部 X 光矩阵的像素信息,发现最大值和最小值分别为 255 和 0。然后将图像大小从 1024 像素调整为 224 像素。为此,使用了 skimage 库中的 resize 函数。调整大小后,像素的最大值和最小值变为 1.000 和 0。然后将数据分成训练和测试,分割率为 30%。X_train 和 X_test 被重塑为(1542, 224, 224, 1)和(661, 224, 224, 1),以使它们与 CNN 算法兼容。

基本模型架构

5个卷积层以及MaxPooling层。前两个卷积层有16和32个卷积核,大小为(3,3)。其余三个卷积层有64个大小为(3,3)的卷积核。对于卷积层使用的激活函数是ReLU。对于MaxPooling层,使用池大小为(2,2)。在最后的 MaxPooling 层之后,输出被展平,以将其作为全连接层的输入。使用具有 512 个神经元和 Relu 激活函数的密集层。最后的输出层有 1 个神经元,用于二元分类,激活函数为 Sigmoid。

3.3 迁移学习

3.3.1 模型Ⅰ

  1. 第一个模型的目的是通过胸部 X 光检查检测肺炎。
  2. 实验中,实现了两种独立的 CNN 迁移学习模型——ResNet50 和 InceptionV4(修改版)。
  3. 模型的形状 - (224x224),仅在 ResNet50 中使用 Imagenet 权重,并包括自定义顶层 GlobalAveragePooling 和 20% 的 dropout。
  4. 参数 - 20 epoch (ResNet50)、30 epoch (InceptionV4) 和 64 个批量大小、sigmoid 激活和具有默认学习率的 Adam 优化器。

3.3.2 模型Ⅱ

  1. 第二个模型目标是找到胸部的视图位置(PA-AP)。
  2. 该模型在RSNA数据集上进行训练,并使用其测试数据进行验证。
  3. 在EDA(探索性数据分析)中,与模型I类似,AP-PA部分也不平衡,因此采用了下采样技术来平衡特征
  4. 该模型在迁移学习模型EfficientNetB0上执行。
  5. 参数和超参数的应用与模型I相同。

下采样(Downsampling)是机器学习中处理不平衡数据的一种常用方法,特别是在分类问题中,当某一类别的样本数量远多于其他类别时。下采样的主要目的是通过减少多数类样本的数量,使数据分布更加平衡,从而避免模型偏向多数类。然而,下采样可能会导致一些重要信息的丢失,因为被剔除的样本可能包含有价值的信息。

 3.3.2 模型Ⅲ

  1. 第三个模型的目的是用 clahe 过滤器检测肺炎。
  2. 该模型在修改后的骨干架构 InceptionNetV4 上进行训练,没有预训练权重,缩放比例为 -1 到 1,形状为 (224x224),顶层为 GlobalAveragePooling,dropout 为 0.25。 
  3. 参数和超参数与模型 I 几乎相同。

3.4 Mask R-CNN

将感兴趣区域作为输入并预测分割掩码

当说到“预测分割掩模”时,通常指的是使用某种算法(如深度学习模型)来自动确定图像中不同对象的边界,并为每个对象生成一个掩模。

这个掩模是一个与原始图像大小相同的二维矩阵,其中每个像素都被赋予一个标签,以表明它属于哪个对象或背景。这样,分割掩模就能够精确地描述图像中不同对象的位置和边界。

将ROI作为输入并预测分割掩模的任务,就是使用一个算法(例如卷积神经网络)来处理ROI图像,并输出一个分割掩模,这个掩模能够准确地标出ROI中各个对象的位置和形状。

3.5 YOLO v3

Yolo 代表“你只看一次”。它是一个实时物体检测系统。众所周知,它比其他类似的 CNN 架构更快。然而,它保留了检测的准确性。 Yolo 架构将图像划分为多个区域。为图像的每个区域预测边界框及其概率。

该模型仅针对肺炎类图像进行训练。训练集有 5410 张图像,验证集有 602 张图像。图像增强应用于数据集。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1660332.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈操作系统中的重要概念——线程(3)——设计模式

文章目录 一、什么是设计模式?二、单例模式2.1、饿汉模式2.2、懒汉模式2.3、多线程情况下调用 饿汉模式与懒汉模式 谁是安全的??(重点) 三、工厂模式3.1、什么是工厂模式?3.1.1、构造方法存在的缺陷3.1.1.1…

初步了解Kubernetes

目录 1. K8S概述 1.1 K8S是什么 1.2 作用 1.3 由来 1.4 含义 1.5 相关网站 2. 为什么要用K8S 3. K8S解决的问题 4. K8S的特性 5. Kubernetes集群架构与组件 6. 核心组件 6.1 Master组件 6.1.1 Kube-apiserver 6.1.2 Kube-controller-manager 6.1.3 kube-schedul…

基于springboot实现智慧图书管理系统项目【项目源码+论文说明】

基于springboot实现智慧图书管理系统演示 摘要 如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为…

企业数据有什么价值?

在当下的数字经济时代,数据已上升为国家重要的基础性战略资源,加快建设数字中国、网络强国这一蓝图的实现,离不开数据要素的支撑。数据作为新型生产要素,具有非消耗性、非竞争性等特征,为突破传统生产要素的增长约束提…

SolidWorks2024 正版软件报价

随着科技的飞速发展,三维设计软件在制造业、工程领域的应用越来越广泛。SolidWorks作为一款三维CAD设计软件,其每一代的更新都受到广大用户的热烈关注。今日,我们将深入探讨SolidWorks 2024正版软件的报价及其所蕴含的功能价值。 首先&#…

光检测器——光纤通信学习笔记七

光检测器 光检测器的基本介绍 作用:把接受到的光信号转换成电信号 光接收器的灵敏度、光源的发光功率和光纤的损耗三者决定了光纤通信的传输距离; 光电二极管 光电转换的基本原理 之前提到,PN结由于内部载流子的扩散运动形成了内部电场&…

uni-app(五):原生插件打包并使用(Android)

原生插件打包并使用 解决Gradle不显示命令问题解决方法 运行打包查看打包好的包引入到uni-app项目中编写配置文件TestModuleTestComponent 制作基座并运行 解决Gradle不显示命令问题 解决方法 运行打包 查看打包好的包 引入到uni-app项目中 编写配置文件 TestModule {"n…

postgresql主从复制

用vmware 搭建的两台虚拟机 操作系统:Ubuntu 24.04 Server版 数据库:postgresql 16.2 主库:192.168.2.11 从库:192.168.2.12 如果遇到网络无法上网,可参考一下 Vmware 搭建的Ubuntu 24.04 网络配置-CSDN博客 1.两…

错误处理机制——vba(vb.net)

程序出现错误时可采用如下错误处理机制:出错时跳到标签处,判断错误类型修正错误,重新返回正确标签处,继续运行程序。 代码如下: Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click…

CLI举例:配置HTTP服务器的负载均衡

CLI举例:配置HTTP服务器的负载均衡 本举例介绍了如何配置HTTP服务器的负载均衡。 组网需求 如图1所示,企业有三台Web服务器Server1、Server2和Server3,且这三台服务器的硬件性能顺次降低,Server1性能是Server2的两倍、Server2性能…

苹果新品发布会速览:iPad革新遇市场挑战 | 百能云芯

北京时间5月7日晚,苹果以“放飞吧”为主题,举办了一场不到40分钟的线上新品发布会。在这场发布会上,iPad产品线成为了焦点,M4芯片和OLED技术的融入更是引起了广泛关注。 iPad新篇章:技术革新与市场竞争 时隔18个月&…

Linux环境下部署vsftp+mysql用户认证

安装mysql(不要使用红帽的RPM版的mysql) 使用编译或静态库安装mysql 1、编译安装pam_mysql 下载软件: http://downloads.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz?rhttp%3A%2F%2Fsourceforge.net%2Fprojects%2Fpam-mysql%2F…

【回溯算法】【Python实现】符号三角形问题

文章目录 [toc]问题描述回溯法时间复杂性Python实现 问题描述 下图是由 14 14 14个“ ”和 14 14 14个“ − - −”组成的符号三角形, 2 2 2个同号下面都是” “, 2 2 2个异号下面都是“ − - −” 在一般情况下,符号三角形的第一行有 n…

MySQL慢查询SQL优化

一、慢查询日志 描述:通过慢查询日志等定位那些执行效率较低的SQL语句 查看 # 慢查询是否开启 show variables like slow_query_log%; # 慢查询超时时间 show variables like long_query_time%;执行SQL 开启慢查询日志 set global slow_query_log ON;设置慢查…

python数据分析——数据的选择和运算

数据的选择和运算 前言一、数据选择NumPy的数据选择一维数组元素提取示例 多维数组行列选择、区域选择示例 花式索引与布尔值索引布尔索引示例一示例二 花式索引示例一示例二 Pandas数据选择Series数据获取DataFrame数据获取列索引取值示例一示例二 取行方式示例loc() 方法示例…

一篇文章,系统性聊聊Java注解

你好! 这类系统性聊聊***知识点的文章,是希望给大家带来对某个技术的全貌认识,如果大家喜欢,后续可以陆续更新此系列 下面,开始今天的分享 在之前,我们已经分享过注解相关的三个面试题, 今天的…

【原创教程】步进MC_HOME回原点模式

我们所用软件:西门子TIA Portal V16编程软件 我们所用硬件:S7-1200系列:CPU1212C;雷赛科技DM542驱动器;西门子TP900 comfort触摸屏 我们的硬件接线 MC_HOME的模式: 一般情况下,西门子PLC的运动控制在使能绝对位置定位之前必须执行“回原点”或是“寻找参考点”。 Pos…

多层感知机(MLP)示例

通过5个条件判定一件事情是否会发生,5个条件对这件事情是否发生的影响力不同,计算每个条件对这件事情发生的影响力多大,写一个多层感知机模型pytorch程序,最后打印5个条件分别的影响力。 一 在多层感知机(MLP)模型中&…

RabbitMQ部署指南.md

RabbitMQ部署指南 1.单机部署 我们在Centos7虚拟机中使用Docker来安装。 1.1.下载镜像 方式一:在线拉取 docker pull rabbitmq:3.8-management方式二:从本地加载 在课前资料已经提供了镜像包: 上传到虚拟机中后,使用命令加载…

超详细的胎教级Stable Diffusion使用教程(一)

这套课程分为五节课,会系统性的介绍sd的全部功能和实操案例,让你打下坚实牢靠的基础 一、为什么要学Stable Diffusion,它究竟有多强大? 二、三分钟教你装好Stable Diffusion 三、小白快速上手Stable Diffusion 四、Stable dif…