早产儿视网膜病变分期,自动化+半监督(无需大量医生标注数据)

news2024/11/19 17:43:47

早产儿视网膜病变 ROP 分期

    • 提出背景
    • 解法框架
      • 解法步骤
      • 一致性正则化
      • 算法构建思路
    • 实验

 


提出背景

论文:https://www.cell.com/action/showPdf?pii=S2589-0042%2823%2902593-2

早产儿视网膜病变(ROP)目前是全球婴儿失明的主要原因之一。

  • 这是一种影响早产儿视网膜的疾病,特别是在婴儿出生时体重非常轻或出生时非常早的婴儿中。
  • 可以导致视力下降甚至失明。

最近,在基于深度学习的计算机辅助诊断方法方面取得了显著进展。

然而,深度学习通常需要大量标注数据来优化模型,但这在临床场景中需要经验丰富的医生投入大量时间。

相比之下,获取大量未标注图像相对容易。

在本文中,我们提出了一个新的半监督学习框架,以降低自动ROP分期的注释成本。

我们设计了两种一致性正则化策略,预测一致性损失和语义结构一致性损失,这可以帮助模型从未标注数据中挖掘有用的区分信息,从而提高分类模型的泛化性能。

在真实临床数据集上的广泛实验表明,所提出的方法有望在保持良好分类性能的同时,大大减少临床场景中的标记需求。

在这里插入图片描述

这张图是半监督深度学习模型的开发与验证流程,用于自动化地对早产儿视网膜病变(Retinopathy of Prematurity,简称ROP)进行分期。

整个流程分为:

  1. 数据准备

    • 有一组由眼科医生标注的眼底照片(即标签数据集),这些照片作为有监督学习的基础。
    • 另一组未标注的眼底照片(即无标签数据集),将在半监督学习中使用。
  2. 有监督学习

    • 使用标注的数据集进行训练,这是传统的机器学习方法,模型通过已标记的数据学习并预测结果。
  3. 半监督学习

    • 利用未标注的数据集来提高模型的性能,这个方法允许模型从未标注的数据中学习,增强其预测能力。
  4. 神经网络结构

    • 一种典型的深度学习模型,包含输入层、多个隐藏层和输出层。
    • 输入层接收眼底照片的数据,隐藏层进行数据处理,输出层给出ROP分期的预测结果。
  5. 预测输出

    • 模型的输出结果是ROP的几个不同阶段:正常、ROP 1期、ROP 2期和ROP 3期。

研究的亮点:

  • 开发了一种新的半监督分类模型来利用未标签的数据进行ROP分期。
  • 提出了两种一致性损失方法来有效地从未标签数据中提取信息。
  • 通过实验验证了这种方法可以提高分类性能。

总结,用深度学习,特别是半监督学习,来提高自动化医学图像分析的准确性和效率。

通过结合标注和未标注数据,研究者们能够开发出更精确的ROP分期模型。

 

解法框架

  1. 子问题1:ROP分期诊断的主观性和诊断差异

    • 子解法1:深度学习模型 - 利用深度学习技术进行特征提取和分类以辅助诊断。
  2. 子问题2:大量手动图像读取的工作量

    • 子解法2:半监督学习 - 使用标记有限的数据和大量未标记数据进行模型训练,以减少人工读取工作量。
  3. 子问题3:标记数据获取困难和耗时

    • 子解法3:一致性正则化策略 - 不依赖数据标签,通过约束数据不同扰动下模型预测的一致性来提升分类性能。

历史问题及其背景:之所以用这些子问题和子解法,是因为以下背景:

  • 之所以用深度学习模型,是因为ROP分期诊断具有主观性和诊断变异性。深度学习可以提供更一致和标准化的分析。

  • 之所以用半监督学习,是因为大量标记数据的获取既困难又耗时。通过利用未标记数据,可以显著减少对昂贵且稀缺的医学专家时间的依赖。

  • 之所以用一致性正则化策略,是因为在实际的临床场景中,标记数据有限,而未标记数据相对容易获取。该策略通过利用大量未标记的数据,提高了模型利用有限标记数据的能力。

在这里插入图片描述
这张图是正常眼底图片和不同阶段的早产儿视网膜病变(ROP)眼底图片。

  • A:正常眼底。
  • B:ROP第一阶段。
  • C:ROP第二阶段。
  • D:ROP第三阶段。
  • E:ROP第四阶段。
  • F:ROP第五阶段。

每张图片显示了ROP病变发展过程中眼底的变化。

