5.23.9 TransUNet:Transformers 为医学图像分割提供强大的编码器

news2024/7/6 19:37:42

TransUNet,它兼具 Transformers 和 U-Net 的优点,作为医学图像分割的强大替代方案。一方面,Transformer 对来自卷积神经网络 (CNN) 特征图的标记化图像块进行编码,作为用于提取全局上下文的输入序列。另一方面,解码器对编码特征进行上采样,然后将其与高分辨率 CNN 特征图相结合以实现精确定位。

1. 介绍

U-Net 由对称的编码器-解码器网络组成,具有跳跃连接以增强细节保留,已成为事实上的选择。基于这种方法,在广泛的医学应用中取得了巨大的成功,例如磁共振(MR)的心脏分割、计算机断层扫描(CT)的器官分割和息肉从结肠镜检查视频中分割。

与之前基于 CNN 的方法不同,Transformers 不仅在建模全局上下文方面功能强大,而且在大规模预训练下也表现出了对下游任务的卓越可迁移性。

Transformer 将输入视为一维序列,并专门专注于对所有阶段的全局上下文进行建模,因此导致低分辨率特征缺乏详细的本地化信息。并且该信息无法通过直接上采样到全分辨率来有效恢复,因此会导致粗分割结果。另一方面,CNN 架构(例如 U-Net )提供了一种提取低级视觉线索的途径,可以很好地弥补这种精细的空间细节。

1.1 TransUNet

该框架从序列到序列预测的角度建立了自注意力机制。为了弥补Transformers带来的特征分辨率损失,TransUNet采用了混合CNN-Transformer架构,既利用了来自CNN特征的详细高分辨率空间信息,也利用了Transformers编码的全局上下文。

Transformers编码的自注意力特征随后被上采样,与编码路径中跳过的不同高分辨率CNN特征相结合,以实现精确定位。与以前基于CNN的自注意力方法相比,我们基于Transformer的架构提供了一种更好的利用自注意力的方法。此外,我们观察到,更深入地结合低级特征通常会带来更好的分割精度。

2. 相关工作

2.1 将 CNN 与自注意力机制相结合

尝试通过基于特征图对所有像素的全局交互进行建模,将自注意力机制集成到 CNN 中。基于编码器-解码器 u 形架构,提出了集成到跳跃连接中的附加注意门模块。与这些方法不同的是,我们使用 Transformer 将全局自注意力嵌入到方法中。

2.2 Transformers

Vision Transformer (ViT) 通过直接将具有全局自注意力的 Transformer 应用于全尺寸图像,实现了 ImageNet 分类的最先进技术。

3. 方法

给定图像 \mathbf{x}\in\mathbb{R}^{H\times W\times C},空间分辨率为 H × W,通道数为 C。目标是预测相应的大小为 H × W 的像素级标签图。最常见的方法是直接训练 CNN(例如 UNet),首先将图像编码为高级特征表示,然后将其解码回全空间分辨率。

与现有方法不同,提出的方法通过使用 Transformer 将自注意力机制引入编码器设计中。

3.1 Transformer 作为编码器

图像序列化

我们首先通过将输入 x 重塑为一系列扁平化的 2D 补丁 \mathbf{x}_{p}^{i}\in\mathbb{R}^{P^2\cdot C}|i=1,...,N 来执行标记化; 其中每个补丁的大小为 P\times PN=\frac{HW}{P^2} 是图像补丁的数量(即输入序列长度)。

补丁嵌入

使用可训练的线性投影将矢量化补丁 x_p 映射到潜在的 D 维嵌入空间。为了对补丁空间信息进行编码,我们学习特定位置嵌入,将其添加到补丁嵌入中以保留位置信息。

 \mathbf{z}_{0}=[\mathbf{x}_{p}^{1}\mathbf{E}; \mathbf{x}_{p}^{2}\mathbf{E};\cdots; \mathbf{x}_{p}^{N}\mathbf{E}]+\mathbf{E}_{pos}

其中 \mathbf{E}\in\mathbb{R}^{(P^{2}\cdot C)\times D} 是块嵌入投影,\mathbf{E}_{pos}\in\mathbb{R}^{N\times D} 表示位置嵌入。

Transformer 编码器由 L 层多头自注意力 (MSA) 和多层感知器 (MLP) 块组成。因此第 \ell 层的输出可以写成如下:

\mathbf{z}_{\ell}^{\prime}=\mathrm{MSA}(\mathrm{LN}(\mathbf{z}_{\ell-1}))+\mathbf{z}_{\ell-1}

\mathbf{z}_{\ell}=\mathrm{MLP}(\mathrm{LN}(\mathbf{z}_{\ell}^{\prime}))+\mathbf{z}_{\ell}^{\prime} 

 其中 LN(·) 表示层归一化算子,\mathbf{z}_L 是编码图像表示。

3.2 TransUNet

