Polyp-DDPM: Diffusion-Based Semantic Polyp Synthesis for Enhanced Segmentation

Polyp- ddpm:基于扩散的语义Polyp合成增强分割

摘要:

本研究介绍了一种基于扩散的方法Polyp-DDPM,该方法用于生成假面条件下息肉的逼真图像,旨在增强胃肠道息肉的分割。我们的方法解决了与医学图像相关的数据限制、高注释成本和隐私问题的挑战。通过对分割掩模(代表异常区域的二进制掩模)的扩散模型进行调节,poly - ddpm在图像质量(实现fr起始距离(FID)得分为78.47,而高于83.79)和分割性能(实现交集比(IoU)为0.7156,而基线模型合成图像低于0.6694,真实数据为0.7067)方面优于最先进的方法。我们的方法生成了一个高质量的、多样化的合成数据集用于训练,从而增强了息肉分割模型与真实图像的可比性,并提供了更大的数据增强能力来改进分割模型。

1 介绍

结直肠癌(Colorectal cancer, CRC)是全球第三常见、第二致命的癌症[1]。结直肠癌通常以结直肠息肉开始,这是该疾病的早期指标。

通过结肠镜检查及早发现并切除这些息肉可预防结直肠癌,降低死亡率。然而,在结肠镜检查中识别小息肉可能很困难,这取决于医生的专业知识和其他挑战,例如息肉在检查过程中看不到或被忽视[2]。

为了加强息肉的检测,研究人员正在利用机器学习来自主识别和强调内镜下的息肉[3]。然而,由于需要广泛和多样化的数据集,这些技术的发展面临着重大挑战,这些数据集对于训练模型实现高精度至关重要。由于异常区域出现的多样性、招募患者的困难、数据标注的高成本以及对患者数据隐私的担忧等原因,医疗行业经常面临此类数据的短缺[4]。

为了缓解数据稀缺问题,探索合成图像作为一种可行的解决方案已经引起了人们的关注[5]。

Thambawita等人[6]开发了一种基于gan的方法,用于使用分割蒙版创建息肉图像,使用两个阶段的过程,包括在1,000张图像的HyperKvasir数据集[7]上进行初始训练,然后进行风格转移以生成合成图像。尽管比其他GAN模型获得了更真实的图像,但他们的SinGAN-Seg模型在多样性和细节准确性方面面临挑战。GAN模型的一个普遍问题是模态崩溃问题。基于扩散的模型的最新进展已经克服了模式崩溃问题,产生了比gan更好的多样化、高质量的图像[8]。Macháček等人[9]使用Kvasir-SEG数据集[10],引入了一种用于息肉图像和掩模生成的两阶段扩散模型。这个过程包括使用改进的扩散模型生成掩模,然后在这些掩模上调节潜在扩散模型以创建图像。尽管该方法可以有效地生成各种图像,但由于需要两个模型,该方法在训练和推理方面的计算成本很高。

为了应对这些挑战,我们引入了一种新的基于扩散的语义息肉合成方法,polyypddpm,旨在增强我们之前的工作Med-DDPM[11]的息肉分割。这种方法通过掩膜图像的通道级联来调节扩散模型。我们使用Kvasir-SEG数据集进行了实验,并将我们提出的方法与SinGAN-Seg[6]和潜在扩散模型[9]进行了比较,因为这些方法代表了注释息肉数据集生成的最新进展,包括基于gan和基于扩散的方法。在我们的实验中,与基线模型相比,poly - ddpm在图像质量和分割任务方面表现出优越的性能。本研究为任意给定掩模图像合成高质量的合成息肉图像提供了一种新的基于扩散的方法,可用于训练更准确的息肉分割模型,从而为该领域的研究做出了贡献。源代码和预训练模型是公开的,以进一步研究和应用在这一重要领域的医学成像。

2 方法

在本研究中,我们在之前语义3D脑MRI合成工作的基础上[11],并增强了基于分割蒙版生成条件2D息肉图像的架构。

我们的方法涉及前向扩散过程𝑞,由方差调度ϵ∼𝒩(0,i)定义的少量高斯噪声α̅t在给定时间步T中的每个时间步𝑥被添加到训练数据集的图像样本𝑡0:

为了避免噪声水平的突然波动,对[12]中提出的余弦噪声时间表进行了调整,定义如下:

其中,参数𝑠表示一个较小的偏移值,以防止在时间步长接近零时计划过小。[11]

在反向扩散过程𝑝θ中,我们采用了具有输入通道的U-Net结构作为去噪模型。我们所提出的方法的核心结构如图1所示。去噪器U-Net结构的主要组件包括正弦位置嵌入,它被用来编码时间步长𝑡,从而通知模型关于影响输入图像的特定噪声水平。该架构的一个关键元素是宽ResNet块,它由卷积层、完全连接层、组归一化、SI鲁激活层和跳过连接组成。组归一化结合了关注层之后的2D卷积层。为了实现条件建模,我们引入了一种简单而高效的技术,该技术通过以通道方式串联分割掩码𝑥𝑡来修改输入图像𝑐。