随着ROP的进展,可以看到视网膜的结构和血管的明显变化:

  • 第一阶段通常表现为视网膜后极部血管和非血管区域之间的白色分界线。
  • 第二阶段展示了分界线的进一步加宽和抬高,以及脊状隆起。
  • 第三阶段中,脊状隆起变得更加明显,并伴有新生血管。
  • 第四和第五阶段通常显示进一步的视网膜脱离,可能需要进行眼部超声波检查。

这些图片是理解和诊断ROP不同阶段的重要资源,也是深度学习模型训练中使用的重要数据。

解法步骤

解法:构建一个半监督深度学习分类模型,该模型结合了学生模型与教师模型,通过标记数据的监督损失和未标记数据的一致性损失进行优化。

  • 子解法1:利用标记数据的监督损失优化学生模型

    这种损失是通过有标签数据计算的交叉熵损失函数来实现,直接教导模型识别已知的ROP阶段。

  • 子解法2:利用未标记数据的一致性损失优化模型

    包括预测一致性损失和语义结构一致性损失。预测一致性损失通过鼓励学生模型和教师模型对相同图片(即使进行了不同的数据增强处理)给出相同的输出,从而提高模型的泛化能力。

    语义结构一致性损失则进一步鼓励模型在数据增强后保持相同的语义结构,利用未标记图像中的信息来提升分类性能。

    之所以采用预测一致性损失和语义结构一致性损失,是因为ROP的不同阶段之间存在一定的语义相关性,这种相关性可以被模型利用来提升分类性能,尤其是在标签数据有限的情况下。

    通过结合两种一致性损失,模型可以更好地利用未标记数据,提高分类的准确性和鲁棒性。

分类具体步骤:

  1. 标记数据的学习(子解法1)

    • 初始阶段,使用有标签的数据集对学生模型进行训练。
    • 计算交叉熵损失函数,这是一个监督损失,它衡量模型预测的概率分布与真实标签的概率分布之间的差异。
    • 使用优化算法(如SGD、Adam等)来更新学生模型的参数,以最小化这个损失。
  2. 教师模型的更新

    • 教师模型通常是学生模型的一个移动平均版本,它代表了学生模型在过去几个迭代中性能的稳定表现。
    • 通过对学生模型参数进行指数移动平均(EMA)来更新教师模型的参数。
  3. 未标记数据的学习(子解法2)

    • 对于未标记的数据,分别通过学生模型和教师模型进行预测。
    • 对未标记数据应用数据增强,如旋转、缩放、色彩变换等,以生成变换后的图像。
    • 预测一致性损失要求学生模型和教师模型对原始未标记图像及其增强版本给出相似的预测。
    • 语义结构一致性损失进一步确保了即使在数据增强后,模型仍能保持对图像语义结构的正确理解。
  4. 损失函数的结合和优化

    • 综合监督损失和一致性损失,形成总损失函数。
    • 使用总损失函数来更新学生模型的参数,同时间接地更新教师模型的参数。
  5. 迭代训练和评估

    • 迭代地进行上述步骤,每次迭代都使用有标签和无标签的数据来更新模型。
    • 定期在验证集上评估模型的性能,监控分类准确率和模型的泛化能力。
  6. 终止条件

    • 当模型在验证集上的性能不再提升或达到预定的迭代次数后,停止训练。
    • 可能会使用早停法(early stopping)来防止过拟合。

一致性正则化

一致性正则化策略是一种用于半监督学习的技术。

它基于这样一个假设:即使输入数据经过轻微的、随机的变换,一个良好的模型应该也能输出相同或者非常相似的预测

这种策略主要解决的问题是如何利用未标记的数据来提高模型的泛化能力,尤其是在标记数据稀缺的情况下。

解决的问题:

  • 标记数据的稀缺性:在很多实际应用中,尤其是医学图像处理领域,标记数据往往难以获取,因为需要专家的时间和精力进行注释。
  • 利用未标记数据:大量可用的未标记数据未被充分利用,一致性正则化允许模型从这些数据中学习并提高其性能。

一致性正则化的要素拆解:

  1. 数据扰动

    • 模型应对输入数据的轻微变换保持一致的响应。
    • 这些变换可能包括图像的旋转、翻转、缩放、色彩扭曲等。
  2. 一致性损失

    • 用来度量模型对原始输入数据和扰动后数据的输出差异的损失函数。
    • 目标是最小化这种差异。
  3. 模型的平滑性

    • 一致性正则化隐式地鼓励模型在输入空间中的行为更加平滑,这是因为对输入的小变化不应该导致输出的大变化。
  4. 教师-学生架构

    • 在某些一致性正则化方法中,使用一个教师模型来生成对未标记数据的软标签,学生模型被训练以预测与教师模型相同的输出。
  5. 半监督训练循环

    • 结合有标签数据的监督学习和无标签数据的一致性学习,通过迭代过程逐步提升模型的性能。
  6. 正则化的权衡

    • 一致性正则化的权重是一个超参数,需要仔细调整,以平衡监督损失和一致性损失之间的关系。
  7. 多样性的引入

    • 通过数据增强或其他方法引入变化,以防止模型过于依赖数据中的特定模式,促进模型泛化能力的提升。
  8. 监督信号的强化

    • 即使在一致性正则化下,模型也需要足够的有标签数据来学习正确的决策边界。
  9. 网络架构和优化算法

    • 选择合适的神经网络架构和优化算法来支持一致性正则化的训练过程。

