【医学图像】图像分割系列.4

news2024/11/26 10:41:29

介绍几篇使用Transformer结构做医学图像分割的论文:CASTformer(NeuralPS2022),PHNet(arXiv2023)。

Class-Aware Adversarial Transformers for Medical Image Segmentation, NeuralPS2022

解读:NeuraIPS 2022 | 最新类别感知对抗Transformer分割网络CASTformer - 掘金 (juejin.cn)

NeurIPS 2022 | 用于医学图像分割的生成对抗Transformer模型 - 知乎 (zhihu.com)

论文:https://arxiv.org/abs/2201.10737

https://openreview.net/pdf?id=aqLugNVQqRw

代码:未找到

背景介绍: Transformer在医学图像分析领域的建模长距离依赖方面取得了明显进步。

现存问题: 当前基于transformer的模型具有几个缺点:(1)由于naive tokens方案,导致现有方法无法捕获重要特征; (2)模型遭受信息丢失的影响,因为它们仅考虑单尺度特征表示; (3)由于没有考虑丰富的语义环境和解剖学上下文,模型生成的分割图还不够准确。

解决方法: 论文提出CASTformer,一种新型的生成对抗transformer,用于2D医疗图像分割。首先,利用金字塔结构来构建多尺度表示并处理多尺度变化。然后,设计了一种新颖的多尺度transformer模块,以更好地学习具有语义结构的对象区域。最后,采用了一种对抗性训练策略,该策略提高了分割精度,并相应地允许基于transformer的判别器捕获高级语义特征和低级解剖学特征。

CASTformer网络: 

CASTformer是基于生成对抗方式训练的,包含一个生成器Generator和一个判别器Discriminator。其中,Generator 是一个基于 Transformer 网络的标准 Encoder-Decoder 架构,包含四个组件:①编码器(特征提取器)模块;②类感知Transformer模块;③Transformer编码器模块;④解码器模块。其中,生成器G共包含四个阶段和四个并行子网,所有阶段共享一个相似的架构,其中包含补丁嵌入层、类感知层以及多个 Transformer 编码器层。

编码器模块。采用CNN-Transformer混合模型设计。这样的设置提供了两个优点:(1)使用卷积主干有助于transformer在下游视觉任务中表现更好;(2)它提供了具有多分辨率特征图,以帮助提高更好的表示。通过这种方式,可以为transformer构造特征金字塔,并利用多尺度特征图用于下游医疗分割任务。借助不同分辨率的特征图,能够对多分辨率的空间局部上下文进行建模。

分层特征表示。深度学习中,浅层特征注重空间细节,高层特征注重语义信息。考虑分层式的特征表示架构,可以获取不同层级所需的上下文。

类感知的transformer模块

图2:(a)类感知变压器模块和(b)变压器网络的示意图。我们的类感知转换器模块对有判别力的位置进行迭代采样。在规则间隔的位置初始化一组点。在每一步,给定特征图Fi,通过将其与上一步的估计偏移相加来迭代更新其采样位置。请注意,为了清楚地展示,只显示了4点,实际实现中还有更多的点。

类感知的transformer模块(CAT)旨在适应物体的有用区域(例如,基本的解剖特征和结构信息)。CAT模块具有以下特点:(1)使用4个独立的transformer编码器模块(TEM),将在下面介绍;(3)将M个 CAT模块合并到多尺度表示上,以允许解剖特征的上下文信息传播到表示中。

类感知的transformer模块属于一种迭代优化过程,其原理如下:

  1. 获取 token 序列 I_{M,1},其中(n×n) 和 M 是每个特征图上的样本数和总迭代次数;
  2. 对于给定的给定特征图F_1,通过将它们与最后一步的估计偏移向量相加来迭代更新其采样位置;
  3. 采用双线性插值获取最终的采样特征;

最后,再同中间特征一同作为 Transfomer 模块的输入,输出结构化特征序列。

Transformer 编码器模块(TEM).旨在通过从输入图像块嵌入的完整序列中聚合全局上下文信息来对远程上下文信息进行建模。在具体的实现中,Transformer 编码器模块遵循原始 ViT 中的架构,由多头自注意力(MSA)和多层感知机(MLP)块组成。

解码器模块。旨在基于不同分辨率的四个输出特征图生成分割掩码。在实施中,结合了轻量级的全MLP解码器,而这样简单的设计能够更有效地产生强大的表示。解码器包括以下设置:1)多尺度特征的通道维度通过MLP层统一;3)利用MLP层融合串联特征,然后从融合特征中预测多类别分割掩码Y'。

