PHiSeg:捕捉医学图像分割中的不确定性

PHiSeg:捕捉医学图像分割中的不确定性

  • 摘要
  • 引言
  • 方法

PHiSeg Capturing Uncertainty in Medical Image Segmentation

摘要

解剖结构和病理的分割本质上是模糊的。例如,结构边界可能不清晰可见,或者不同的专家可能具有不同的注释风格。大多数当前最先进的方法不考虑这种模糊性,而是学习从图像到分割的单个映射。在这项工作中,我们提出了一种新的方法来模拟给定的输入图像的分割的条件概率分布。我们推导出一个层次概率模型,其中单独的潜变量负责在不同的分辨率建模的分割。该模型中的推理可以使用变分自动编码器框架有效地执行。我们表明,与最近的相关工作相比,我们提出的方法可以用于生成更真实和多样化的分割样本,无论是在使用来自单个或多个注释器的注释进行训练时。本文的代码可以在https://github.com/baumgach/PHiSeg-code上免费获得。

引言

解剖结构和病理的语义分割是临床诊断和许多下游任务中的关键步骤。大多数最近的自动分割方法将该问题视为从图像到输出掩模的一对一映射(例如[6])。然而,医学分割问题的特点往往是模糊性和多个假设可能是合理的[10]。这部分是由于固有的不确定性,例如差的对比度或由图像采集施加的其他限制,但也由于不同专家之间的注释“风格”的变化。为了解释这种模糊性,预测系统在不牺牲准确性的情况下提供对合理结果的完整分布的访问至关重要。仅预测最可能的假设可能导致误诊,并可能对下游任务产生负面影响。
最近的工作提出使用网络权重上的近似贝叶斯推断来解释学习模型参数中的不确定性[2]。然而,已经表明,该方法可能产生逐像素变化的样本,因此可能无法捕获分割分布中的复杂相关结构[4]。不同的工作线通过训练M个网络的集合[5]或训练具有M个头的单个网络[7]来解释不同结果的可能性。然而,这两种方法都只能产生固定数量的假设。条件变分自动编码器(cVAE)克服了这个问题,cVAE是[3]的扩展,用于在给定输入图像的情况下对条件分割掩码进行建模[8]。最后,最近提出的概率U-NET将cVAE框架与U-NET架构结合起来[4]。作者表明,给定来自多个专家的真实掩膜注释,该方法可以产生无限数量的真实分割样本。此外,该方法被证明优于各种相关方法,包括网络集成,M头[7]和贝叶斯SegNet [2]。
然而,正如我们将要展示的,概率U-NET产生的样本具有有限的多样性。我们认为这可能是由于随机性仅在U-NET的最高分辨率级别中引入,并且因为网络可以选择忽略来自潜在空间的随机抽取,因为它仅连接到通道。在这项工作中,我们提出了一种新的分层概率模型,可以产生分割样本密切匹配的地面真理分布的一些注释。受拉普拉斯金字塔的启发,该模型通过以低分辨率生成输出,然后以越来越高的分辨率不断细化分割的分布来生成图像条件分割样本。与以前的工作相比,每个分辨率水平上的变化由一个单独的潜在变量控制,从而避免了上述问题。该过程如图1所示。我们表明,与最近的工作相比,我们提出的概率分层分割(PHiSeg)为两个具有挑战性的分割任务产生了质量明显更好的样本,当使用多个注释进行训练时,每个图像都有一个注释。此外,我们的模型的平均预测在分割精度方面与标准U-NET不相上下。

方法

我们首先假设给定输入图像x的分割s是根据图1所示的图形模型从L个潜在变量z生成的。1.因此,条件分布p(s|对于L个潜在水平的一般情况,x)由以下表达式给出:

p(s|x)--->在x发生的条件下,s发生的概率

