医学图像的图像处理、分割、分类和定位-1

一、说明

        本报告全面探讨了应用于医学图像的图像处理和分类技术。开展了四项不同的任务来展示这些方法的多功能性和有效性。任务 1 涉及读取、写入和显示 PNG、JPG 和 DICOM 图像。任务 2 涉及基于定向变化的多类图像分类。此外,我们在任务 3 中包括了胸部 X 光图像的性别分类(男性/女性的 2 类分类),并在任务 4 中通过回归分析从 X 射线图像中估计了年龄。任务 5 侧重于胸部 X 射线图像中的肺区域分割,任务 6 将隔离扩展到四个不同的区域,任务 7 深入研究医学图像中的物体定位。总之,这些任务提供了机器学习在医学图像分析中的各种应用的整体视图。总之,这些任务提供了机器学习在医学图像分析中的各种应用的整体视图。这是我在医学影像方面的学术任务的一部分。

       内容提要:

  • 介绍。
  • 任务1:医学图像的加载、写入和显示。
  • 任务 2:基于方向方向的多类图像分类。
  • 任务 3:使用卷积神经网络对胸部 X 射线图像进行性别分类。
  • 任务 4:使用深度学习从胸部 X 射线图像估计年龄。
  • 任务 5:从胸部 X 射线图像中分割肺区域。
  • 任务 6:分割 2- 胸部 X 射线图像的肺面积外(肺面积:255/心脏:85/肺外:170/体外:0)。
  • 任务 7:胸部 X 射线图像中的物体定位方法。

二、介绍 

        由于机器学习技术的集成,医学图像处理和分类取得了重大进展。在这项研究中,我们深入研究了一系列任务,旨在突出图像处理和分类的综合管道。任务范围从简单的图像加载、写入和显示到更复杂的分类场景。此外,我们还扩大了我们的研究范围,在任务 3 中包括胸部 X 射线图像的性别分类(男性/女性的 2 类分类),并在任务 4 中通过回归分析从 X 射线图像进行年龄估计。这些补充扩大了我们的研究范围,并强调了卷积神经网络(CNN)模型在医学图像分析领域的广泛应用。任务 5 侧重于胸部 X 射线图像中的肺区域分割,利用基于颜色的分割技术提取感兴趣的解剖区域。任务 6 将隔离扩展到医学图像中的四个不同区域,包括肺区、心脏区、肺外区和体外。任务 7 使用基于 YOLO 的对象检测深入研究医学图像中的对象定位。这项任务突出了关键结构精确定位的潜力,使疾病检测和治疗计划等应用成为可能。

三、任务1:医学图像的加载、写入和显示

  • 数据加载:PNG和JPG格式的图像是从指定文件夹中收集的。此外,DICOM 图像来源于其各自的目录。开发了 Cus-tom 函数来读取这些图像并将其加载到环境中。
  • 图像预处理:对不同格式的图像进行处理,以促进均匀性。图像大小调整为一致的尺寸,以实现无缝比较和显示。对于 DICOM 图像,执行了额外的步骤,将像素数据转换为受支持的 8 位无符号整数数组。
  • 显示和可视化:加载和预处理的图像使用IPython显示功能显示,可以目视检查和比较医学图像。
  • 结果与观察:加载、预处理和显示不同格式的医学图像的综合结果展示了图像与工作环境的成功集成。从 PNG、JPG 到 DICOM 图像的无缝过渡突出了实现的功能对不同图像类型的适应性。

四、任务2:基于方向方向的多类图像分类

        任务 2 通过将胸部 X 射线图像分类为多个方向(上、下、左和右)来介绍图像分类的概念。该任务涉及数据加载、预处理、构建 CNN 模型、根据数据对其进行训练以及评估其性能。这项任务强调了多类分类任务的复杂性和卷积神经网络的必要性。

4.1. 数据收集和预处理

        对于这项任务,使用了分类为不同方向的胸部 X 射线图像数据集。收集图像并用各自的方向进行标记。在模型开发之前,图像经过了严格的预处理阶段。

  • 数据加载:数据集是使用自定义函数加载的,这些函数从指定目录中读取图像文件及其关联标签。这些图像随后被调整为一个通用尺寸,以确保训练和评估期间的一致性。
  • 数据增强: 为了平衡类不平衡并增强模型的泛化能力,应用了数据增强技术。采用旋转、翻转和缩放等技术来人为地扩展数据集。