判别网络。将在ImageNet上的预训练R50+VIT-B/16混合模型作为判别器设计的初始化,在这种情况下,使用预训练的策略来有效地学习有限的尺寸目标任务数据。然后,只需应用两层多层感知器(MLP)就可以预测类感知图像的真假。

判别器试图在真实样本和假样本之间进行分类,GeneratorDiscrimitor 通过试图达到 minimax 博弈的平衡点来相互竞争。使用这种结构使鉴别器能够对远距离上下文依赖性进行建模,从而更好地评估医学图像的保真度,这也从本质上赋予了模型对解剖视觉模态(分类特征)的更全面的理解。

损失函数。主要包含两部分,生成器部分是一个标准的医学图像分割网络,同样的也应用了 CE + Dice 损失的组合方式。对抗训练则应用了 WGAN-GP loss

BCE loss 主要问题是会受到样本不均衡的影响;而 Dice loss 比较适用于样本极度不均的情况,但是在一般的情况下,使用 Dice 损失会对反向传播造成不利的影响,反而容易使训练变得不稳定。因此,通常都会结合两者一起使用。

实验:

A Permutable Hybrid Network for Volumetric Medical Image Segmentation, arXiv2023

解读:2023 港科大医学图像分割新作 | PHNet: 当MLP与CNN巧妙结合会擦出什么火花? - 知乎 (zhihu.com)

论文:https://arxiv.org/abs/2303.13111

代码:未找到

近年来,VIT(Vision Transformer)在3D医学图像分割中取得了实质性进展,多层感知器MLP(Multi-Layer Perceptron)网络由于其与VIT具有相当性的结果而重新受到研究人员的青睐。本文提出了一种用于3D医学图像分割的混合网络PHNet,它利用了卷积神经网络CNNMLP的优点,通过利用2D和3D CNN提取局部信息,解决了3D volume 数据内在的各向同性问题;此外,本文还提出了一种高效的多层置换感知器模块MLPP,它通过保留位置信息来增强原始的MLP,并获得长程距离依赖。 

Transformer的使用取得显著的效果,但计算代价太大, MLP也可以实现特征间的信息交流,以捕获输入数据中的长远距离依赖。然而,MLP在3D医学图像分割方面的有效性仍然缺乏研究。

本文将CNNMLP相结合,提出了一种新的混合网络PHNet,以实现准确的3D医学图像分割。PHNet采用编码器-解码器结构,其中编码器利用2.5D CNN结构,可以利用医学图像固有的等向性,并通过捕获不同方向上体积医学图像的变化信息密度来避免浅层损失信息。论文进一步提出了MLPP,一种可以在计算效率高的情况下保持位置信息并集成全局相互依赖性的多层排列感知器模块。为了提高计算效率,引入了令牌token组操作,可以高效地在令牌级别上聚合特征映射,从而减少所需的计算量。本文首次提出将CNNMLP进行结合,并应用于3D医学图像分割。

PHNet架构:

PHNet总体思路:采用编码器-解码器架构,编码器由两个主要组件组成:2.5D卷积模块和多层置换感知器(MLPP)模块。2.5D卷积阶段提取局部特征,输出的特征图传递给MLPP模块以学习全局特征。解码器对分层特征进行处理以进行最终预测。

2.5D Convolution:

本文通过引入卷积层来提取局部特征,3D体积图像如CT和MRI扫描常常由于其厚切片扫描而受到各向异性问题的影响,导致高面内IP分辨率和低面外TP分辨率,这种差异在COVID-19-20中特别明显,其IP分辨率平均为0.74mm,而TP分辨率仅为5mm。为了解决这一问题,本文使用2D卷积块来捕获IP信息,直到特征在三个轴面(横断、冠状和矢状)上形成近似均匀的分辨率,然后使用3D卷积块来处理体素信息。每个编码器层由两个残差卷积块组成,每个块包括两个顺序的Conv-IN-ReLU操作。

Multi-Layer Permute Perceptron (MLPP)

尽管卷积神经网络(CNN)通过深层堆叠卷积层能够建模长距离依赖关系,但研究表明:基于多层感知器MLP的网络在学习全局上下文方面更有效。 因此本文设计了MLPP模块用以提取深层的全局信息。MLPP模块按顺序分解平面内IP特征和垂直方向TP特征的训练。作者分别将这两个块称为IP-MLPTP-MLP。为了实现跨轴令牌之间的通信,作者还在IP-MLP中提出了一个辅助注意力分支,称为AA-MLP

