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| μ,σ)。具体来说,我们定义
在这里插入图片描述

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

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

相关文章

C++ 之多态虚函数原理及应用

文章目录 多态基本概念和原理虚函数的基本原理和概念虚析构和纯虚析构多重继承中的虚函数小结 多态基本概念和原理 多态的基本概念 **多态是C面向对象三大特性之一** 多态的定义 多态是一种面向对象编程概念,指同一个行为(方法)在不同的对象上…

Java上机实验报告(4)

实验 (4) 项目名称:子类与继承-求圆柱和圆锥 一、 实验报告内容一般包括以下几个内容: 实验项目名称 实验4 子类与继承-求圆柱和圆锥实验目的和要求 本实验的目的: (1)掌握(继承&a…

【前端学习——js篇】5.事件循环

详细:https://github.com/febobo/web-interview 5.事件循环 js是一种单线程语言,同一时间内只能做一件事情,为了避免单线程阻塞的方法就是事件循环。 在javascript当中,所有的任务都可以分为: 同步任务:按…

Windows10 Version22h2 补丁kb5034441更新失败

By wdhuag 20240328 参考: Windows10安装KB5034441更新报错0x80070643_2024-01 适用于 windows 10 version 22h2 安全更新,适合基于 x64 -CSDN博客 windows10(KB5034441)更新失败报错 0x80070643解决方法_kb5034441更新失败-CSDN博客 如何修复 Windo…

双通道内存@DDR5多通道内存

文章目录 多通道内存DDR4及以前的内存的双通道DDR5往后的双通道和多通道半位宽4通道组合 其他组合测试 DDR5介绍概览重要Features特点 总结 多通道内存 DDR4及以前的内存的双通道 双通道内存是一种内存架构设计,通过在主板上配置两个或多个独立且同时工作的内存控制…

管理阿里云服务器ECS -- 网站选型和搭建

小云:我已经学会了如何登录云服务器ECS了,但是要如何搭建网站呢? 老王:目前有很多的个人网站系统软件,其中 WordPress 是使用非常广泛的一款,而且也可以把 WordPress 当作一个内容管理系统(CMS…

使用yolov9来实现人体姿态识别估计(定位图像或视频中人体的关键部位)教程+代码

yolov9人体姿态识别: 相较于之前的YOLO版本,YOLOv9可能会进一步提升处理速度和精度,特别是在姿态估计场景中,通过改进网络结构、利用更高效的特征提取器以及优化损失函数等手段来提升对复杂人体姿态变化的捕捉能力。由于YOLOv9的…

架构师之路--docker命令实践整理

安装docker sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum install -y yum-utils sudo yum-config-manager --add-repo http://mirrors.aliyun.com/…

开源博客项目Blog .NET Core源码学习(12:App.Application项目结构分析)

开源博客项目Blog的App.Application项目主要定义网站页面使用的数据类,同时定义各类数据的增删改查操作接口和实现类。App.Application项目未安装Nuget包,主要引用App.Core项目的类型。   App.Application项目的顶层文件夹如下图所示,下面逐…

巨控GRM110系列:短距离内的无线通讯模块

标签: #巨控GRM110 #无线通讯 #ROLA技术 #工业自动化 #远程数据采集 在工业自动化和智能制造的领域中,数据的准确传输是实现高效生产的关键。随着技术的不断进步,无线通讯技术已成为破解远距离数据传输难题的利器。今天,我们将聚焦于一款革命…

U盘未格式化?数据恢复大揭秘!

在日常办公和生活中,U盘已成为我们不可或缺的数据存储工具。然而,有时我们会遇到这样一个令人头疼的问题:原本正常使用的U盘,突然提示“未格式化”,里面的文件似乎都消失不见了。面对这种情况,很多人会感到…

线程池-1:线程池是如何复用线程的?

这段代码实现了一个简单的线程池 SimpleThreadPool。主要包括以下几个关键部分: 构造函数:初始化最大线程数 maxPoolSize、任务队列 taskQueue、当前线程数 currentPoolSize,以及锁 lock 和条件 taskAvailable。 submit(Runnable task) 方法…

FPGA时钟资源详解(2)——Clock-Capable Inputs

FPGA时钟系列文章总览:FPGA原理与结构(14)——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564 目录 一、概述 1.1 为什么使用CC 1.2 如何使用CC 二、Clock-Capable Inputs 2.1 SRCC 2.2 MRCC 2.3 其他用途 2.3.1…

LeetCode 135. 分发糖果

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的…

C语言中连字符“#”的使用,输出固件的编译时间和版本号

首先我们使用C语言宏定义和“#”来组合字符串 #define MAINVER 2#define SUBVER1 0#define SUBVER2 1#define STR(s) #s#define VERSION(a,b,c) "System V" STR(a) "." STR(b) "." STR(c) " "__DATE__ 然后我们在全局变量中定义一…

VsCode的json文件不允许注释的解决办法

右下角找到注释点进去 输入Files: Associations搜索出此项 改为项为*.json值为jsonc保存即可 然后会发现VsCode的json文件就允许注释了

RAG进阶笔记:RAG进阶

1 查询/索引部分 1.1 层次索引 创建两个索引——一个由摘要组成,另一个由文档块组成分两步进行搜索:首先通过摘要过滤出相关文档,接着只在这个相关群体内进行搜索 1.2 假设性问题 让LLM为每个块生成一个假设性问题,并将这些问…

SQL104 返回产品名称和每一项产品的总订单数(left join..on.. ,group by)

select prod_name,count(order_num) as orders from Products P left join OrderItems OI on OI.prod_id P.prod_id group by prod_name order by prod_name;left join一个数据条多的表 count(order_num),group by 另一个字段

全志R128 SDK HAL 模块开发指南——GPADC

GPADC 模块介绍 GPADC 是 12bit 采集精度的模数转换模块,支持 4 路通道,模拟输入范围 0-1.8v,最高采样率 1MHZ,并且支持数据比较,自校验功能,同时工作于可配置的四种工作模式: Single mode&a…

科学高效备考2024年汉字小达人:历年真题详细解析-古诗文专题10

距离2024年第11届汉字小达人比赛还有七个多月的时间,如何利用这段时间有条不紊地备考呢?我的建议是两手准备:①把小学1-5年级的语文课本上的知识点熟悉,重点是字、词、成语、古诗。阅读理解不需要。②把历年真题刷刷熟&#xff0c…