一致性正则化策略将上述要素结合起来,以使得模型能够更好地从未标记数据中学习,同时保持对有标记数据的准确预测,最终达到提高整体模型性能的目的。

算法构建思路

在这里插入图片描述

训练阶段

  1. 输入:模型同时接收标记和未标记的图像。这允许模型在有限的标记数据下利用未标记数据进行训练。

  2. 扰动:对学生模型和教师模型输入的图像进行扰动。这通常用于增加模型的鲁棒性,减少过拟合的风险。

  3. 学生模型和教师模型:学生模型直接从数据中学习,而教师模型则是对学生模型的预测进行时间平均(EMA)得到的。EMA可以平滑预测结果,减少噪声的影响。

  4. 预测输出:学生模型和教师模型都会对输入的图像给出预测。

  5. 损失函数:通过比较学生模型和教师模型的预测输出来计算一致性损失,包括预测一致性损失和语义结构一致性损失。这有助于确保两个模型的预测在未标记数据上保持一致性。

测试阶段

  1. 输入:在测试阶段,只有学生模型被用来对新的测试图像进行推理。

  2. 输出:学生模型提供最终的预测输出,通常是类别概率。

这个框架通过教师模型指导学生模型以及两者之间的一致性损失来优化学生模型的性能。

教师模型作为一个参考,通过EMA平滑学生模型的预测,而一致性损失确保学生模型可以在没有标签的数据上进行鲁棒的学习。

通过这种方式,模型可以更好地泛化到未见过的数据,即使在标记数据有限的情况下。

 

学生模型与教师模型:构建两个模型,学生模型用于学习和预测,教师模型用于生成稳定的目标输出,指导学生模型学习。

监督损失:利用标记数据和交叉熵损失函数指导学生模型学习正确的分类。

一致性损失:利用未标记数据,通过比较学生模型和教师模型对相同输入的输出,引入一致性损失来正则化模型。

实验

模型诊断标准:
在这里插入图片描述

训练数据:
在这里插入图片描述
使用的技术:
在这里插入图片描述
Semi-supervised deep learning classification model: 本研究中开发的模型,如果希望获得这个模型,可以通过邮件联系主要负责人(电子邮件地址hjq1010@126.com),仅限于非商业的研究目的使用。

 

测试分数:

在这里插入图片描述

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

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

相关文章

链表基础知识详解(非常详细简单易懂)

概述: 链表作为 C 语言中一种基础的数据结构,在平时写程序的时候用的并不多,但在操作系统里面使用的非常多。不管是RTOS还是Linux等使用非常广泛,所以必须要搞懂链表,链表分为单向链表和双向链表,单向链表很…

求两个向量之间的夹角

求两个向量之间的夹角 介绍Unity的API求向量夹角Vector3.AngleVector3.SignedAngle 自定义获取方法0-360度的夹角 总结 介绍 求两个向量之间的夹角方法有很多,比如说Unity中的Vector3.Angle,Vector3.SignedAngle等方法,具体在什么情况下使用…

Groovy(第九节) Groovy 之单元测试

JUnit 利用 Java 对 Song 类进行单元测试 默认情况下 Groovy 编译的类属性是私有的,所以不能直接在 Java 中访问它们,必须像下面这样使用 setter: 编写这个测试用例余下的代码就是小菜一碟了。测试用例很好地演示了这样一点:用 Groovy 所做的一切都可以轻易地在 Java 程序…

使用 gregwar/captcha 生成固定字符的验证码

图片验证码生成失败 $captcha new CaptchaBuilder("58 ?"); $code $captcha->getPhrase();\Cache::put($key, [phone > $phone, code > $captcha->getPhrase()], $expiredAt);$captcha->build(); $result [captcha_key > $key,expired_at >…

Linux------进程地址空间

目录 一、进程地址空间 二、地址空间本质 三、什么是区域划分 四、为什么要有地址空间 1.让进程以统一的视角看到内存 2.进程访问内存的安全检查 3.将进程管理与内存管理进行解耦 一、进程地址空间 在我们学习C/C的时候,一定经常听到数据存放在堆区、栈区、…

雾锁王国服务器官方配置要求说明

雾锁王国/Enshrouded服务器CPU内存配置如何选择?阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置,支持4人玩家畅玩,自带10M公网带宽,1个月90元,3个月271元,幻兽帕鲁服务器申请页面 https://t.aliyun.com…

TCP/IP-常用网络协议自定义结构体

1、TCP/IP模型: 2、TCP/IP- 各层级网络协议(从下往上): 1)数据链路层: ARP: 地址解析协议,用IP地址获取MAC地址的协议,通过ip的地址获取mac地 …