3 实验和结果

我们使用Kvasir-SEG数据集[10],与LDM[9]使用相同的训练和测试拆分来训练我们提出的方法。图像大小调整为256x256像素,像素强度调整为范围[-1,1]。我们的模型使用900张图像进行训练,然后在100张测试图像上进行测试。为了确保公平的比较,我们使用了LDM[9]和SinGan-Seg[6]的预训练模型。然而,SinGan-Seg模型在HyperKvasir数据集的1000张图像上进行了训练,并包含了样式转移,与仅在900张图像上训练而没有样式转移的模型进行了不公平的比较。尽管如此,我们的目标是评估我们的扩散模型对它的有效性。我们的模型使用了100,000次迭代,学习率为10-4,批次大小为32,输入通道,仅使用250个时间步,并使用了L1损失函数。在训练过程中,我们应用了旋转、水平翻转和随机旋转等增强技术。对于息肉分割任务,作为对合成图像的定性评估,我们使用了相同的分割模型-UNET++、FPN和DeepLabv3plus-AS[9],除了将历元数更改为100以及修改训练和测试图像数外,具有相同的超参数配置。对来自Kvasir-SEG训练集的900幅图像和从训练集的掩模图像创建的900幅合成图像对所有分割模型进行训练。为了评估合成图像的有效性,我们对HyperKvasir数据集[7]中的1000张图像和ETIS-LaribPolypDB数据集[13]中的196张图像以及Kvasir-SEG数据集的100张测试图像测试了分割模型。通过比较1,000个合成图像和真实图像的样本,使用Fréchet初始距离(FID)、初始分数(IS)和核心初始距离(KID)分数对合成图像进行定量评估。我们对两个不同的数据集:KvasirSEG和HyperKvasir进行了定量评估。使用联合交集(IOU)、F1评分、准确度和精确度评分来评估分割模型的性能。所有型号都在特斯拉V100-SXM2 32 GB GPU卡上进行了培训。

A. 图像合成的结果

图2显示了使用来自HyperKvasir数据集的给定掩模,由我们提出的方法和两个基线模型生成的真实和合成图像之间的比较。该数据集被用于训练SinGan-Seg模型,并作为我们提出的方法和潜在扩散模型(LDM)的不可见数据。比较表明,这两种扩散模型比SinGan-Seg模型具有更高的多样性样本生成能力。尽管使用其训练数据的输入掩码的GaN-Seg模型在理论上应该比其他两个扩散模型生成更好的图像,但很明显,预先训练的SinGANSeg模型遭受了模式崩溃的影响,并且只产生略有变化的图像。相比之下,这两种扩散模型能够产生多样化、高质量的样本。将提出的POLIP-DDPM算法与LDM算法进行比较,我们的模型能够生成比LDM算法更丰富、细节更精确的图像。在定量评估方面,我们提出的POLIP-DDPM方法在Kvasir-SEG和HyperKvasir数据集上的表现优于其他基线模型(表I)。

与Kvasir-SEG数据集的图像相比,我们的方法获得了最低的Fréchet初始距离(FID)得分78.47和核初始距离(KID)0.07,而在HyperKvasir数据集中的真实图像上FID和KID分别为81.10和0.07。相比之下,LDM的得分第二高,FID为95.82Kvasir-SEG上的KID为0.09,HyperKvasir上的FID为97.01,KID为0.09。

相反,与它自己的训练数据集HyperKvasir相比,SinGan-Seg的FID和KID得分分别为131.13和0.14,而且在Kvasir-SEG数据集上的表现也很差。然而,与两个基于扩散的模型相比,SinGan-Seg模型获得了最高的初始得分,这归因于SinGan-Seg模型从真实图像中转移风格的能力。

B.分割实验结果

