医疗图像处理2023年CVPR:Label-Free Liver Tumor Segmentation-无标签肝肿瘤分割

目录

一、摘要

二、介绍

三、相关工作

四、网络框架

1.位置选择

2.纹理处理

3.形状生成

4.后处理

5.参数设计

五、实验

1.数据集:

2.评价指标:

3.实现:

4.结果:

六、结论

一、摘要

通过在CT扫描中使用合成肿瘤(synthetic tumors),人工智能模型可以准确地分割肝脏肿瘤,而无需手动注释。优势:(I)形状和质地逼真,即使是医学专业人员也会将其与真实肿瘤混淆;(II) 有效地训练人工智能模型,该模型可以与在真实肿瘤上训练的模型类似地执行肝脏肿瘤分割。还没有任何现有的工作,仅使用合成肿瘤,达到与真实肿瘤相似甚至接近的性能。未来可以显著减少逐体素注释肿瘤的手动工作(这需要数年的时间才能创建)。此外,我们的合成肿瘤可以自动生成许多小(甚至微小)合成肿瘤的例子,并有可能提高检测小肝肿瘤的成功率,这对检测癌症的早期至关重要。除了丰富训练数据,我们的合成策略还使我们能够严格评估人工智能的稳健性。

二、介绍

训练模型需要大量的标注,而合成肿瘤能帮助我们建立新数据,但是,使用合成肿瘤训练的人工智能模型的表现明显不如使用真实肿瘤训练的模型。主要是有几个重要因素:形状、强度、大小、位置和纹理。所以我们手工制作了一种在腹部CT扫描中合成肝脏肿瘤的策略: (i)在不与容器碰撞的情况下定位,(ii)具有放大高斯噪声的纹理,(iii)由扭曲的椭球体生成的形状。

通过这样生成的图片即使是医学专业人员在视觉检查中也通常将其与真实肿瘤混淆。此外,在我们的合成肿瘤上训练的模型在分割真实肝脏肿瘤时获得了59.81%的骰子相似系数(DSC),而在真实肿瘤上训练过的人工智能获得了57.63%的DSC,这表明在训练人工智能模型时,合成肿瘤有可能被用作真实肿瘤的替代品。下面两个图片就是合成肿瘤图片让人来判断,很难判断成功。

迄今为止,没有任何先前的工作达到与在真实肿瘤上训练的模型相似(甚至接近)的性能,并且这些肿瘤不限于固定的有限大小训练集。我们的主要贡献是合成肿瘤发生器,有五个优点:

1.合成策略将医学知识嵌入到可执行程序中,通过放射科医生和计算机科学家的合作来生成真实的肿瘤。

2.整个训练阶段不需要注释成本,所得模型显著优于以前的无监督异常分割方法和肿瘤合成策略

3.人工合成肿瘤训练的人工智能模型在真实肿瘤分割中可以达到与真实肿瘤训练的人工智能模型相似的性能,并且可以推广到健康肝脏的CT扫描和其他医院的扫描

4.该合成策略可以生成各种肿瘤用于模型训练,包括小、中、大尺度的肿瘤,因此具有检测小肿瘤和促进肝癌早期检测的潜力

5.该合成策略允许直接操作肿瘤位置、大小、纹理、形状和强度等参数,为在分布外场景下评估AI模型提供了全面的测试平台

三、相关工作

无监督异常分割:一般无监督异常检测设置仅使用正常样本进行训练,没有任何异常数据,并且不提供图像级注释或像素级注释。

合成肿瘤:相关工作中手工制作的“假”肿瘤看起来与真实肿瘤有很大不同。因此,对合成肿瘤进行训练的人工智能算法可能在检测测试集中的合成肿瘤方面工作得很好,但无法识别实际的肿瘤。

从合成域到实域的泛化:评估模型在真实数据上的泛化能力,论文旨在证明我们的肿瘤生成器足够强大并且我们的模型在检测真实肿瘤方面具有突出的泛化能力。

四、网络框架

为了定位肝脏,我们首先将预先训练好的nnUNet1应用于CT扫描。有了肝脏的大致位置,然后我们开发了一系列形态图像处理操作来合成肝脏内的真实肿瘤。肿瘤生成包括四个步骤:(1)位置选择,(2)纹理生成,(3)形状生成,(4)后处理。

