通用医学图像分割模型UniverSeg

news2024/12/28 4:07:29

虽然深度学习模型已经成为医学图像分割的主要方法,但它们通常无法推广到涉及新解剖结构、图像模态或标签的unseen分割任务。给定一个新的分割任务,研究人员通常必须训练或微调模型,这很耗时,并对临床研究人员构成了巨大障碍,因为他们往往缺乏训练神经网络的资源和知识。作者提出UniverSeg,这是一种在没有额外训练的情况下解决unseen医学分割任务的方法。给定新分割任务的"query图像-标签pair"的示例集,UniverSeg可以生成准确的分割,而不需要额外的训练。

来自:UniverSeg: Universal Medical Image Segmentation

目录

  • 自然图像与遥感图像,医学图像的区别
  • 背景概述
  • 方法
    • 方法框架
    • 训练
  • 数据集

自然图像与遥感图像,医学图像的区别

自然图像与遥感图像的区别:

  • 分辨率:自然图像的分辨率通常比遥感图像高。自然图像的分辨率通常是以像素为单位来衡量的,而遥感图像的分辨率则通常是以米为单位来衡量的。这意味着在相同的区域内,自然图像可以提供更多的细节信息。
  • 光谱范围:遥感图像涵盖了更广泛的光谱范围。遥感图像可以捕捉到从可见光到红外和微波等更广泛的电磁波谱,而自然图像只能捕捉到可见光谱。
  • 场景复杂性:遥感图像通常涉及更复杂的场景,例如城市、山脉和沙漠等,而自然图像则通常涉及更简单的场景,例如道路和行人等。
  • 数据量:遥感图像通常比自然图像数据量大,因为遥感图像通常具有更广泛的光谱范围更大的image size。这意味着在处理遥感图像时需要更强大的计算资源和更高效的算法。

自然图像与医学图像的主要区别在于它们的应用领域和成像方式:

  • 自然图像是指拍摄自然环境下的图像,如人物、风景、动物等。这些图像一般使用摄影、数码相机等成像设备得到。自然图像在计算机视觉、图像处理、机器学习等领域应用广泛,如图像分类、目标检测、图像识别等。
  • 医学图像是指用医学成像设备得到的图像,如X光片、CT、MRI等。医学图像的成像方式比较复杂,涉及到辐射、磁场等物理特性。医学图像广泛应用于医学领域,如疾病诊断、治疗方案制定等。
  • 灰度值:医学图像的像素通常是灰度值,代表组织密度、电阻、反射率等特征。这些灰度值可以用来提取和分割组织区域。
  • 多模态性:医学图像通常是多模态的,即来自不同的成像技术,如CT、MRI等。这些图像通常需要融合和集成,以提供更多的信息。
  • 噪声和伪影:医学图像通常包含噪声和伪影,这些干扰可以对图像质量和分析造成影响。因此,去除噪声和伪影是医学图像处理中的一个重要任务。
  • 分辨率:医学图像通常需要高分辨率,以便准确显示组织细节。例如,高分辨率CT图像可以显示更小的血管和细胞。
  • 数据量大:医学图像通常非常大,需要大量存储空间。同时,医学图像的处理也需要大量计算资源和时间。

背景概述

图像分割是计算机视觉中一个广泛研究的问题,也是医学图像分析中的一个核心挑战。医学分割任务可以涉及:

  • 不同的成像模式,如磁共振成像(MRI)、X射线、计算机断层扫描(CT)和显微镜;
  • 不同的生物医学领域,如腹部、胸部、大脑、视网膜或单个细胞;
  • 以及一个区域内的不同标签,如心脏瓣膜或心室,见图1。

这种多样性激发了一系列分割工具的灵感,每种工具通常处理一项任务或一小部分密切相关的任务。近年来,深度学习模型已成为医学图像分割的主要策略。