Vue项目 快速上手(如何新建Vue项目,启动Vue项目,Vue的生命周期,Vue的常用指令)

目录 一.什么Vue框架 二.如何新建一个Vue项目 1.使用命令行新建Vue项目 2.使用图形化界面新建Vue项目 三.Vue项目的启动 启动Vue项目 1.通过VScode提供的图形化界面启动Vue项目 2.通过命令行的方式启动Vue项目 四.Vue项目的基础使用 常用指令 v-bind 和 v-model v…

学生党福音!趁着拍拍开学季活动买平板啦!

谁还在买5年前的平板啊? 当然是我! 虽然手里有台ipad,但ios系统限制多,不方便,一直想再要一台安卓平板。 去年观望了好久小米平板5pro,想着如果8256G配置价格在1500以下就入手,结果一直不掉价…

4_怎么看原理图之协议类接口之SPI笔记

SPI(Serial Peripheral Interface)是一种同步串行通信协议,通常用于在芯片之间传输数据。SPI协议使用四根线进行通信:主设备发送数据(MOSI),从设备发送数据(MISO)&#x…

苹果ios群控软件开发常用源代码分享!

在移动软件开发领域,苹果设备由于其封闭性和安全性受到了广大开发者的青睐,然而,这也为开发者带来了一些挑战,特别是在进行群控软件开发时。 群控软件是指可以同时控制多台设备的软件,这在自动化测试、批量操作等场景…

01 MySQL之连接

1. 连接 1.0 基础认知 多表(主表)和一表(从表的区别): 多表一般是主表,一般存储主要数据,每个字段都可能存在重复值,没有主键,无法根据某个字段定位到准确的记录; 一表一般是从表,一般存储辅助数据&…

『Java安全』编译jdk

文章目录 一、源码下载二、环境依赖配置[^1]三、依赖检查及构建编译配置四、编译jdk五、编译完成完 一、源码下载 以OpenJDK为例: jdk<10访问OpenJDK Mercurial Repositories jdk≥10访问子目录jdk/jdk12: log (openjdk.org) 二、环境依赖配置1 i7-…

神经网络结构搜索(NAS)

华为诺亚AI系统工程实验室主任刘文志解读如何使用AutoML预测基站流量 - 知乎讲师介绍:刘文志(花名风辰),华为诺亚AI系统工程实验室主任,异构并行计算专家,毕业于中国科学院研究生院,闻名于并行计…

鸿蒙应用程序包安装和卸载流程

开发者 开发者可以通过调试命令进行应用的安装和卸载,可参考多HAP的调试流程。 图1 应用程序包安装和卸载流程(开发者) 多HAP的开发调试与发布部署流程 多HAP的开发调试与发布部署流程如下图所示。 图1 多HAP的开发调试与发布部署流程 …

全网最详细的接口自动化测试框架实战(Pytest+Allure+Excel)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 1. Allure 简介 Allure 框架是一个灵活的、轻量级的、支持多语…

Flink动态分区裁剪

1 原理 1.1 静态分区裁剪与动态分区裁剪 静态分区裁剪的原理跟谓词下推是一致的,只是适用的是分区表,通过将where条件中的分区条件下推到数据源达到减少分区扫描的目的   动态分区裁剪应用于Join场景,这种场景下,分区条件在joi…

【服务发现--ingress】

1、ingress介绍 Ingress 提供从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源所定义的规则来控制。 Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。 Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟…

Nginx网络服务六-----IP透传、调度算法和负载均衡

1.实现反向代理客户端 IP 透传 就是在日志里面加上一个变量 Module ngx_http_proxy_module [rootcentos8 ~]# cat /apps/nginx/conf/conf.d/pc.conf server { listen 80; server_name www.kgc.org; location / { index index.html index.php; root /data/nginx/html/p…

德人合科技 | 天锐绿盾终端安全管理系统

德人合科技提到的“天锐绿盾终端安全管理系统”是一款专业的信息安全防泄密软件。这款软件基于核心驱动层,为企业提供信息化防泄密一体化方案。 www.drhchina.com 其主要特点包括: 数据防泄密管理:天锐绿盾终端安全管理系统能够确保数据在创…