我们在三个不同的测试数据集:KvasirSEG、HyperKvasir和ETIS-LaribPolypDB上,对三种分割模型-UNET++、FPN和DeepLabv3plus的性能进行了全面的分析,比较了使用合成图像和真实图像进行训练的效果,如表II所示。当对900幅合成图像进行训练时,PolypDDPM模型在Kvasir-SEG数据集的测试集上显示了显著的结果。具体地说,该模型的欠条为0.7156,F1得分为0.8342,准确度为0.9464,精确度为0.8203,超过了SINGAN-SEG和LDM模型。与用900张真实图像训练时相比,这一改进更加明显,当时IOU为0.7067,F1得分为0.8281,突显了合成数据在提高分割性能方面的有效性。在FPN和DeepLabv3plus模型中也观察到了类似的趋势,其中Polyp-DDPM的表现优于其他两个基线模型。然而,FPN和DeepLabv3plus模型的IOU和F1得分低于真实图像结果。在不可见的HyperKvasir数据集上,PolypDDPM的优势更加明显。使用unet++模型,它获得了0.7739的借条和0.8725的F1得分,超过了在整个HyperKvasir数据集上训练的SinGan-Seg模型的性能,也超过了LDM。这一趋势在FPN和DeepLabv3plus模型中继续下去,甚至在未见过的ETIS-LaribPolypDB数据集中继续下去,强调了Polyp-DDPM更好地泛化的能力。在Kvasir-SEG和HyperKvasir数据集上的SinGAN-Seg图像上,FPN模型的唯一精度分数高于其他模型。然而,在ETIS-LaribPolypDB数据集上没有观察到这种模式。然而,当应用于这些看不见的数据集时,合成图像的性能与真实图像的性能不匹配,导致得分较低。这突出表明需要进一步改进合成图像的质量。此外,我们研究了使用真实图像和合成图像的组合来训练分割模型,并发现我们所提出的方法在数据增强能力方面有相当大的前景。例如,包含1800张图像(900REAL和900Polyp-DDPM)的混合训练集获得了0.7484的借条和0.8561的F1分数。相比之下,只使用了900张真实图像,借条和F1得分较低:unet++分别为0.7067和0.8281。同样,对于DeepLabv3plus,混合设置产生的借条为0.7496,F1为0.8569,超过了真实图像的借条0.7217和F1 0.8384。

4 结论

这项研究介绍了PolyP-DDPM,一种新的基于扩散的语义息肉合成方法,它在生成高质量、多样化的合成息肉图像方面优于现有的基于GaN和基于扩散的模型。使用Fréchet初始距离和核初始距离度量的定量评估进一步证实了POLIP-DDPM相对于SinGAN-Seg和潜在扩散模型的优势,特别是在生成与真实数据集特征非常相似的图像方面。此外,分割实验强调了我们提出的方法生成的合成图像有潜力改进息肉分割模型的训练,使其与真实图像具有可比性,并在各种测试数据集上取得了显著的结果。PolypDDPM的相对优势尤其明显,它能够以更高的多样性和精确度生成图像,从而解决了医学成像领域数据稀缺的关键挑战。这项研究不仅推进了合成图像生成的技术前沿,而且为更有效和更容易获得的医学成像解决方案铺平了道路,最终有助于改进对模型的培训,以早期发现和预防结直肠癌。

图1.用于训练和生成合成息肉图像的Polyp-DDPM的总体架构。A)训练:通过调节异常区域的二值分割掩模,训练Polyp-DDPM将随机噪声转换为逼真的息肉图像。B)PolypDDPM模型的核心构建块。C)推理:训练好的Polyp-DDPM模型对给定的输入掩模进行推理,生成相应的合成图像。

图2.真实样本和合成样本的比较:展示了从单一输入掩模生成的合成图像的多样性

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

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

相关文章

pywinauto入门指南:轻松掌握Windows GUI自动化

pywinauto库概述: pywinauto是一个Python库,主要用于自动化Windows应用程序的GUI测试和操作.它提供了一组简单而强大的API,可以模拟用户与Windows应用程序的交互,包括点击按钮、输入文本、选择菜单等操作. 安装 ##pywinauto可以通过pip进行安装,打开命令行运行: pip install…

交叉注意力一脚踹进医学图像分割!新成果精度、效率表现SOTA

为解决传统方法的局限性,研究者们提出了将交叉注意力机制应用于医学图像分割。 交叉注意力机制能更有效地整合来自不同模态/尺度的特征,让模型同时捕捉全局和局部信息,加速学习并减少干扰。这样不仅可以提高分割的精度,还可以减少…

深度解析SD-WAN在企业组网中的应用场景

在现代企业快速发展的网络环境中,SD-WAN技术不仅是实现企业各站点间高效连接的关键,也是满足不同站点对互联网、SaaS云应用和公有云等多种业务需求的理想选择。本文将从企业的WAN业务需求出发,对SD-WAN的组网场景进行全面解析,涵盖…

日元预计明年开始上涨

被称为“日元先生”的前大藏省(现财务省)财务官榊原英资预测,美元兑日元汇率将在今年底或2025年初逐步升至130。他认为,通缩时代已经过去,通货膨胀即将来临。 《日本经济新闻》6月5日报道,日本财务省于5月3…

oracle12c到19c adg搭建(五)dg搭建后进行切换19c进行数据字典升级

一、备库切主库升级 12c切换为19c主库的时候是由低版本到高版本所以cdb和pdb的数据字典需要进行升级才可以让数据与软件版本兼容。 1.1切换 SQL> alter database recover managed standby database finish; Database altered. SQL> alter database commit to switcho…