fig1

  • 图1:医学图像分割涉及图像类型、生物医学领域和目标标签。UniverSeg使用大量不同的训练任务集(蓝色)来构建模型,该模型可以在没有额外训练的情况下分割看不见的任务(橙色)。

图像分割中的一个关键问题是domain shift,模型在给定分布外示例的情况下往往表现不佳。这在医学领域尤其明显,因为临床研究人员或其他科学家不断定义由不断变化的人群、科学和临床目标驱动的新分割任务。为了解决这些问题,他们需要从头开始训练模型,或者对现有模型进行微调。然而训练神经网络需要机器学习专业知识、计算资源。这对大多数临床研究人员或其他科学家来说是不可行的,因为他们不具备训练模型的专业知识。在实践中,这大大减缓了科学发展。

在自然图像领域训练的微调模型在医学领域可能没有帮助,这可能是由于领域之间数据大小、特征和任务规范的差异,重要的是仍然需要大量的再训练。一些few shot语义分割方法试图在有限的数据状态下预测新的类别而不进行微调,但主要集中在分类任务上,或在同一输入域内分割新的类别,并且不在解剖结构或成像模态上进行推广。

因此,作者提出了UniverSeg,一种学习通用医学图像分割的方法,该模型在没有任何再训练的情况下在各种任务上表现良好,包括与训练时看到的任务有很大不同的任务。UniverSeg学习如何利用指定分割任务的标记示例的输入集,在一个前向过程中分割新的生物医学图像。

fig2

  • 图2:从一个unseen数据集推断新任务的工作流程。给定一项新任务,在进行预测之前,需要对传统模型(左)进行训练。UniverSeg(右)采用了一个单一的训练模型,该模型可以通过几个标记的例子作为输入(support set)来预测新任务中的图像(query),而无需额外的微调。

方法

方法框架

fig3

  • 图3:UniverSeg网络(左)以query图像和一组support set的图像和label(在通道维度上成对concat)作为输入。CrossBlock(右)将query u u u 和support集 V = { v i } V=\left\{v_i\right\} V={vi}作为输入,并将 u u u与每个support 样本 v i v_i vi交互以产生 u ′ u' u V ′ V' V

t t t为由一组图像-标签对组成的分割任务 { ( x i t , y i t ) } i = 1 N \left\{(x_{i}^{t},y_{i}^{t})\right\}_{i=1}^{N} {(xit,yit)}i=1N。常用的分割策略学习参数函数 y ^ = f θ t ( x ) \widehat{y}=f_{\theta}^{t}(x) y =fθt(x),通常, f θ t f_{\theta}^{t} fθt只对分割任务 t t t学习。相反,现在要学习一个通用函数(universal function) y ^ = f θ ( x t , S t ) \widehat{y}=f_{\theta}(x^{t},S^{t}) y =fθ(xt,St),利用task-specifying support set S t = { ( x i t , y i t ) } i = 1 n S^{t}=\left\{(x_{i}^{t},y_{i}^{t})\right\}_{i=1}^{n} St={(xit,yit)}i=1n,预测任务 t t t下的label map。

作者使用图3所示的全卷积神经网络来实现 f θ f_θ fθ。下面首先介绍了所提出的cross-convolution层和CrossBlock模块。然后,指定如何将这些块组合成一个完整的分割网络。

