5.07 Pneumonia Detection in Chest X-Rays using Neural Networks

2024-05-09 18:20

本文主要是介绍5.07 Pneumonia Detection in Chest X-Rays using Neural Networks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

肺炎诊断是一个耗时的过程,需要高技能的专业人员分析胸部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 张图像。图像增强应用于数据集。

这篇关于5.07 Pneumonia Detection in Chest X-Rays using Neural Networks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974144

相关文章

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

MACS bdgdiff: Differential peak detection based on paired four bedGraph files.

参考原文地址:[http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html](http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html) 文章目录 一、MACS bdgdiff 简介DESCRIPTION 二、用法

OpenSNN推文:神经网络(Neural Network)相关论文最新推荐(九月份)(一)

基于卷积神经网络的活动识别分析系统及应用 论文链接:oalib简介:  活动识别技术在智能家居、运动评估和社交等领域得到广泛应用。本文设计了一种基于卷积神经网络的活动识别分析与应用系统,通过分析基于Android搭建的前端采所集的三向加速度传感器数据,对用户的当前活动进行识别。实验表明活动识别准确率满足了应用需求。本文基于识别的活动进行卡路里消耗计算,根据用户具体的活动、时间以及体重计算出相应活

Complex Networks Package for MatLab

http://www.levmuchnik.net/Content/Networks/ComplexNetworksPackage.html 翻译: 复杂网络的MATLAB工具包提供了一个高效、可扩展的框架,用于在MATLAB上的网络研究。 可以帮助描述经验网络的成千上万的节点,生成人工网络,运行鲁棒性实验,测试网络在不同的攻击下的可靠性,模拟任意复杂的传染病的传

Convolutional Neural Networks for Sentence Classification论文解读

基本信息 作者Yoon Kimdoi发表时间2014期刊EMNLP网址https://doi.org/10.48550/arXiv.1408.5882 研究背景 1. What’s known 既往研究已证实 CV领域著名的CNN。 2. What’s new 创新点 将CNN应用于NLP,打破了传统NLP任务主要依赖循环神经网络(RNN)及其变体的局面。 用预训练的词向量(如word2v

【机器学习】生成对抗网络(Generative Adversarial Networks, GANs)详解

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 生成对抗网络(Generative Adversarial Networks, GANs)详解GANs的基本原理GANs的训练过程GANs的发展历程GANs在实际任务中的应用小结 生成对

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误

REMEMBERING HISTORY WITH CONVOLUTIONAL LSTM FOR ANOMALY DETECTION——利用卷积LSTM记忆历史进行异常检测

上海科技大学的文章,上海科技大学有个组一直在做这方面的工作,好文章挺多的还有数据集。 ABSTRACT 本文解决了视频中的异常检测问题,由于异常是无界的,所以异常检测是一项极具挑战性的任务。我们通过利用卷积神经网络(CNN或ConvNet)对每一帧进行外观编码,并利用卷积长期记忆(ConvLSTM)来记忆与运动信息相对应的所有过去的帧来完成这项任务。然后将ConvNet和ConvLSTM与