4.2. 模型架构和训练

        模型架构经过精心设计,以适应多类分类任务。构建了卷积神经网络(CNN),由多个卷积层和池化层组成,然后是全连接层。ReLU 激活函数用于隐藏层,而 softmax 激活用于输出层。

4.3.  训练

        该模型使用分类交叉熵损失函数进行训练。在训练过程中,使用 Adam 优化器更新模型的权重,该优化器根据梯度大小调整学习率。训练过程包括遍历成批的图像,通过网络向前传递它们,计算损失,以及向后传播以更新权重。

4.4. 验证和提前停止

        为了防止过度拟合,使用了验证数据集。对模型在验证集上的性能进行监控,如果没有观察到改进,则提前停止训练,这表现为验证损失没有减少。

4.5. 结果和评估

        训练后,在单独的测试数据集上评估模型的性能。计算准确率、精确度、召回率和 F1 分数等指标来评估模型的分类性能。生成混淆矩阵以可视化模型在每个类中的性能。结果表明,该模型能够根据胸部X射线图像的直接方向对胸部X射线图像进行准确分类。在对模型进行定义数量的 epoch 训练后,我们获得了以下结果:

        测试精度:0.92 精度:1.00 召回率:1.00

达到 0.92 的测试精度表明该模型能够根据其方向正确分类胸部 X 射线图像。此外,1.00 的精确率和召回率值表明该模型擅长对至少一个类别进行准确预测,确保低误报和漏报。

精度和召回率值为 1.00 可能表明您的模型在给定数据集上表现异常出色,但也可能引起一些问题并需要进一步调查。原因如下:

        精度 1.00:精度为 1.00 表示模型做出的所有正预测都是正确的。换句话说,没有误报。虽然这是一个积极的结果,但它可能表明该模型在做出积极的预测时过于谨慎。验证模型是否未遗漏任何真正的阳性病例非常重要。

        召回 1.00:召回率为 1.00 意味着模型已正确识别正类的所有实例。这是一个理想的结果,但它也可能表明模型过度拟合训练数据或记忆特定模式。确保模型的性能在不同的数据集或看不见的数据中保持一致至关重要。可以使用以下方法改进模型:验证新数据、检查类不平衡、交叉验证、微调等。

五、任务 3:使用卷积神经网络从胸部 X 射线图像进行性别分类

        本任务探讨了深度学习技术在胸部 X 射线图像性别分类任务中的应用。该研究提出了一个全面的管道,包括数据准备、模型构建、训练和评估。主要目标是将胸部 X 射线图像分为两类:男性和女性。CNN模型取得了可喜的结果,展示了机器学习在医学图像分析中的潜力。

5.1. 数据准备:

该数据集由胸部 X 射线图像组成,分为训练集和测试集。图像大小调整为 224x224 像素的标准尺寸,并进行归一化以实现模型兼容性。从文本文件加载标签信息,并应用独热编码来表示性别类别。

5.2. 模型架构:

我们的模型架构建立在卷积神经网络 (CNN) 之上,CNN 以其在视觉分类任务中的有效性而闻名。它由三个卷积层组成,具有最大池化功能,用于从 X 射线图像中提取相关特征。采用具有ReLU激活和丢弃正则化的全连接层进行分类。最后一层使用 softmax 激活进行性别预测。

5.3. 模型训练:

该模型使用亚当优化器和分类交叉熵损失函数进行训练。训练在训练数据集上进行了 15 个 epoch。此阶段的重点是学习区分胸部 X 线图像中的男性和女性模式。

5.4. 模型评估:

训练后,在测试数据集上对模型的性能进行了细致的评估,结果如下。

5.5. 结果:

分类报告: 分类报告提供了两个类别(女性和男性)的详细指标:

分类报告提供了两个类别(女性和男性)的详细指标:

女性:

精度:0.74 召回率:0.81 F1 得分:0.77 支撑:42

雄:

精度:0.83 召回率:0.76 F1 得分:0.80 支撑:51 精度:0.78

宏平均值(精确率/召回率/F1 分数):0.78

加权平均值(精确率/召回率/F1 分数):0.79

这些指标表明模型的性能平衡,总体准确率为 78

受试者工作特征 (ROC) 曲线:

ROC 曲线区域量化了模型区分类别的能力,如下所示:

女性的ROC曲线面积:0.88

男性的ROC曲线面积:0.88

女性和男性类别的ROC曲线面积均为0.88,表明该模型表现出强大的判别能力

实验结果表明,基于胸部X线图像的性别分类卷积神经网络(CNN)模型取得了令人满意的性能。女性和男性类别的准确率、召回率和 F1 分数指标都相当高,总体准确率为 78。

六、任务 4:使用深度学习从胸部 X 射线图像估计年龄:

        该任务的重点是利用深度学习技术从胸部 X 射线图像中估计年龄的任务。根据医学图像估算年龄是医疗保健领域的一项重要应用。在这项研究中,我们提出了一个全面的管道,涉及数据加载和预处理、模型构建、训练和评估。主要目的是根据胸部 X 射线图像预测患者的年龄。

6.1. 简介:

        医学图像的年龄估计在各种医疗保健应用中具有实用性。本研究解决了使用胸部 X 线成像进行年龄预测的问题,这是一个有可能改善患者护理和诊断的领域。

6.2. 数据准备:

        医学图像的年龄估计在各种医疗保健应用中具有实用性。本研究解决了使用胸部 X 线成像进行年龄预测的问题,这是一个有可能改善患者护理和诊断的领域。

6.3. 模型架构:

        我们采用深度卷积神经网络 (CNN) 架构进行年龄估计。该模型的核心基于 ResNet-50 架构,在 ImageNet 上进行了预训练。使用全局平均池化层和密集层来预测年龄作为回归任务。

6.4. 模型训练:

        该模型采用Adam优化器和均方误差损失函数编译,适用于回归任务。它在训练数据集上训练了 10 个 epoch。或者,应用提前停止以防止过拟合。

6.5. 模型评估:

        使用验证数据进行模型评估,并计算均方误差(MSE)损失。该指标量化了该模型基于胸部 X 射线图像预测年龄的准确性。

6.6. 结果 

培训进度:

        在十个训练周期中,模型的性能不断提高,均方误差 (MSE) 损失的减少证明了这一点:

        在初始时期(纪元 1/10),模型开始时的训练损失相对较高,约为 2898.96,验证损失约为 2692.35。

        随后的 epoch 显示训练和验证损失持续减少,表明模型能够从数据中学习和泛化。在训练结束时,该模型的训练损失约为 243.32,验证损失约为 229.69。

        验证损失: 以 MSE 衡量的验证损失是模型在年龄估计中准确性的关键指标。训练结束时大约229.69的验证损失表明该模型能够根据胸部X射线图像做出相当精确的年龄预测。

        在整个训练过程中损失值的降低表明了该模型对年龄估计任务的有效学习和适应。

        对于每张图像,都会打印相应的预测年龄以进行随机评估:

未来方向:

        虽然该模型显示出有希望的结果,但进一步的重新搜索和微调可以提高其性能。潜在的改进途径包括探索不同的架构、超参数调整和数据增强技术,以提高模型在年龄估计中的鲁棒性和准确性。

七、任务 5:从胸部 X 射线图像中分割肺区域

7.1. 数据加载和预处理:

        该代码有效地处理了胸部 X 射线图像及其相应肺区域掩模的加载和预处理。实施了强大的路径格式,以确保跨平台兼容性,这对于协作项目至关重要。将图像大小适当调整为一致 (256, 256) 像素尺寸,并归一化为 [0, 1] 范围内的值。这种标准化是深度学习图像预处理的常见做法。

7.2. 模型架构:

        该代码实现了 U-Net 架构,这是医学图像分割任务中一种成熟且广泛使用的方法。该模型由编码器和解码器组成,具有跳跃连接,以保留整个网络的空间信息。对卷积层使用“relu”激活,对最终输出层使用“sigmoid”激活,符合二进制分割问题的最佳实践。

7.3. 训练:

        模型训练过程经过适当配置,包括优化器(Adam)和损失函数(二元交叉熵)的选择。训练循环运行 10 个 epoch,批次大小为 16,其中 20% 的数据被分配用于验证,确保在训练时间和模型性能之间进行合理的权衡。