阿里云使用域名访问部署网站【2024 详细版】

目录 一、注册域名 1.创建信息模板 2.查询注册域名 二、域名设置 1.SSL证书 2.域名解析 3.宝塔设置 一、注册域名 1.创建信息模板 点击右上角【三】-【域名】-【信息模板】-【创建信息模板】- 填写信息 模板分为个人和企业两种,根据情况进行创建即可&…

C++ GPU编程(英伟达CUDA)

安装编译环境 https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.85_windows.exe CMakeLists.txt cmake_minimum_required(VERSION 3.10)set(CMAKE_CXX_STANDARD 17) set(CMAKE_BUILD_TYPE Release) #set(CMAKE_CUDA_ARCHITECTUR…

微服务中不同服务使用openfeign 相互调用

首先 我们上文 已经知道了 nacos 的注册服务,现在 我们 在不同服务中相互调用就可以使用openfeign 直接调用,而不是 再写冗余的调用代码啦 首先 我们的微服务组件如下 因为我这个微服务是我在 员工登录demo 中 拆出来的,在userlogin模块中…

【计算机毕业设计】​206校园顺路代送微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

qmt量化交易策略小白学习笔记第43期【qmt编程之期货数据--如何获取历史主力合约--原生python】

qmt编程之获取期货数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系! 获取历史主力合约 …

Hi3861 OpenHarmony嵌入式应用入门--LiteOS Timer

iteOS Timer(定时器)是LiteOS操作系统中的一个重要组件,它提供了一种基于软件模拟的定时器功能,用于满足在硬件定时器数量不足时的定时需求。 软件定时器:基于系统Tick时钟中断,由软件来模拟的定时器。当经…

【计算机网络体系结构】计算机网络体系结构实验-FTP实验

1. 2. 3. wireshark 第一行:帧Frame 545:要发送的数据块,所抓帧的序号为545,捕获字节数等于传送字节数:451字节第二行:源Mac地址为a4:bb:6d:6e:28:9a;目标Mac地址为24:00:fa:e4:df:d8第三行&…

深度学习Day-21:ResNet与DenseNet结合

🍨 本文为:[🔗365天深度学习训练营] 中的学习记录博客 🍖 原作者:[K同学啊 | 接辅导、项目定制] 要求: 探索ResNet与DenseNet结合的可能性根据模型特性构建新的模型框架验证改进后模型的效果 一、 基础配…

【linux】dup文件描述符复制函数和管道详解

目录 一、文件描述符复制 1、dup函数(复制文件描述符) ​编辑 2、dup2函数(复制文件描述符) ​编辑 二、无名管道pipe 1、概述 2、无名管道的创建 3、无名管道读写的特点 4、无名管道ps -A | grep bash实现 三、有名管道FI…

Java8使用Stream流实现List列表查询、统计、排序、分组、合并

Java8使用Stream流实现List列表查询、统计、排序以及分组 目录 一、查询方法1.1 forEach1.2 filter(T -> boolean)1.3 filterAny() 和 filterFirst()1.4 map(T -> R) 和 flatMap(T -> Stream)1.5 distinct()1.6 limit(long n) 和 skip(long n) 二、判断方法2.1 anyMa…

容器之按钮盒构件演示

代码; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>int main(int argc, char *argv[]) {gtk_init(&argc, &argv);GtkWidget *window;window gtk_window_new(GTK_WINDO…

xargs 传参

xargs的默认命令是 echo&#xff0c;空格是默认定界符。这意味着通过管道传递给 xargs的输入将会包含换行和空白&#xff0c;不过通过 xargs 的处理&#xff0c;换行和空白将被空格取代。xargs是构建单行命令的重要组件之一。 xargs -n1 // 一次输出一个参数到一行&#xf…

Python学习笔记16:进阶篇(五)异常处理

异常 在编程中&#xff0c;异常是指程序运行过程中发生的意外事件&#xff0c;这些事件通常中断了正常的指令流程。它们可能是由于错误的输入数据、资源不足、非法操作或其他未预料到的情况引起的。Python中&#xff0c;当遇到这类情况时&#xff0c;会抛出一个异常对象&#…

最详细的Selenium+Pytest自动化测试框架实战

前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象&#xff0c;封装继承 一定的selenium基础——本篇不讲selenium&#xff0c; 测试框架简介 测试框架有什么优点呢&#xff1a; 代码复用率高&#xff0c;如果不使用框架的话&#xff…

2004年-2022年 全国31省市场分割指数数据

市场分割指数在经济学领域是一个关键的概念&#xff0c;特别是在评估不同区域市场一体化水平时。陆铭等学者深入研究了市场分割问题&#xff0c;并对市场分割指数给出了定义&#xff1a;它是一个衡量在相同时间点不同区域或同一区域在不同时间点的某类商品相对价格差异的指标。…