对于CrossBlock,为了在support集和query图像之间传递信息,作者引入了一个交叉卷积层,该层将query的特征图 u u u与support集的特征图 V = { v i } i = 1 n V=\left\{v_{i}\right\}_{i=1}^{n} V={vi}i=1n交互: C r o s s C o n v ( u , V ; θ z ) = { z i } i = 1 n z i = C o n v ( u ∣ ∣ v i ; θ z ) CrossConv(u,V;\theta_{z})=\left\{z_{i}\right\}_{i=1}^{n}\\z_{i}=Conv(u||v_{i};\theta_{z}) CrossConv(u,V;θz)={zi}i=1nzi=Conv(u∣∣vi;θz)其中, ∣ ∣ || ∣∣表示concat, C o n v Conv Conv是参数为 θ z \theta_{z} θz的卷积网络。由于 θ z θ_z θz的权重重用,交叉卷积运算相对于 V V V是置换不变的。从这一层开始,作者设计了一个更高级别的块,该块在网络中的每一步都生成查询表示 u u u和support V V V的更新版本: C r o s s B l o c k ( u , V ; θ z , θ v ) = ( u ′ , V ′ ) z i = A ( C r o s s C o n v ( u , v i ; θ z ) ) u ′ = 1 n ∑ i = 1 n z i v i ′ = A ( C o n v ( z i ; θ v ) ) CrossBlock(u,V;\theta_{z},\theta_{v})=(u',V')\\z_{i}=A(CrossConv(u,v_{i};\theta_{z}))\\u'=\frac{1}{n}\sum_{i=1}^{n}z_{i}\\v_{i}'=A(Conv(z_{i};\theta_{v})) CrossBlock(u,V;θz,θv)=(u,V)zi=A(CrossConv(u,vi;θz))u=n1i=1nzivi=A(Conv(zi;θv))其中, A ( x ) A(x) A(x)是一个非线性激活层。这种策略使每个support集的样本和query的表示能够通过其平均表示进行交互,并有助于可变大小的support集。

对于网络,为了跨空间尺度整合信息,作者在具有残差连接的编码-解码结构中组合CrossBlock,如图3。

训练

算法1描述了使用大量变化的训练任务集 T T T和损失 L L L对UniverSeg训练。 L ( θ ; T ) = E t ∈ T E ( x t , y t ) , S t [ L s e g ( f θ ( x t , S t ) , y t ) ] L(\theta;T)=E_{t\in T}E_{(x^{t},y^{t}),S^{t}}[L_{seg}(f_{\theta}(x^{t},S^{t}),y^{t})] L(θ;T)=EtTE(xt,yt),St[Lseg(fθ(xt,St),yt)]其中, x t ∉ S t x^{t}\notin S^{t} xt/St L s e g L_{seg} Lseg为交叉熵或Dice,用于学习预测的 y ^ \widehat{y} y 和GT y t y^{t} yt的一致性。
fig5

  • 算法1

作者使用数据增强来增加训练任务的多样性,并增加属于任何特定任务的有效训练示例的数量:

  • 对于task-specify的增强,记为In-Task Augmentation A u g t ( x , y ) Aug_{t}(x,y) Augt(x,y),为了减少对individual subject的过拟合,可以独立地执行标准的数据增强操作,如仿射变换、向查询图像和support集的每个样本添加图像噪声。
  • 另一个是Task Augmentation A u g T ( x , y , S ) Aug_{T}(x,y,S) AugT(x,y,S)。与减少对训练示例的过拟合的标准数据增强类似,在训练task上增强有助于推广到新任务,尤其是那些远离训练任务分布的任务。作者引入了任务增强,使用相同类型的task-changing transformation来修改所有查询和support图像和所有分割图的更改。示例任务增强包括分割图的边缘检测或对所有图像和标签的水平翻转。

fig4

  • 图4:应用于WBC数据集的增强操作示例。上图可视化了几个在训练中应用的任务增强例子。

数据集

为了训练通用模型,作者使用了一组庞大而多样的分割任务,以便它能够推广到新的任务。作者汇聚整合得到MegaMedical,一个广泛的开放访问医学分割数据集,具有不同的解剖结构、成像模态和标签。它由53个数据集构成,包括26个医学领域和16种成像模态。作者对原始数据集、处理后的图像和标签等各种格式的数据进行标准化。还使用合成分割任务扩展训练数据,以进一步增加训练任务的多样性。

