【技术追踪】SDSeg:医学图像的 Stable Diffusion 分割(MICCAI-2024)

  这医学图像分割领域啊,终究还是被 Stable Diffusion 闯进去了~

  SDSeg:第一个基于 Stable Diffusion 的 latent 扩散医学图像分割模型,在五个不同医学影像模态的基准数据集上超越了现有的最先进方法~


论文:Stable Diffusion Segmentation for Biomedical Images with Single-step Reverse Process
代码:https://github.com/lin-tianyu/Stable-Diffusion-Seg


0、摘要

  扩散模型已经证明了它们在各种生成任务中的有效性。然而,当应用于医学图像分割时,这些模型遇到了一些挑战,包括大量的资源和时间需求。他们还需要一个多步骤的反向过程和多个样本来产生可靠的预测。
  为了解决这些挑战,本文引入了第一个 latent diffusion 分割模型 SDSeg,建立在 stable diffusion(SD)上。SDSeg 采用了一个简单的 latent 估计策略,以促进单步反向过程,并利用潜在融合连接来消除对多个样本的必要性。
  大量的实验表明,SDSeg在五个具有不同成像模态的基准数据集上超越了现有的最先进的方法。


1、引言

1.1、现有基于diffusion的图像分割模型的局限性

  (1)与普通图像相比,分割mask的信息是稀疏的,在 pixel 空间做 diffusion 会导致优化效率低,计算成本高;
  (2)扩散模型采样过程需要多个步骤迭代完成,在分割应用中,常需要多个样本平均以进行稳定的预测;

1.2、本文贡献

  (1)SDSeg 基于 LDM(latent diffusion model),在较低分辨率的感知等效潜在空间上进行扩散过程,使扩散过程计算友好;
  (2)引入了一种简单的潜在估计损失(latent estimation loss),使 SDSeg 能够在单步反向过程( a single-step reverse process)中生成分割结果,并提出了一种连接潜在融合技术( a concatenate latent fusion technique)来消除对多样本的需要;
  (3)SDSeg 在5个基准数据集上实现了最先进的性能,并通过减少训练资源、提高推理速度和增强生成稳定性,显著改进了基于扩散的分割模型;


2、方法

  方法框架如图1所示,训练时冻结编解码器。

  SDSeg 结构图,基本跟 LDM 差不多:在这里插入图片描述

2.1、潜在估计

  (1)扩散前向过程:
在这里插入图片描述

  (2)U-Net 网络采用预测噪声的方法;

  本文认为分割任务 mask 相比其他图像简单,因此没有从扩散的多步反向过程中显著获益,一个成熟的去噪 U-Net 能够恢复包含分割 mask 的所有必要的结构和空间特征的潜在特征。

  (3)故在得到估计的噪声后,可以通过等式的简单变换直接推导出相应的潜在估计(前向过程公式变形):
在这里插入图片描述
  (4)损失函数,noise 和 latent 损失均采用 MAE, λ = 1 {λ=1} λ=1
在这里插入图片描述