input:上面是CT图,下面的是肝脏掩模图;salt-noise:盐噪声产生;scaling:缩放比例;interpolation:插值;ellipse:椭圆生成;elastic deformation:弹性变形;edge blurring:边界模糊。

1.位置选择

为肿瘤选择一个合适的位置,因为肝肿瘤通常不允许任何血管(如肝静脉、门静脉和下腔静脉)通过它们,为了避开血管,我们首先通过体素阈值进行血管分割。分段的血管遮罩由以下公式给出:

其中f′(x,y,z)是平滑的CT扫描,f′(x, y, z) =f(x, y, z) ⊗ g(x, y, z; σa)。 通过将具有标准差σa的高斯滤波器g(x,y,z;σa)应用于原始CT扫描f(x,y,z);⊗是标准的图像滤波算子。

平滑可以有效地消除CT重建带来的噪声。阈值T被设置为略大于肝脏的平均Hounsfield单位(HU)的值。 l(x, y, z)为肝脏掩膜(背景=0,肝脏=1);⊙是逐点乘法,b是一个超参数。

v(x, y, z)就是血管掩膜,那么人们可以检测一个选定的位置是否有使肿瘤与血管碰撞的危险。

前提就是这个图有肿瘤,在提出一个随机位置(X, Y, Z)∈{X, Y, Z | l(X, Y, Z) = 1}后,我们通过判断肿瘤半径r范围内是否有血管来进行碰撞检测。若∃v(X, Y, Z) = 1,∀X∈[X−r,X r], Y∈[Y−r, Y r], Z∈[Z−r, Z r],则存在碰撞的风险,因此需要重新选择位置。这个过程迭代,直到找到一个没有碰撞的肿瘤位置(xt, yt, zt)。有了理想的肿瘤位置,我们就可以生成肿瘤的纹理和形状。

2.纹理处理

首先生成一个三维高斯噪声,预定义的平均HU强度µt和与肝实质(不含血管的肝脏区域)相同的标准差σp, T (x, y, z) ~ N(µt, σp)。由于随机高斯噪声作为肿瘤的纹理通常过于尖锐,我们通过在x, y, z方向上使用3阶的样条插值(三次插值)将纹理放大来软化纹理,放大后的纹理表示为T ' (x, y, z)。比例因子η∈[1,∞]决定了生成的纹理感觉有多粗糙。η = 1表示高斯纹理没有缩放,导致相邻体素之间的值波动较大。η越大,晶粒度越大,这可能与真实的肿瘤织构相似。最后,考虑到层析成像质量,我们使用高斯滤波器g(x, y, z;σb)。

其中σb为标准差。经过模糊处理后,纹理与真实成像产生的纹理相似。

3.形状生成

大多数肿瘤从中心开始生长并逐渐膨胀,使小肿瘤(即r < 20mm)接近球形。这促使我们用椭球体生成类似肿瘤的形状。从均匀分布U(0.75r, 1.25r)中随机抽取椭球x、y、z方向的半轴长度,并将生成的椭球掩模以(xt, yt, zt)为中心放置。

对于生成的椭球肿瘤掩膜t(x, y, z)(背景=0,肿瘤=1),其形状与扫描体积f(x, y, z)相同,采用由σe控制的弹性变形来丰富其多样性,更接近自然生长的肿瘤。

将变形后的肿瘤蒙版记为t' (x, y, z),为了使生成的肿瘤与周围肝实质之间的过渡更加自然,我们最后通过高斯滤波器g(x, y, z;σc)与标准差σc。模糊形状t′′(x, y, z) = t′(x, y, z) ⊗ g(x, y, z; σc).

4.后处理

第一步是将肿瘤放置在扫描体f(x, y, z)和相应的肝掩膜l(x, y, z)上, 假设肿瘤掩膜阵列t”(x, y, z)和纹理阵列T”(x, y, z)具有与f(x, y, z)和l(x, y, z)相同的形状,我们可以通过方程得到新的带有肿瘤的扫描体。

新扫描体对应的肿瘤(bg=0,肝脏=1,肿瘤=2)的新掩模,可以用l ' (x, y, z) = l(x, y, z) t ' (x, y, z)进行合成。然后放置肿瘤后再用两步,模拟质量效应和胶囊外观,让图更真。

①质量效应是指不断扩大的肿瘤将周围组织推开,本文选择局部缩放翘曲来实现质量效应。 局部缩放翘曲:它重新映射像素在一个圆更接近圆周。对于距离圆中心为γ的像素,重新映射的像素距离γ′为