7.4. 测试和可视化:

        该代码演示了模型对测试数据集进行预测的能力。可视化是模型评估的重要组成部分,我的方法有效地利用 Matplotlib 在地面实况掩码和预测掩码旁边显示随机测试图像。

        实现的肺区域分割模型在测试数据集上的准确率为 0.70。虽然该模型在识别胸部 X 射线图像中的肺部区域方面提供了相当高的准确性,但值得注意的是,预测的掩模在肺部区域内似乎是浅灰色的,这表明在准确描绘肺边界方面还有进一步改进的余地。为了解决这个问题,考虑了几种策略,包括使用更复杂的U-Net架构进行体验,应用数据增强技术,使用加权损失函数来解决类不平衡问题,实现学习速率调度,以及探索后处理方法。这些努力旨在提高模型的分割精度,并确保更精确地识别胸部 X 射线图像中的肺部区域。需要进一步的优化和微调,以达到肺区域分割所需的准确性水平。

7.5. 改进建议:

        为了进一步增强模型的泛化性,请考虑实施数据增强技术,例如旋转、翻转和亮度调整。这些技术可以提高对看不见的数据的性能。在训练过程中保存模型检查点的合并机制。这种做法可确保不会丢失宝贵的训练进度,从而轻松恢复模型或进行微调。在医学图像分析的背景下,使用适当的指标(如骰子系数、灵敏度、特异性和 ROC AUC)评估模型至关重要。这些指标提供了对模型性能的全面评估。如果数据集中存在类不平衡,则解决类不平衡问题至关重要。探索加权损失函数或数据重采样等技术,以减轻类不平衡对训练的影响。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-7 datalist

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>datalist</title> </head><body> <input id"address" list"addressList"> <datalist id"addressList"…

Kafka-多线程消费及分区设置

目录 一、Kafka是什么&#xff1f;消息系统&#xff1a;Publish/subscribe&#xff08;发布/订阅者&#xff09;模式相关术语 二、初步使用1.yml文件配置2.生产者类3.消费者类4.发送消息 三、减少分区数量1.停止业务服务进程2.停止kafka服务进程3.重新启动kafka服务4.重新启动业…

第十七期长江沙龙:“大海遗子”——秦岭细鳞鲑

洄游是生命延续的本能&#xff0c;有这样一种鱼&#xff0c;本该是大海孕育的孩子&#xff0c;却从海洋中洄游到淡水中&#xff0c;它们充分利用其惊人的跳跃能力&#xff0c;逐渐演变成为了山溪中的“精灵”&#xff0c;向世界充分展示了它们奋勇向上的拼搏精神。 1月20日&am…

【数据结构与算法】归并排序详解:归并排序算法,归并排序非递归实现

一、归并排序 归并排序是一种经典的排序算法&#xff0c;它使用了分治法的思想。下面是归并排序的算法思想&#xff1a; 递归地将数组划分成较小的子数组&#xff0c;直到每个子数组的长度为1或者0。将相邻的子数组合并&#xff0c;形成更大的已排序的数组&#xff0c;直到最…

2024年回炉计划之排序算法(一)

算法是计算机科学和信息技术中的重要领域&#xff0c;涉及到问题求解和数据处理的方法。要学习算法&#xff0c;你可能需要掌握以下一些基本知识&#xff1a; 基本数据结构&#xff1a; 了解和熟练使用各种数据结构&#xff0c;如数组、链表、栈、队列、树和图等。数据结构是算…

ESP32-TCP服务端(Arduino)

将ESP32设置为TCP服务器 介绍 TCP&#xff08;Transmission Control Protocol&#xff09;传输控制协议&#xff0c;是一种面向连接的&#xff08;一个客户端对应一个服务端&#xff09;、可靠的传输层协议。在TCP的工作原理中&#xff0c;它会将消息或文件分解为更小的片段&a…

[小程序]页面事件

一、下拉刷新 1.开启和配置 小程序中开启下拉刷新的方式有两种&#xff1a; ①全局开启下来刷新 在app.json的window节点中&#xff0c;设置enablePullDownRefresh设为ture。 ②局部开启下来刷新 在页面对应的json文件的的window节点中&#xff0c;设置enablePullDownRefresh设…

[Unity] Tilemap瓦片左右翻转(上下翻转)