2.2、连接潜在融合

  本文认为,分割图与相应的潜在表征表现出明显的空间相关性,其中可能包含了必要的结构和特征信息,有利于分割任务。

  故采用 concatenation 方式,这是一种常用的有效的整合图像语义特征的策略,将分割映射的潜在表示与原始图像的潜在表示合并,即图1中的 Z T {Z_T} ZT Z C {Z_C} ZC 。(朴实无华,简单有效

  潜在表示和重建可视化:

在这里插入图片描述

2.3、可训练的视觉编码器

  编码原始图像和编码 mask 的编码器结构一样,若冷冻其权重,效果也还过得去,但作者为了使 SDSeg 适应各种医学图像数据集模式,增强其多功能性和有效性,编码原始图像的编码器 τ θ { τ_θ } τθ 是可训练的。


3、实验与结果

3.1、数据集

  5个公开数据集,3个RGB数据集二维分割(肠镜息肉、眼底照相视杯),2个CT数据集三维分割(腹部器官、牙齿),(好像数据也不是特别多呀~

在这里插入图片描述

3.2、评价指标

  (1)分割效果评价:Dice系数、IoU;
  (2)计算资源的使用和推理速度;
  (3)分割结果的稳定性:LPIPS、PSNR、SSIM、MS-SSIM

3.3、实施细节

  (1)显卡:V100 16GB;
  (2)优化器:AdamW;
  (3)学习率: 1 × 1 0 − 5 {1×10^{−5}} 1×105
  (4)步数:100000;
  (5)batch size:4;
  (6)隐空间降采样率:8;
  (7)输入图像大小:256×256;
  (8)隐空间图像大小:4×32×32;

3.4、与当前最优结果对比

在这里插入图片描述

3.5、计算资源和时间效率的比较

  公平比较:同一个服务器上使用其他模型的源代码进行训练的;

在这里插入图片描述

3.6、稳定性比较

  扩散模型是生成模型,它们生成的样本可以表现出可变性。然而,在医学分割模型的背景下,多样性并不被认为是一个有利的特征,因为医学专业人员需要人工智能的帮助,才能保持一致和可靠。
  (1)Dataset-level 稳定性:使用LIPIS指标,以测量不同推断之间的可变性;
  (2)Instance-level 稳定性:以PSNR、SSIM和MS-SSIM为指标,通过在固定条件下进行重复推断,来检验模型在不同初始噪声下的一致性;

在这里插入图片描述

  评价指标含义:
在这里插入图片描述

3.7、消融实验

在这里插入图片描述


  为什么别人的 diffusion 那么好训又好使呢,暴风哭泣 /(ㄒoㄒ)/~~

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

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

相关文章

当设备树中出现多个同一节点的处理办法

当设备树中出现多个同一节点的处理办法 1.同一文件下有多个节点不同设备树调用同一节点需要#include "xxx.dtsi"3,vscode快速搜索文件 ctrlshiftp 去掉> 1.同一文件下有多个节点 覆盖规则: 同一层次的节点,后面的会覆盖前面的节点 memory…

如何在浏览器中查看网页的HTML源代码?

如何在浏览器中查看网页的HTML源代码? 浏览html网页,查看其源代码,可以帮助我们了解该版网页的信息以及架构,每个浏览器都是允许用户查看他们访问的任何网页的HTML源代码的。以下编程狮小师妹就介绍几个常见浏览器的查看网页 HTM…

STL中的迭代器模式:将算法与数据结构分离

目录 1.概述 2.容器类 2.1.序列容器 2.2.关联容器 2.3.容器适配器 2.4.数组 3.迭代器 4.重用标准迭代器 5.总结 1.概述 在之前,我们讲了迭代器设计模式,分析了它的结构、角色以及优缺点: 设计模式之迭代器模式-CSDN博客 在 STL 中&a…

Jenkins教程-10-发送飞书测试报告通知

上一小节我们学习了发送企业微信测试报告通知的方法,本小节我们讲解一下发送飞书测试报告通知的方法。 1、自动化用例执行完后,使用pytest_terminal_summary钩子函数收集测试结果,存入本地status.txt文件中,供Jenkins调用 conft…

“山寨版”《草料二维码》

背景 之前浏览过草料二维码的网站,他的二维码美化功能很强大💪,可以分别自定义码眼和码点的形状和颜色! 碰巧之前写过一个 npm 插件 qrcode-with-logos, 用于前端生成带 logo 的二维码。 而且在 github 的 issues 里有外国友人…

【Echarts】散点图 制作 气泡 类型图表

目录 需求主要代码效果展示注 需求 需参照设计图画出对应图表 主要代码 /**** 数据 ****/ this.dataList [...Array(8).keys()].map((item) > {return {ywlxmc: 业务类型 (item 1),sl: item > 4 ? 50 : 70} })/**** 气泡样式 ****/ const styleList [{offset: [56…

13 Redis-- MySQL 和 Redis 的数据一致性

Redis-- MySQL 和 Redis 的数据一致性 先抛一下结论:在满足实时性的条件下,不存在两者完全保存一致的方案,只有最终一致性方案。 不好的方案:先写 MS,再写 Redis 例如 :A请求更新数据为10,B…

第六十九:iview 表格汇总怎么拿到传过来的数据,而不是自动累加,需要自定义方法

话不多少,先看官方解释 我这个简单,所以所有说明都在图上了 handleSummary({ columns, data }){console.log(columns, data)let sums {}columns.forEach((item,index)>{const key item.key;console.log("key",item)if(index 0){console.…

C语言基础笔记(全)

一、数据类型 数据的输入输出 1.数据类型 常量变量 1.1 数据类型 1.2 常量 程序运行中值不发生变化的量,常量又可分为整型、实型(也称浮点型)、字符型和字符串型 1.3 变量 变量代表内存中具有特定属性的存储单元,用来存放数据,即变量的值&a…

SAP 免费退货销售订单类型配置简介

作为一名 SD顾问,必须具备熟悉系统和系统配置,但是之前都是做的PP顾问,现在用户需要新增了一个销售订单类型,所以自己研究销售订单类型的配置,才有了以下的文章,希望对各位学习的同学有所帮助 1、创建销售…

qmt量化交易策略小白学习笔记第52期【qmt编程之商品期货数据】

qmt编程之获取商品期货数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 主力合约生成规则 每个品种只有一个主连合约。主连合约于下一个交易日进行指向切换,切换前主连合约不变…

【Python】已解决:TypeError: a bytes-like object is required, not ‘int’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:TypeError: a bytes-like object is required, not ‘int’ 一、分析问题背景 在使用Python进行文件操作或处理二进制数据时,开发者可能会遇到如下错…

为什么带货主播,他突然就不吃香了?

为什么带货主播他突然就不吃香了?工资骤降50%。 相比 2023 年初主播的平均薪资降了50%,那不管你是头部主播还是腰部主播,全部都降薪了。那尾部主播就更不用说了,有的主播他的时薪已经低到 20 块钱一个小时,还不如大学…

UI(三)布局

文章目录 1、Colum和Row——垂直方向容器和水平方向容器2、ColumnSplit和RowSplit——子组件之间插入一条分割线3、Flex——弹性布局子组件的容器4、Grid和GridItem——网格容器和网格容器单元格5、GridRow和GridCol——栅格容器组件和栅格子组件6、List、ListItem、ListItemGr…

Visual Studio 工具使用 之 即时窗口

即时窗口:是Visual Studio中的一个调试工具,它允许开发人员在调试过程中执行代码并查看结果。开发人员可以在即时窗口中输入和执行表达式、调用方法,并查看变量的值。即时窗口通常用于调试过程中的快速测试和验证代码的正确性。 就是下面的这…

<电力行业> - 《第6课:电力企业》

1 电力行业 电力是个庞大的行业,企业众多,这里重点介绍下行业的巨头。 2 输配电企业(电网) 老百姓最熟悉的电力企业,两大电网公司:国家电网、南方电网,行业内最大的甲方。 3 电力基础设施建…

数据结构与算法笔记:高级篇 - B+树:MySql数据库索引是如何实现的?

概述 作为一名软件开发工程师,你对数据库肯定再熟悉不过了。MySQL 作为主流的数据库存储系统,它在我们的业务开发中,有着举足轻重的地位。在工作中,为了加速数据库中数据的查找速度,我们常用的处理思路是,…

【PromptCC】遥感图像变化字幕的解耦范式

摘要 以往的方法忽略了任务的显著特异性:对于不变和变化的图像对,RSICC难度是不同的,以一种耦合的方式处理未变化和变化的图像对,这通常会导致变化字幕的混淆。论文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp…

深入理解RLHF技术

在《LLM对齐“3H原则”》这篇文章中,我们介绍了LLM与人类对齐的“3H”原则,但是这些对齐标准主要是基于人类认知进行设计的,具有一定的主观性。因此,直接通过优化目标来建模这些对齐标准较为困难。本文将介绍基于人类反馈的强化学…

高考填报志愿,要做到知己知彼兼顾平衡

寒窗苦读,无非就是希望能够考上一所理想的大学,不过自从高考改革以后,高考结束后只是第一阶段,接下来第二阶段应对高考填报志愿也同样重要。 如何选择合适的院校、专业,考生和家长都需要做好充足的准备,在收…