医疗图像处理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.mzph.cn/bicheng/8784.shtml

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

相关文章

8086 汇编学习 Part 9

端口的读写 CPU 的邻居 CPU 内部的寄存器内存单元端口&#xff08;各种接口卡、网卡&#xff0c;显卡&#xff0c;主板上的接口芯片等&#xff09; 各种芯片工作时&#xff0c;都有一些寄存器由 CPU 读写从 CPU 角度&#xff0c;将各寄存器当端口&#xff0c;并统一编制CPU …

webservice和TCP类型接口测试

1.webservice类型接口 1.1.webservice类型接口介绍 Web服务&#xff08;WebService&#xff09;是一种基于网络的应用程序接口&#xff08;API&#xff09;&#xff0c;可通过网络来进行通信和交互。它们使用标准化的协议和格式来进行通信&#xff0c;最常见的是使用XML&#…

Java设计模式-工厂

Java设计模式中&#xff0c;工厂模式主要包括普通工厂模式以及抽象工厂模式&#xff0c;普通工厂模式是用于制造输出不同类型的对象&#xff0c;抽象工厂模式是用于制造输出不同类型的普通工厂&#xff0c;本文主要描述工厂模式的基本用法。 如上所示&#xff0c;使用普通工厂模…

解锁电脑潜能,提高办公效率:这个桌面助手您可千万不能错过!

文章目录 &#x1f4d6; 介绍 &#x1f4d6;&#x1f4dd; 你是否有这些烦恼&#xff1f;&#x1f4dd; 一站式效率工具平台&#x1f4dd; 插件市场&#xff1a;无限扩展的可能&#x1f4dd; 如何开始使用&#x1f3af; 结语 ⚓️ 相关链接 ⚓️ &#x1f4d6; 介绍 &#x1f4…

知乎广告推广开户流程全攻略及费用详解

知乎作为一个高质量的知识分享平台&#xff0c;具有大量高教育背景和购买力的用户群体&#xff0c;成为了众多品牌广告主心仪的目标营销阵地。想要在知乎上精准高效地推广产品或服务&#xff0c;首先需要了解其广告推广的开户流程与相关费用。 一、知乎广告开户流程 1、前期准…

ansible批量运维管理

Ansible是一种自动化运维工具&#xff0c;基于Python开发&#xff0c;主要用于自动化IT任务&#xff0c;如配置管理、应用程序部署、软件升级和系统管理等。它集合了众多运维工具&#xff08;如puppet、cfengine、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系…

AI终端设备的自动化分级

摘要&#xff1a; 大语言模型&#xff08;LLM&#xff09;被认为是通用人工智能&#xff08;AGI&#xff09;的潜在火花&#xff0c;为构建通用人工智能代理带来了希望。在此基础上&#xff0c;客户端设备在人工智能的帮助下不断发展&#xff0c;从基于应用程序&#xff08;AP…

Centos 中如何汉化man命令

刚学Linux&#xff0c;记不住命令和选项&#xff0c;很依赖里面的 man 查看命令&#xff0c;但因为着实看不懂&#xff0c;有没有什么办法把man查看命令的信息改成中文 在CentOS 7中&#xff0c;你可以通过安装man-pages-zh包来获取中文的man手册。以下是具体的步骤&#xff1a…

stm32f103zet6_RTC_1_介绍

RTC简介 实时时钟是一个独立的定时器。 RTC模块拥有一组连续计数的计数器&#xff0c;在相应软件配置下&#xff0c;可 提供时钟日历的功能。 修改计数器的值可以重新设置系统当前的时间和日期。 RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域&#xff0c;即在系统复…

【Linux】常用基本指令

目录 食用说明 用户管理 whoami/who clear tree 目录结构和路径 pwd ls 文件 隐藏文件 常用选项 cd 家目录、根目录、绝对路径和相对路径 touch 常用选项 mkdir rmdir/rm man cp mv cat nano echo 输出重定向 > 输入重定向 < more/less head/…

ic基础|时钟篇02:关于时钟分频器的二三事

大家好&#xff0c;我是数字小熊饼干&#xff0c;一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结&#xff0c;并通过汇总成文章的形式进行输出&#xff0c;相信无论你是在职的还是…

嵌入式开发八:STM32启动过程分析

本次给大家分析 STM32F4 的启动过程&#xff0c;这里的启动过程是指从 STM32 芯片上电复位执行的第一条指令开始&#xff0c;到执行用户编写的 main 函数这之间的过程。我们编写程序&#xff0c;基本都是用 C 语言编写&#xff0c;并且以 main 函数作为程序的入口。但是事实上&…

1.使用uniapp搭建微信小程序项目并引入前端组件资源

文章目录 1. 项目配置1.1. 新建vue3项目1.2. 关联云空间1.3. 运行到微信开发者工具 2. 前端组件2.1. uniCloud的内置组件和扩展组件2.2. uView3.02.3. 在uniapp项目引入uview3 1. 项目配置 1.1. 新建vue3项目 由于我们要使用vue3而不是vue2&#xff0c;所以要选好版本&#x…

【GPT调用】本地使用python调用GPT接口

python调用GPT接口 环境变量设置主调用方法执行结果 环境变量设置 .env文件中配置GPT环境变量 api_key"你的GPT-API-KEY" urlhttps://ai-proxy.ksord.com/wps.openai.azure.com/openai/deployments/gpt-4-32k/chat/completions?api-version2023-09-01-preview主调…

中国结(科普)

中国结是一种手工编织工艺品&#xff0c;它身上所显示的情致与智慧正是汉族古老文明中的一个侧面。 [1]它原本是由旧石器时代的缝衣打结&#xff0c;后推展至汉朝的仪礼记事&#xff0c;再演变成今日的装饰手艺。周朝人随身的佩戴玉常以中国结为装饰&#xff0c;而战国时代的铜…

1756jsp农产品销售管理系统Myeclipse开发mysql数据库C2C模式java编程计算机网页项目沙箱支付

一、源码特点 java 农产品销售管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0…

天龙怀旧游戏python脚本

设置图&#xff1a; 游戏窗口最大化。 海贼洞这里定位你要回点的定位。 运行bat就行&#xff0c;脚本出错了还是会重新运行脚本&#xff0c;运行自动启动&#xff0c;end暂停脚本&#xff0c;home重新启动脚本 1. 我常用的是内挂回点脚本&#xff0c; 下面都是前台脚本&…

Python-100-Days: Day09 Object-oriented programming(OOP) Upgrade

1.property装饰器 之前有讨论过&#xff0c; Python中属性和方法访问权限的问题&#xff0c;不建议将属性设置为私有的&#xff0c;倘若直接将属性暴露给外界也是存在问题的。例如&#xff0c;我们没有办法检查赋给属性的值是否有效。之前的建议是将属性命名以单下划线开头&am…

C#贪吃蛇

C#贪吃蛇 文章目录 Program.csText1Game.csISceneUpdate.csText2BeginScene.csBegionOrEndScene.csEndScene.csGameScene.csText3GameObject.csIDraw.csPosition.csText4Food.csSnakeBody.csWall.csText5Map.csText6Snake.csProgram.cs using 贪吃蛇.Text1;Game game = new Ga…

java语言数据结构(单链表)

前言 不得承认java应用的广泛&#xff0c;所以毅然决定java版本的数据结构和算法专题还是要坚决更新。每日更新2题&#xff0c;希望学习的小伙伴可以关注一波跟上&#xff0c;评论区欢迎讨论交流。 实现原理 节点&#xff08;Node&#xff09;&#xff1a;链表的基本构建单元…