γmax为膨胀圆面积的半径,I∈[0,100]为控制膨胀强度的超参数, 较大的I导致更强的翘曲。翘曲后分别命名为f”(x, y, z)和l”(x, y, z),后一个(肝脏/肿瘤分割标签)已经准备好进行后续训练。

②胶囊外观,通过亮化肿瘤边缘来模拟包膜的外观。 边缘面积可由:

其中lb和ub分别为从肿瘤掩膜中滤波边缘的下界和上界。然后我们增加模糊边缘区域的HU强度来模拟胶囊。

d为预先定义的肿瘤与其包膜之间的HU强度差。新的扫描体积f ''' (x, y, z)现在可以用于训练或图灵测试,这就是最后合成肿瘤图。

5.参数设计

五、实验

1.数据集:

肝脏肿瘤的详细逐体素注释在LiTS中有提供。肝脏肿瘤体积为38mm3 ~ 349 cm3,肿瘤半径为[2,44]mm。人工智能模型(例如U-Net)在101个带有肝脏和肝脏肿瘤注释的CT扫描上进行训练,并且从其他数据集中收集了116个健康肝脏CT扫描数据集。然后,我们在这些扫描中生成肿瘤,产生巨大的图像标签对合成肿瘤,用于训练人工智能模型,生成了五个级别的肿瘤大小用于模型训练。

2.评价指标:

采用DSC (Dice similarity coefficient)和NSD (Normalized Surface Dice, NSD公差为2mm)评价肿瘤分割效果;通过敏感性和特异性评价肿瘤检测性能。对于上述所有指标,计算95% ci,并使用小于0.05的p值截断值来定义统计显著性。

3.实现:

代码是基于MONAI2框架在U-Net和Swin UNETR上实现的,输入图像以[-21,189]的窗口范围进行裁剪,然后归一化使其均值为零,单位标准差为零。在训练过程中,从三维图像体中裁剪出96 × 96 × 96的随机斑块。所有模型训练4000次,基本学习率为0.0002。批处理大小为每个GPU两个。我们采用线性预热策略和余弦退火学习率计划。对于推理,我们通过将重叠面积比设置为0.75来使用滑动窗口策略。

4.结果:

使用来自胰腺CT、CHAOS和BTCV的116个CT扫描和我们的无标签肿瘤生成器,我们在LiTS基准上优于所有这些方法,而以前的方法使用101个CT扫描和来自LiTS的注释。

①使用视觉图灵测试进行临床验证:20张真30张假专业人员来看,就是上面的图人员看的结果

②与最先进方法的比较:只关注肝脏区域进行训练和测试,之前所有的无监督方法在分割真实肝脏肿瘤时都表现出次优的性能。

③推广到不同的模型和数据:使用Swin UNETR3验证了合成肿瘤的普遍性,从图4可以看出,在真实肿瘤上训练的模型性能略好于在合成肿瘤上训练的模型,但由于p值大于0.05,两者的结果没有统计学差异。还使用来自其他数据集(即msd -胰腺,msd -脾脏,msd -结肠)的数据评估了它们的领域泛化能力,其鲁棒性优于仅使用来自lit的真实数据进行训练的模型,并且同时在三个外部数据集上获得更高的特异性,因为它减少了接受侵入性诊断程序的患者数量和相关费用。

④小肿瘤检测的潜力:由于大多数患者在早期阶段仍然无症状,因此在实际数据集中很少有这样的病例。因此,先进的肿瘤发生器可以生成包含各种肿瘤大小的合成数据,用于训练和测试模型,解决真实数据中存在的大小不平衡问题,下图的下面板为按肿瘤大小分层的定量肿瘤检测性能,上面板为两例小肿瘤进行定性比较。大量合成小肿瘤的产生可以提高模型对真实小肿瘤的检测效率,从而对癌症的早期发现起到至关重要的作用。

⑤可控鲁棒性基准:医学影像学的标准评价仅限于确定人工智能在检测肿瘤方面的有效性。这是因为现有测试数据集中标注的肿瘤数量不够大,不足以代表真实器官中发生的肿瘤,特别是只包含有限数量的非常小的肿瘤。而合成肿瘤可以作为一个可访问的和全面的来源,用于严格评估人工智能在各种不同大小和位置的器官中检测肿瘤的性能,帮助微调人工智能算法。

⑥形状生成的消融研究:为了显示肿瘤生成中每个步骤的重要性,我们设计了聚焦于形状生成和小肿瘤合成的消融研究,从全肿瘤分割和小肿瘤检测两个方面对不同综合策略不完全设置训练的模型进行了评价。

六、结论

本文研究了一种有效的合成肝脏肿瘤的策略。在零人工注释的情况下,我们验证了在合成肿瘤上训练的人工智能模型的表现与在LiTS数据集中(花了几个月的时间创建)训练的真实肿瘤相似。这揭示了利用合成肿瘤在更大规模的健康CT数据集(比肝脏肿瘤CT扫描更容易获得)上训练人工智能模型的巨大潜力。此外,合成肿瘤使我们能够评估人工智能在CT扫描中检测不同位置、大小、形状、强度、纹理和分期的肿瘤的能力。在未来,我们将考虑生成对抗网络(GANs),扩散模型,并可能使用3D几何模型如NeRF进行改进,以生成更好的肿瘤纹理。

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

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

相关文章

分布式存储故障导致数据库无法启动故障处理---惜分飞

国内xx医院使用了国外医疗行业龙头的pacs系统,由于是一个历史库,存放在分布式存储中,由于存储同时多个节点故障,导致数据库多个文件异常,数据库无法启动,三方维护人员尝试通通过rman归档进行应用日志,结果发现日志有损坏报ORA-00354 ORA-00353,无法记录恢复,希望我们给予支持 M…

队列的相关操作:用队列实现栈

1.思路解析 由于C语言封装度不是很高&#xff0c;不像C可以直接用现成的&#xff0c;所以我们要自己做一个“轮子”&#xff0c;即自己实现一个队列&#xff0c;这里直接放出代码&#xff0c;详解可以移步到我的另一篇关于队列的博客&#xff0c;点我移步&#xff0c;原题来源于…

Mp3tag for Mac:音乐标签,轻松管理

还在为杂乱无章的音乐文件而烦恼吗&#xff1f;Mp3tag for Mac&#xff0c;让您的音乐库焕然一新&#xff01;它支持多种音频格式&#xff0c;批量编辑标签&#xff0c;让音乐管理变得简单高效。同时&#xff0c;自动获取在线数据库的音乐元数据&#xff0c;确保您的音乐库始终…

并发-判断线程对象是否处于活动状态 - isAlive

t.isAlive() 测试线程t是否处于活动状态&#xff0c;只要线程启动并且没有终止&#xff0c;方法返回值就是truestart()之前&#xff0c;线程不处于活动状态&#xff0c;之后就处于活动状态示例&#xff1a;运行结果&#xff1a;但是事情并没有这么简单&#xff0c;先来看一下以…

面试经典算法系列之数组/字符串5 -- 反转字符串中的单词

面试经典算法题37-反转字符串中的单词 LeetCode.151 公众号&#xff1a;阿Q技术站 问题描述 给你一个字符串 s &#xff0c;请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词…

【JavaEE 初阶(五)】文件操作和IO

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多文件操作 目录 1.前言2.认识文件3.文件操作3.1File 属性3.2构造方法3.3File类方法 4.文件内容操作4.1R…

栈和队列的相互实现

1. 两个队列实现栈. - 力扣&#xff08;LeetCode&#xff09; 队列的特点是先进先出&#xff0c;而栈的特点是后进先出&#xff08;先进后出&#xff09;&#xff0c;也就是说重点在于利用两个队列来改变“出”的顺序。 假设我们在进行入栈操作的时候将数据依次入到一个队列中…

国产操作系统下Chrome的命令行使用 _ 统信 _ 麒麟

原文链接&#xff1a;国产操作系统下Chrome的命令行使用 | 统信 | 麒麟 Hello&#xff0c;大家好啊&#xff01;今天我们来聊聊如何在国产操作系统上使用命令行操作Google Chrome。无论是进行自动化测试、网页截图还是网页数据抓取&#xff0c;使用命令行操作Google Chrome都能…

LVS的三种工作模式---(DR/TUN/NAT)

目录 一、NAT模式&#xff08;LVS-NAT&#xff09; 二、IP隧道模式&#xff08;LVS-TUN&#xff09; 三、DR模型--直接路由模式&#xff08;LVS-DR&#xff09; LVS/DR模式ARP抑制 原因&#xff1a; LVS的DR工作模式及配置&#xff1a; LVS的NAT工作模式及配置&#xff1…

Python游戏制作大师,Pygame库的深度探索与实践

写在前言 hello&#xff0c;大家好&#xff0c;我是一点&#xff0c;专注于Python编程&#xff0c;如果你也对感Python感兴趣&#xff0c;欢迎关注交流。 希望可以持续更新一些有意思的文章&#xff0c;如果觉得还不错&#xff0c;欢迎点赞关注&#xff0c;有啥想说的&#x…

ppt图片居中对齐

今天简单尝试了一下ppt图片怎么居中对齐&#xff0c;记录如下 准备一张图片 可以把位置该成居中 就可以让图形居中了

完全背包问题(c++)

完全背包问题 当前有 N 种物品&#xff0c;第 i 种物品的体积是 ci​&#xff0c;价值是 wi​。 每种物品的数量都是无限的&#xff0c;可以选择任意数量放入背包。 现有容量为 V 的背包&#xff0c;请你放入若干物品&#xff0c;使总体积不超过 V&#xff0c;并且总价值尽可…

7. path路径绘制:使用path绘制曲线

曲线在SVG中通常是通过贝塞尔曲线命令来绘制的&#xff0c;包括二次贝塞尔曲线&#xff08;Q&#xff09;和三次贝塞尔曲线&#xff08;C&#xff09;。这些命令允许我们创建平滑的曲线路径。 贝塞尔曲线的原理 贝塞尔曲线的基本原理是通过控制点和锚点来定义一条曲线的形状。…

Android的视图显示和管理机制:layout view window WindowManager Canvas Surface

在Android系统中&#xff0c;Layout view window WindowManager Canvas Surface SurfaceFlinger这些组件协同工作&#xff0c;以实现图形的绘制和显示。需要搞明白这些组件是什么时候创建的以及他们之间的结构关系。 从上到下的层级关系&#xff1a;用户在View上进行操作&…

数据结构复习指导之树、森林

文章目录 树、森林 考纲内容 复习提示 1.树的存储结构 1.1双亲表示法 1.2孩子表示法 1.3孩子兄弟表示法 2.树、森林、与二叉树的转换 2.1树转换为二叉树 2.2森林转换为二叉树 2.3二叉树转换为森林 3.树和森林的遍历 3.1树的遍历 3.2森林的遍历 树、森林 考纲内容…

手机电脑通用便签推荐 好用便签下载

便签软件作为一种日常记录和管理工具&#xff0c;其实用性和便捷性深受用户喜爱。一款优秀的便签软件不仅能帮助我们随时随地记录重要信息&#xff0c;还能有效提高工作效率。然而&#xff0c;市场上很多便签应用仅限于单一平台使用&#xff0c;对于需要在手机和电脑间频繁切换…

FPGA第1篇,FPGA现场可编程门阵列,从0开始掌握可编程硬件开发(FPGA入门指南)

简介&#xff1a;FPGA全称Field-Programmable Gate Array&#xff0c;是一种可编程逻辑器件&#xff0c;它通过可编程的逻辑单元和可编程的连接网络实现了灵活的硬件实现。与固定功能的集成电路&#xff08;ASIC&#xff09;相比&#xff0c;FPGA具有更高的灵活性和可重新配置性…

python随机显示四级词汇

python实现一个浮动窗口随机显示四级单词在桌面跑来跑去 实现一个浮动窗体随机显示四级单词在windows桌面置顶移动 tkinter库来创建窗口和显示单词&#xff0c;以及random库来随机选择单词。 使用after方法来定时更新窗口的位置&#xff0c;实现单词窗口的慢慢移动效果 使用…

day10-Map集合

Map 1.Map 1.1 Map简介 1.为什么使用Map集合 购物车提供的四个商品和购买的数量在后台需要容器存储。 每个商品对象都一一对应一个购买数量。 把商品对象看成是Map集合的键&#xff0c;购买数量看成Map集合的值。 例如: {商品12 , 商品23 &#xff0c; 商品3 2 , 商品4…

GitHub操作

远程库-GitHub GitHub网址 GitHub是全球最大的远程库 1. 创建远程库 2. 远程仓库操作 2.1 创建远程仓库别名 git remote -v 查看当前所有远程库地址别名 git remote add 别名 远程地址 设置远程库地址别名 案例操作 起一个别名会出现两个别名&#xff0c;是因为既可以拉取…