Tile&#xff08;瓦片&#xff09;左右翻转感觉是很常用的一个功能啊&#xff01;看了一些教程都没有提及&#xff0c;心想难道要把每张Sprite再做一张对称的、再做成瓦片吗&#xff1f; 图片量x2 、瓦片量x2、不现实&#xff01;一定有方法&#xff01; 搜索了了半天没找到方…

Windows WSL2 占用磁盘空间清理释放

目前工作中时常用到WSL2&#xff08;Ubuntu20.04&#xff09;&#xff0c;在使用一段时间后会发现WSL2所占用磁盘空间越来越多&#xff0c;体现在WSL2之上安装Linux分发对应的vhdx虚拟磁盘文件体积越来越大&#xff0c;会占用Windows自身空间&#xff0c;即使手动清理了Linux分…

【JavaEE】文件操作与IO

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文于《JavaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&…

【QT+QGIS跨平台编译】之三:【OpenSSL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、OpenSSL介绍二、OpenSSL配置三、Window环境下配置四、Linux环境下配置五、Mac环境下配置 一、OpenSSL介绍 OpenSSL是一个开放源代码的软件库包&#xff0c;应用程序可以使用这个包来进行安全通信&#xff0c;避免窃听&#xff0c;同时确认另一端连接者的身份。这…

使用Element中的input组件如何实现文字和输入框在一行显示

利用 <el-form-item label"商品名称&#xff1a;">标签包裹即可&#xff0c;label写提示文字 <el-form ref"form" label-width"100px"><el-form-item label"商品名称&#xff1a;"><el-input v-model"na…

免费的WordPress插件大全

在当今数字化的时代&#xff0c;拥有一个强大的在线存在变得至关重要。而对于使用WordPress建站的用户来说&#xff0c;插件是提高网站功能的关键。在这篇文章中&#xff0c;我们将为您推荐三款免费的WordPress插件&#xff0c;它们不仅是147SEO软件中的佼佼者&#xff0c;而且…

Django(九)

1. 用户登录-Cookie和Session 什么是cookie和session&#xff1f; 发送HTTP请求或者HTTPS请求(无状态&短连接) http://127.0.0.1:8000/admin/list/ https://127.0.0.1:8000/admin/list/http无状态短连接&#xff1a;一次请求响应之后断开连接&#xff0c;再发请求重新连…

华南理工大学数字信号处理实验实验二源码(薛y老师)

一、实验目的 ▪ 综合运用数字信号处理的理论知识进行信号分析并利用MATLAB作为编程工具进行计算机实现&#xff0c;从而加 深对所学知识的理解&#xff0c;建立概念。 ▪ 掌握数字信号处理的基本概念、基本理论和基本方法。 ▪ 学会用MATLAB对信号进行分析和处理。 ▪ 用F…

基于springboot+vue的旅游网站系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

2.C语言——控制语句

控制语句 1.分支语句/判断语句if 语句if...else 语句if...else if...else语句 switch语句 2.循环语句 while 语句 do...while 语句 for 语句 3.转向语句 break continue go to 1.分支语句/判断语句 if 语句 if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ } …

H5112C PWM调光 无频闪 高性价比 支持12V 24V 36V 48V 60V 72V 内置MOS

PWM调光芯片是一种常用于LED调光控制的芯片&#xff0c;其工作原理如下&#xff1a; 脉冲宽度调制&#xff08;PWM&#xff09;&#xff1a;PWM是一种调制技术&#xff0c;通过改变信号的脉冲宽度来控制输出信号的平均功率。在PWM调光中&#xff0c;芯片会以一定的频率产生一系…

ArcGIS Pro 标注牵引线问题

ArcGIS Pro 标注 模仿CAD坐标牵引线问题 右键需要标注的要素&#xff0c;进入标注属性。 选择背景样式 在这里有可以选择的牵引线样式 选择这一个&#xff0c;可以根据调整间距来进行模仿CAD标注样式。 此图为cad样式 此为调整后gis样式 此处可以调整牵引线的样式符号 …

Qt6入门教程 8:信号和槽机制(连接方式)

目录 一.一个信号与槽连接的例子 二.第五个参数 1.Qt::AutoConnection 2.Qt::DirectConnection 3.Qt::QueuedConnection 4.Qt::BlockingQueuedConnection 5.Qt::UniqueConnection 三.信号 四.connect函数原型 五.信号与槽的多种用法 六.槽的属性 一.一个信号与槽连接…