MegaMedical拥有广泛的生物医学领域,如眼睛,肺,脊椎,白细胞,腹部和大脑等。来源的每个数据集的采集细节、受试者年龄范围和健康状况都不同。虽然MegaMedical中的数据集具有各种成像任务和标签协议,但在这项工作中,作者专注于2D二元分割的一般问题。对于以3D数据为特征的数据集,对于每个受试者,可以沿着主轴提取2D中间切片。当存在多个模态时,则将每个模态作为一个新任务。对于包含多个分割标签的数据集,创建与可用标签一样多的二元分割任务。所有图像的大小调整为128×128像素,强度标准化为[0,1]范围。

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

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

相关文章

交互式数据分析和处理新方法:pandas-ai =Pandas + ChatGPT

Python Pandas是一个为Python编程提供数据操作和分析功能的开源工具包。这个库已经成为数据科学家和分析师的必备工具。它提供了一种有效的方法来管理结构化数据(Series和DataFrame)。 在人工智能领域,Pandas经常用于机器学习和深度学习过程的预处理步骤。Pandas通…

windows下Ubuntu保姆级安装教程 [附VMware资源]

windows下Ubuntu保姆级安装教程 [附VMware资源] 前言1. VMware安装2. Ubuntu镜像下载3.创建新的虚拟机开启虚拟机 前言 一直在用Linux开发板,都忘记自己的新电脑没装虚拟机了。 这期我们来学习Windows环境下VMware安装Ubuntu虚拟机,以便后续学习Linux。…

「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构和CQRS的整合

这篇文章是软件架构编年史的一部分,一系列关于软件架构的文章。在这些文章中,我写了我对软件架构的了解,我如何看待它,以及我如何使用这些知识。如果您阅读了本系列以前的文章,那么本文的内容可能更有意义。 今天的帖子…

Java基础(十六)泛型

1. 泛型概述 1.1 生活中的例子 举例1:中药店,每个抽屉外面贴着标签 举例2:超市购物架上很多瓶子,每个瓶子装的是什么,有标签 举例3:家庭厨房中: Java中的泛型,就类似于上述场景中的…

聚观早报|五一假期机票均价超1200元;苹果自动驾驶测试减员超25%

今日要闻:五一假期国内机票均价超1200元;谷歌、微软、OpenAI等将讨论AI问题;苹果自动驾驶测试司机团队减员超25%;“五一”最热十大景区出炉;李想辟谣理想汽车砸钱雇媒体营销 五一假期国内机票均价超1200元 5 月 3 日…

DGIOT智慧农业案例分享

场景说明 农业-农业大棚智能监测场景 背景 在农业大棚中,引入物联网技术,实现温室种植的高效和精准化的管理。物联网技术可以应用到温室生产的不同阶段,把不同阶段植物的表现和环境因子进行分析,反馈到下一轮的生产中。实现精准…

JVM原理之详解现代垃圾回收器 Shenandoah 和 ZGC

Shenandoah Shenandoah 一词来自于印第安语,十九世纪四十年代有一首著名的航海歌曲在水手中广为流传,讲述一位年轻富商爱上印第安酋长 Shenandoah 的女儿的故事。 后来美国有一条位于 Virginia 州西部的小河以此命名,所以 Shenandoah 的中文译…

【图像分割】【深度学习】SAM官方Pytorch代码-各模块的功能解析

【图像分割】【深度学习】SAM官方Pytorch代码-各功能模块解析 Segment Anything:建立了迄今为止最大的分割数据集,在1100万张图像上有超过1亿个掩码,模型的设计和训练是灵活的,其重要的特点是Zero-shot(零样本迁移性)转移到新的图…

mysql数据库高级操作

文章目录 一、克隆表1.方法一2.方法二 二、清空表,删除表内所有数据1.方法一2.方法二3.drop、truncate、delete对比 三、创建临时表四、用户管理五、忘记root密码的解决措施六、用户授权总结 一、克隆表 1.方法一 ​create table 新表名 like 复制的表名; ​ ​复…