出于分割目的,直观的解决方案是简单地将编码特征表示 \mathbf{z}_{L}\in\mathbb{R}^{\frac{HW}{P^{2}}\times D} 上采样到全分辨率,以预测密集输出。为了恢复空间顺序,编码特征的大小首先应从 \frac{HW}{P^{2}} 到 \frac{H}{P}\times\frac{W}{P} 。使用 1 × 1 卷积将重构特征的通道大小减少到类数,然后将特征图直接双线性上采样到全分辨率 H × W 以预测最终的分割结果。

因为 \frac{H}{P}\times\frac{W}{P} 通常远小于原始图像分辨率 H \times W,因此不可避免地会导致低级细节的丢失(例如器官的形状和边界)。为了补偿这种信息损失,TransUNet 采用混合 CNN-Transformer 架构作为编码器以及级联上采样器来实现精确定位。

CNN-Transformer 混合作为编码器

TransUNet 采用 CNN-Transformer 混合模型,其中 CNN 首先用作特征提取器,为输入生成特征图。补丁嵌入应用于从 CNN 提取的特征图而不是原始图像中提取的 1 × 1 补丁。

1) 它允许我们在解码路径中利用中间高分辨率 CNN 特征图;

2)我们发现混合 CNN-Transformer 编码器比简单使用纯 Transformer 作为编码器表现更好。

级联上采样器

级联上采样器(CUP),它由多个上采样步骤组成,用于解码隐藏特征以输出最终的分割掩模。将隐藏特征 \mathbf{z}_{L}\in\mathbb{R}^{\frac{HW}{P^{2}}\times D} 的序列重塑为 \frac{H}{P}\times\frac{W}{P}\times D 的形状后,通过级联多个上采样块来实例化 CUP,以达到从 \frac{H}{P}\times\frac{W}{P}H \times W 的全分辨率,其中每个块依次由2×上采样算子、3×3卷积层、ReLU层组成。CUP 与混合编码器一起形成了一个 u 形架构,可以通过跳跃连接实现不同分辨率级别的特征聚合。

4. 实验与讨论

4.2 实验细节

输入分辨率和块大小P设置为224×224和16。因此,我们需要在 CUP 中连续级联 4 个 2× 上采样块才能达到全分辨率。模型使用 SGD 优化器进行训练,学习率为 0.01,动量为 0.9,权重衰减为 1e-4。 

以逐片方式推断所有 3D 体积,并将预测的 2D 切片堆叠在一起以重建 3D 预测以进行评估。

4.5 可视化

  1. 纯基于 CNN 的方法 U-Net 和 AttnUNet 更容易对器官进行过度分割或分割不足(例如,在第二行中,脾脏被 AttnUNet 过度分割,而被 UNet 分割不足)
  2. 与其他方法相比,我们的 TransUNet 预测的假阳性更少,这表明 TransUNet 在抑制那些噪声预测方面比其他方法更有利。
  3. 与基于 Transformer 的模型进行比较,我们可以观察到,R50-ViT-CUP 在边界和形状方面的预测往往比 TransUNet 的预测更粗糙。
  4. TransUNet 能够进行更精细的分割并保留详细的形状信息。原因是 TransUNet 享有高级全局上下文信息和低级细节的优势。

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

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

相关文章

git分支常用命令

最近在用git提交代码的时候&#xff0c;发现有些命令不是很会&#xff0c;先记录几个常用分支命令&#xff0c;后续再补充&#xff0c;在执行git push命令提交代码的时候遇到报错&#xff0c;一并记录下。 1.git常用命令 新建分支&#xff1a; git branch <分支名称> 比…

Internet动态路由选择—RIP与OSPF

刚做完网络层动态路由选择的实验&#xff0c;写下此篇记录实验过程&#xff0c;巩固学习成果。 参考书目&#xff1a;《计算机网络》北京理工大学出版社-刘阳老师编 路由选择可分为两种策略&#xff1a; - 静态路由选择策略 - 动态路由选择策略 静态路由即管理员手动配置路由…

Python3 笔记:IDLE的几个基本设置

1、设置字体&#xff1a; Options > Configure IDLE > Fonts 2、设置文字颜色&#xff08;设置高亮&#xff09;&#xff1a; Options > Configure IDLE > Highlights 3、设置背景颜色&#xff1a; Options > Configure IDLE > Highlights 4、设置窗口&a…

Centos7环境下MySQL5.7.38 安装开源审计插件 mysql-audit

MySQL安装开源审计插件 mysql-audit MySQL 5.7.38安装审计插件 mysql-audit安装MySQL1.查看Linux服务器版本和glibc版本2.根据自己的系统下载对应的MySQL版本&#xff0c;由于mysql-audit并不支持所有版本的MySQL&#xff0c;所以在确定MySQL版本之前请注意下插件支持的MySQL版…

hcip—VLAN实验

目录 实验拓扑&#xff1a; 实验目的&#xff1a; 实验思路&#xff1a; 实验步骤&#xff1a; 1.创建VLAN 2.将接口放进相应VLAN当中&#xff0c;并配置接口类型&#xff08;hybrid口配置撕tag表&#xff09; 3.配置路由器接口 4.配置DHCP服务 pc1 ping pc4的过程分析…

在Spring Boot项目中通过自定义注解实现多数据源以及主备数据库切换