IP-MLP:常见MLP方法将输入特征图直接展平成一维向量,会导致卷积特征中的空间信息丢失。为解决这个问题,作者提出一种称为轴向分解的方法,在水平轴、垂直轴和通道轴上分别对输入特征进行单独处理,从而在编码某个轴向信息时保留其他轴向的精确位置信息。

 AA-MLP:提出的IP-MLP模块有两个限制,可能会损害分割性能。首先,轴向分解截断了不在相同水平或垂直位置的令牌之间的直接交互。其次,与vanilla MLP相比,令牌分割操作的局部接收字段较小。为了解决这些限制,作者设计了一个辅助分支,以实现轴内令牌通信,并通过轻量级但有效的类MLP架构充当注意力函数。

 TP-MLP:通过IP-MLP获取了平面内的信息后,使用TP-MLP来捕捉长期的沿平面垂直方向的特征。

Decoder:

本文的解码器采用纯CNN架构,使用转置卷积逐渐上采样特征映射以匹配输入图像分辨率。在上采样过程之后,使用残差卷积块来细化特征映射。为了进一步提高分割准确性,作者在编码器和解码器之间包括跳跃连接,允许保留low-level的细节信息。

实验:

(a)不同结构组合的性能比较,包括在浅层和深层使用 Conv、Attention 和 MLP 的不同组合。在浅层使用 Conv 和在深层使用 MLP 的组合可以获得最佳性能,这与作者的论点相符,即 Conv 擅长提取局部特征,而 MLP 更有效地模拟长程依赖。

(b)比较不同 MLP 设计的性能,包括 MLP-Mixer(M),ShiftMLP(S) 和 WaveMLP(W)。

(c)不同分段长度 L 对性能的影响。将分段长度设置为宽度(W)的不同比例,即 1、1/2、1/3 和 1/4。这有利于不同大小的感兴趣区域(ROI)。当 L = 1/2 W 时,性能最佳。

(d) MLP 层数的影响。在 MLP 层数为 2 时,性能最佳。

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

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

相关文章

37. C++ 基于范围的for循环、指针空值——nullptr(c++11新特性)

目录 1.基于范围的for循环语法如下: 2.一些编程中的实例 3.指针空值——nullptr c11标准下的NULL和nullptr 今天进行了新的学习,基于范围的for循环。基于范围的 for 循环(Range-based for loop)是 C11 引入的一种循环结构…

机器学习 监督学习 Week3