如何应用PreMaint预测性维护助力企业节能减排

随着全球能源资源的日益减少和环境的变化,各行各业都在积极探索节能降耗的方法,以减少能源消耗和环境污染。而在工厂生产过程中,设备的稳定运行是节能降耗的关键。设备健康管理软件在这方面的应用,对于提高工厂的节能降耗效果具有…

NSSCTF之Misc篇刷题记录⑧

NSSCTF之Misc篇刷题记录 [MMACTF 2015]welcome[虎符CTF 2022]Plain Text[SWPUCTF 2021 新生赛]原来你也玩原神[SWPUCTF 2021 新生赛]我flag呢? NSSCTF平台:https://www.nssctf.cn/ PS:记得所有的flag都改为NSSCTF [MMACTF 2015]welcome NSS…

MySQL MVCC 机制

什么是mvcc mvcc(多版本并发控制),作用在于可无锁实现隔离级别中的“可重复读” 提高数据库关于事务处理上的性能问题,其中"多版本" 指的是 UndoLog 链中的多个事务,“控制” 指的是我当前应当读取那个事务id对应的数据…

「STC8A8K64D4开发板」——外部中断(INT0~INT4)

第2-4讲:外部中断(INT0~INT4) 学习目的学习中断的相关概念。掌握外部中断配置及中断优先级配置的程序设计。掌握中断服务程序的编写。 中断相关概念 什么是中断 中断系统是为使 CPU 具有对外界紧急事件的实时处理能力而设置的。 CPU在处理某一事件A时&#xff0c…

面试题30天打卡-day19

1、TCP 和 UDP 协议有什么区别,分别适用于什么场景? TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常用的传输层协议,两者的区别比较如下: TCPUDP可靠性…

数据库初认识之MySQL

关系型数据库 数据结构 二维表格 库 -> 表 -> 列(字段):用来描述对象的一个属性 行(记录):用来描述一个对象的信息 Mysql(5.7/8.0) …

2023百度强引百度蜘蛛方法(百度蜘蛛秒引工具)

当谈到SEO时,关键字是最基本的元素之一。使用正确的关键字可以帮助您的网站在搜索引擎结果页面(SERP)中排名更高。在本篇文章中,我们将重点介绍2023年百度强引百度蜘蛛方法和百度蜘蛛秒引工具,并提供一些有用的SEO技巧…

比特米盒子刷安卓ATV6.0

最近海鲜市场有很多比特米盒子,50多块包邮,买来的盒子回来折腾下,买回来发现一直卡在“系统启动"中无法进入,不知道原来的是啥系统,看来只能找找线刷的办法,重新拯救救个这盒子。 原文链接地址&#x…

windows 下配置ssh 秘钥到souretree进行使用

一、准备工作 1、安装好git 客户端 并配置好环境变量 下载后,按照向导一步一步进行操作即可,具体步骤这里就不再进行说明。 注意:配置环境变量。 2、准备生成好SSH 秘钥文件 (默认文件名:id_rsa.rsa) &a…

【Ubuntu18.04使用yolov5教程】

欢迎大家阅读2345VOR的博客【Ubuntu18.04使用yolov5教程】🥳🥳🥳2345VOR鹏鹏主页: 已获得CSDN《嵌入式领域优质创作者》称号👻👻👻,座右铭:脚踏实地,仰望星空…

[LeetCode周赛复盘] 第 343 场周赛20230430

[LeetCode周赛复盘] 第 343 场周赛20230430 一、本周周赛总结2660. 保龄球游戏的获胜者1. 题目描述2. 思路分析3. 代码实现 2661. 找出叠涂元素1. 题目描述2. 思路分析3. 代码实现 2662. 前往目标的最小代价1. 题目描述2. 思路分析3. 代码实现 2663. 字典序最小的美丽字符串1.…