在现代的企业应用开发中&#xff0c;使用多数据源是一个常见的需求。尤其在关键应用中&#xff0c;设置主备数据库可以提高系统的可靠性和可用性。在这篇博客中&#xff0c;我将展示如何在Spring Boot项目中通过自定义注解实现多数据源以及主备数据库切换。 在此说明&#xff…

VSCODE gcc运行多个.c文件

一、简介 很多时候&#xff0c;开发者需要使用VSCODE进行C语言算法验证。而VSCODE的gcc编译&#xff0c;默认是只编译本文件的内容&#xff0c;其他.c文件是不参与编译的。这就给开发者带来很大的困扰&#xff0c;因为开发者不可能把所有的算法都写在一个.c文件&#xff0c;特别…

arXiv AI 综述列表(2024.05.20~2024.05.24)

公众号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 每周末更新&#xff0c;完整版进群获取。 Q 群在群文件&#xff0c;VX 群每周末更新。 目录 1. Beyond Traditional Single Object Tracking: A …

在洁净实验室设计装修中怎么选择合适实验室家具?

在现代科学研究和技术开发中&#xff0c;洁净实验室装修设计成为了确保实验准确性和安全性的重要因素。洁净实验室需要提供一个无尘、无菌、受控的环境&#xff0c;而在洁净实验室装修设计这个过程中&#xff0c;如何选择合适的实验室家具就显得尤为重要&#xff0c;因为它直接…

【NumPy】NumPy实战入门:索引与切片(sort、argsort、searchsorted)详解

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

【静态分析】在springboot使用太阿(Tai-e)03

参考&#xff1a;使用太阿&#xff08;Tai-e&#xff09;进行静态代码安全分析&#xff08;spring-boot篇三&#xff09; - 先知社区 1. JavaApi 提取 1.1 分析 预期是提取controller提供的对外API&#xff0c;例如下图中的/sqli/jdbc/vuln 先看一下如何用tai-e去获取router…

AI+BI?国内期待值最高的4款智能问答类BI产品测评

AI大模型的这股风终是吹到了数据分析圈。与传统BI相比&#xff0c;问答BI进一步降低了数据获取门槛&#xff0c;通过对话的方式就可以访问数据并得出相应结论&#xff0c;更方便业务人员快速上手分析数据&#xff01; 问答BI&#xff08;Q&A BI&#xff09;在数据分析领域…

平板如何实现无纸化会议

为了实现高效的无纸化会议&#xff0c;连通宝可以是在内部网络部署&#xff0c;那么&#xff0c;平板如何实现无纸化会议&#xff1f; 1. 服务器配置&#xff1a; 部署专用无纸化会议系统服务器&#xff08;如rhub无纸化会议服务器&#xff09;至组织的内部网络中。确保该服务…

18.SpringCloud Gateway

简介 SpringCloud Gateway是spingcloud家族的产品&#xff0c;使用netty实现的高性能服务网关&#xff0c;用于替换netflix公司的zuul网关实现。 参考地址&#xff1a; https://spring.io/projects/spring-cloud 术语 工作原理 Route Predicate Factories GatewayFilte…

LeetCode刷题之HOT100之多数元素

2024/5/21 起床走到阳台&#xff0c;外面绵柔细雨&#xff0c;手探出去&#xff0c;似乎感受不到。刚到实验室&#xff0c;窗外声音放大&#xff0c;雨大了。昨天的两题任务中断了&#xff0c;由于下雨加晚上有课。这样似乎也好&#xff0c;不让我有一种被强迫的感觉&#xff0…

张量 t-product 积(matlab代码)

参考文献&#xff1a;Tensor Robust Principal Component Analysis with a New Tensor Nuclear Norm 首先是文章2.3节中 t-product 的定义&#xff1a; 块循环矩阵&#xff1a; 参考知乎博主的例子及代码&#xff1a;&#xff08;t-product与t-QR分解&#xff0c;另一篇傅里叶对…

Springboot 多环境切换 方法

准备工作 假设系统中有以下几个yml文件&#xff1a; application.ymlapplication-dev.ymlapplication-prode.ymlapplication-test.yml 方法一&#xff1a;在Active Profiles:输入dev 启动效果&#xff1a; 方法二&#xff1a;在Environment variables: 输入spring.profile…

外汇天眼:风险预警!以下平台监管牌照被撤销!

监管信息早知道&#xff01;外汇天眼将每周定期公布监管牌照状态发生变化的交易商&#xff0c;以供投资者参考&#xff0c;规避投资风险。如果平台天眼评分过高&#xff0c;建议投资者谨慎选择&#xff0c;因为在外汇天眼评分高不代表平台没问题&#xff01; 以下是监管牌照发生…

【简单介绍下7-Zip,什么是7-Zip?】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

ThingsBoard如何拆分前后端分离启动

后端启动 前端启动 注意事项 ThingsBoard是一个开源的物联网平台&#xff0c;它原本的设计就考虑到了现代Web应用的前后端分离架构。尽管其核心是一个后端服务&#xff0c;负责设备连接、数据处理和存储等&#xff0c;但其用户界面是作为单独的前端应用程序实现的&#xff0c…