Logistic Regression 一个用于分类的算法,模型拟合后,以某些值作为阈值,将数据区分为不同的类别。过去的回归算法中,y的值可以范围很广,而在分类算法中y代表类别,往往只有几个,甚至只有两个(tru…

物联网HMI的关键驱动力—SCADA级功能库和控件库

一、前言 在这个数字化时代,物联网HMI已成为连接人与设备之间的关键纽带,为用户提供直观、智能的交互体验,背后强大的关键驱动力扮演着至关重要的角色,其中SCADA级功能库和控件库的引入成为了物联网HMI设计和开发的核心要素。 S…

论文参考文献怎么引用|Word引用多篇参考文献|word参考文献连续引用|参考文献连续编号|交叉引用

一、参考文献准备 首先将参考文献在段落设置模型中进行编号,通过“交叉引用”对“参考文献”编号引用,以“[x-y]”引用格式实现连续多个文献引用。以实现以[1-3]交叉引用格式来引用[1][2][3] 三个连续参考文献为例说明本方法。 二、参考文献连续编号[…

Redis数据类型之列表List

Redis数据类型之列表List list中的命令如下: lpush:从左边插入,插入的数据是倒叙 LPUSH key value1 [value2] 将一个或多个值插入到列表头部 lpush k1 a b c d e f ; 输出结果 f e d c b a lpop k1; 输出 f 从左边pop弹出时先弹出的是f&…

ESD监控系统、防静电闸机的应用案例

ESD监控系统和防静电闸机是在电子厂、医药厂、半导体厂、航空航天等领域广泛应用的静电措施,可以有效地保护生产线上的产品安全,提高产品质量和可靠性。 近日一家电子元器件公司在其生产线上安装了防静电监控系统、ESD防静电闸机,用于控制人员…

Vue之基本使用

一、前端的发展史 1.HTML(5)、CSS(3)、JavaScript(ES5、ES6):编写一个个的页面 -> 给后端(PHP、Python、Go、Java) -> 后端嵌入模板语法 -> 后端渲染完数据 -> 返回数据给前端 -> 在浏览器中查看 2.Ajax的出现 -> 后台发送异步请求,…

今天是六一儿童节~身为我们班的信息担当的我为我们班同学准备了一个小惊喜,你确定不来看看吗(turtle库实现:送给同学们一朵小红花)

目录 一.实现思路 二.花朵的实现方法 三.花朵的茎实现方法 四.画出第一片叶子的方法 五.画出第二片叶子的方法 六.如何设置页面主体 结尾 今天呢,也是一年一度的六一儿童节(虽然各位大佬可能不过,但是我还是要过的)&#xf…

JMeter性能测试零基础完整入门版,视频教程加源码免费看

目录 1. Jmeter简介 2. Jmeter安装 2.1 JDK安装 2.2 JMeter安装 3. 测试实例 3.2 请求参数 3.3 返回结果 4. JMeter脚本编写 4.1 添加线程组 4.2 添加HTTP请求 4.3 添加察看结果树 4.4 添加用户自定义变量 4.5 添加断言 4.6 添加断言结果 4.7 添加聚合报告 5. 执…

Spring Boot如何实现微服务架构中的API网关?

Spring Boot如何实现微服务架构中的API网关? 随着微服务架构的流行,越来越多的企业开始构建自己的微服务系统。在这种情况下,API网关变得尤为重要。API网关是微服务架构中的一个组件,它可以帮助我们管理和路由所有的API请求。Spr…

【LeetCode热题100】打卡第10天:删除链表倒数第N个节点

文章目录 删除链表倒数第N个节点⛅前言🔒题目🔑题解 删除链表倒数第N个节点 ⛅前言 大家好,我是知识汲取者,欢迎来到我的LeetCode热题100刷题专栏! 精选 100 道力扣(LeetCode)上最热门的题目&a…

8. 何为ECC

非对称加密 在我们认知里面,通常说到非对称加密,就会弹出2个词,RSA和ECC,做过对称加密的都非常清楚,RSA其实就是模指运算。用公钥来加密,私钥来解密;私钥签名,公钥验签。但是提到EC…

【数据结构】链表 linked list

一、什么是链表 零散的内存空间存储,由元素和指针组成 二、常用操作 1.原理 access:通过next指针遍历 时间复杂度:O(N) search:通过next指针遍历 时间复杂度:O(N) insert:找个新的内存空间存储新元素…

学习HCIP的day.10

十、对BGP一些情况的总结: 1、路由条目不优特殊情况: 在BGP协议中,存在一种无法优秀的路由条目;假设R4路由表中存在一条非BGP产生的到达5.5.5.5的路由条目,且该条目用于R4与R5建立BGP邻居关系;那么之后R5…

【Linux网络】搭建LNMP架构

搭建LNMP架构 一、编译安装MySQL服务二、安装Nginx服务三、安装配置PHP解析环境四、部署Discuz社区论坛Web应用五、部署博客论坛应用六fpm进程优化 一、编译安装MySQL服务 1.安装MySQL环境依赖包 yum -y install gcc gcc-c ncurses ncurses-devel bison cmake2、创建运行用户 u…

地震勘探基础(三)之地震波的时距曲线

时距曲线 在反射波地震勘探中,一般是在地面激发地面接收,激发点到接受点的距离称为炮间距(offset),用 x x x表示。如果炮间距为0,称为自激自收。 单道接收:激发一次只在一个位置上接收地震波。…

在线ps网页版推荐,让你摆脱安装包的烦恼

在设计领域,Photoshop的地位多年来一直是不可动摇的,其强大的功能可以毫不夸张地说:只有你想不到的,没有PS做不到的。但强大如PS,也有自己的小局限性:处理矢量图相对较弱,更难掌握。今天&#x…

微信小程序——监听页面滑动(一)onPageScroll

微信小程序——手把手教你学会监听页面滑动 知识回调(不懂就看这儿!)场景复现核心干货如何进行页面监听了解onPageScroll实际使用onPageScroll 知识回调(不懂就看这儿!) 知识专栏专栏链接微信小程序专栏ht…

栈和队列高频面试题(必刷): 用队列实现栈 用栈实现队列 实现循环队列 括号匹配

文章目录 用队列实现栈用栈实现队列实现循环队列括号匹配 用队列实现栈 题目描述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通队列的全部四种操作(push、top、pop 和 empty)。 实现 MySt…

新项目 使用 IDEA 搭建后端环境 及 搭建是可能遇到的 问题 及解决方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 新项目 使用 IDEA 搭建后端环境 及 搭建是可能遇到的 问题 及解决方法 前言 提示:这里可以添加本文要记录的大概内容: 新项目 使用 IDEA 搭建后端环…