在这里插入图片描述
在这里插入图片描述
我们进一步假设每个潜在变量z负责对2 - 1处的条件目标分割进行建模。原始图像分辨率的+1(例如,z1和z3分别以原始分辨率和原始分辨率的1/4对分割进行建模)。这并不是由图形模型本身产生的,而是由我们的实现所强制执行的,这一点很快就会变得清楚。
在这里插入图片描述
我们的目标是近似p(z)的后验分布|s,x)使用变分近似q(z|其中我们使用z来表示{z1,.,zL},可以证明log p(s| x)= L(s| x)+ KL(q(z| s,x)||p(z| s,x)),其中L表示证据下界,KL(·,·)表示Kullback-Leibler散度[3,4,8]。由于KL(·,·)≥ 0,当近似q与后验精确匹配时,L是条件对数概率的下界。使用Eq.我们发现,对于我们的模型,
在这里插入图片描述
其中α = 1。完整的推导可参见附录A。α是额外的启发式变量,我们引入它来帮助解释z之间的维度差异(下面解释)。按照标准实践,我们将先验分布和后验分布参数化为轴对齐的正态分布N(z| μ,σ)。具体来说,我们定义
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

80个Python数据分析必备实战案例.pdf(附代码),完全开放下载

大家好,我是彭涛。 随着数据时代的来临,Python数据分析技能现在愈加重要,无论是从事数据科学、商业分析还是决策支持,掌握 Python 数据分析的技能都将成为你事半功倍的利器。 之前为大家陆续梳理了基础资料,爬虫资料…

Navicat 干货 | 通过检查约束确保 PostgreSQL 的数据完整性

数据完整性对于任何数据库系统来说都是很重要的一方面,它确保存储的数据保持准确、一致且有意义的。在 PostgreSQL 中,维护数据完整性的一个强大工具是使用检查约束。这些约束允许你定义数据必须遵守的规则,以防止无效数据的插入或修改。本文…

什么是根据人类反馈的强化学习Reinforcement Learning with Human Feedback(RLHF)?

基于人类反馈的强化学习(Reinforcement learning with human feedback)是近年来越来越受欢迎的一种前沿技术,用于提高大型语言模型的性能。这是种使用人类反馈训练这些模型的有效方法,而该方法的输入组件与搜索评估也有诸多相似之…

企业指标体系的落地与推广:让指标体系真正发挥作用

一、精心策划实施计划,确保项目有序进行 为确保指标体系的顺利落地与推广,我们精心策划了实施计划。首先,我们制定了详细的时间表,明确了项目启动、关键节点和结束时间,确保项目能够按期推进。同时,我们还将…

面试题(四)

目录 61.简述MyISAM和InnoDB的区别 62.Explain语句结果中各个字段分表表示什么 63.索引覆盖是什么 64.最左前缀原则是什么 65.Innodb是如何实现事务的 66.B树和B树的区别,为什么Mysql使⽤B树 67.Mysql锁有哪些,如何理解 68.Mysql慢查询该如何优化…

【JavaWeb】Day18.Vue组件库Element

什么是Element Element:是饿了么团队研发的,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。组件:组成网页的部件,例如 超链接、按钮、图片、表格、表单、分页条等等。官网:Element - The worlds…

每日汇评:复活节假期前,欧元保持在关键技术位之间

周四欧洲早盘,欧元兑美元小幅下跌至1.0800; 谨慎的市场情绪帮助美元在数据发布前守住了阵地; 美联储理事沃勒表示,他们并不急于降低政策利率; 周四欧洲早盘,欧元兑美元受到温和的看跌压力,并跌向…

Python算法100例-4.6 歌星大奖赛

完整源代码项目地址,关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.问题拓展7.知识点补充 1.问题描述 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最…

【Vue3之computed属性(四)】

文章目录 前言一、computed属性有缓存二、使用方法三、修改全名 前言 理解computed属性,实现输入姓和名得出全名并双向绑定,区分单向绑定和双向绑定。测试computed属性和方法的区别 一、computed属性有缓存 先引入computed,写箭头函数定义并…

Windows安装Odoo结合内网穿透实现公网访问本地企业管理系统

文章目录 前言1. 下载安装Odoo:2. 实现公网访问Odoo本地系统:3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件,是一个一站式全功能ERP及电商平台。 开源性质:Odoo是一个开源的ERP软件,这意味着企…

springboot实战---5.最简单最高效的后台管理系统开发

🎈个人主页:靓仔很忙i 💻B 站主页:👉B站👈 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:SpringBoot 🤝希望本文对您有所裨益,如有不足之处&…

网络编程之流式套接字

流式套接字(SOCK_STREAM)是一种网络编程接口,它提供了一种面向连接的、可靠的、无差错和无重复的数据传输服务。这种服务保证了数据按照发送的顺序被接收,使得数据传输具有高度的稳定性和正确性。通常用于那些对数据的顺序和完整性…

Backend - gitea 首次建库(远端本地)

目录 一、建立远端储存库 1. 进入新增画面 2. 填写储存库名称(如book),点击“建立”即可 二、本地关联远端储存库 1. 本地初始化储存库代码 (1)新建文件夹 (2)获取远端储存库 2. 本地编写…

Linux:基础IO

回顾C文件接口 stdin & stdout & stderr C 默认会打开三个输入输出流&#xff0c;分别是 stdin, stdout, stderr 仔细观察发现&#xff0c;这三个流的类型都是 FILE*, fopen 返回值类型&#xff0c;文件指针 系统文件I/O 接口介绍 open man open #include <sy…

FCP270 P0917YZ 兼容性如何

FCP270 P0917YZ 是一种现场控制处理器&#xff0c;通常应用于工业自动化和过程控制系统中。 这款现场控制处理器的主要职责是监测和控制多种过程变量&#xff0c;确保系统的正常运行&#xff0c;并且满足生产的要求。以下是关于FCP270 P0917YZ的一些可能用途和特点&#xff1a…

【Java 多线程】从源码出发,剖析Threadlocal的数据结构

文章目录 exampleset(T value)createMap(t, value);set(ThreadLocal<?> key, Object value)ThreadLocalMap和Thread的关系 全貌 ThreadLocal是个很重要的多线程类&#xff0c;里面数据结构的设计很有意思&#xff0c;很巧妙。但是我们平时使用它的时候常常容易对它的使用…

SwiftUI Release 引入的辅助焦点管理

文章目录 前言使用 FocusState 属性包装器高级技巧&#xff1a;专用辅助技术可聚焦字段的高级用法优化体验运行截图总结 前言 SwiftUI Release 引入了强大的新功能&#xff0c;其中之一是辅助焦点管理。 这个新功能使得在SwiftUI中处理辅助技术&#xff08;如 VoiceOver 和 S…

Python程序设计 循环结构(二)

1.斐波那契数列 编写一个能计算斐波那契数列中第x个数的小程序。斐波那契数列&#xff08;Fibonacci sequence&#xff09;&#xff0c;又称黄金分割数列、 因数学家莱昂纳多斐波那契&#xff08;Leonardoda Fibonacci&#xff09;以兔子繁殖为例子而引入&#xff0c;故又称为…

protobuf 从版本 4.24.4 降级到版本 3.19.0

1.查看protobuf版本号&#xff1a; pip show protobuf2.卸载 4.24.4 的版本 pip uninstall protobuf3.安装 3.19.0 的版本 pip install protobuf3.19.04.查看版本是否安装成功 pip show protobuf

STM32通用输入输出

一、GPIO介绍 功能&#xff1a; 输入&#xff08;Input&#xff09;&#xff1a; 浮空:输入没有接上拉和下拉 模拟&#xff1a;输入没有走上拉和下拉走的是模拟输入 上拉&#xff1a;上拉电阻是合上的&#xff0c;接入点为上拉电阻 下拉&#xff1a;下拉电阻是合上的 输…