基于Transformer的U型医学图像分割网络综述

news2025/1/20 1:58:29

基于Transformer的U型医学图像分割网络综述

论文来自 计算机应用 2023

摘 要:目前,医学图像分割模型广泛采用基于全卷积网络(FCN)的U型网络(U-Net)作为骨干网,但卷积神经网络(CNN)在捕捉长距离依赖能力上的劣势限制了分割模型性能的进一步提升。针对上述问题,研究者们将Transformer应用到医学图像分割模型中以弥补CNN的不足,结合Transformer和U型结构的分割网络成为研究热点之一。在详细介绍U-Net和Transformer之后,按医学图像分割模型中Transformer模块所处的位置,包括仅在编码器或解码器、同时在编码器和解码器、作为过渡连接和其他位置进行分类,讨论各模型的基本内容、设计理念以及可改进的地方,并分析了 Transformer处于不同位置的优缺点。根据分析结果可知,决定 Transformer所在位置的最大因素是目标分割任务的特点,而且 Transformer结合 U-Net的分割模型能更好地利用 CNN 和 Transformer各自的优势,提高模型的分割性能,具有较大的发展前景和研究价值。

Transformer
Vaswani等首次提出 Transformer,因其独特的设计赋予了 Transformer 能处理不定长输入、捕捉长距离依赖和序列到序列(seq2seq)任务的特性Transformer 主要包含解码器和编码器,每个编码器包括位置编码、多头注意力机制、层正则化(Layer Normalization,LN)、前馈神经网络(Feed Forward Network, FFN)和跳跃连接,而解码器除在输入层增加了一个掩码多头注意力机制以外,其余部分与编码器相同。Transformer结构如下图所示。
在这里插入图片描述主要模块

好的,下面是 Transformer 模型中的关键组件和公式:

  1. 位置编码(Positional Encoding):

    位置编码的作用是为输入序列中的每个位置添加一个表示其位置的向量。这是因为 Transformer 不考虑序列的顺序信息,而位置编码能够为模型提供关于词语在序列中相对位置的信息。

    具体位置编码的公式为:

    P E ( p o s , 2 i ) = sin ⁡ ( p o s 1000 0 2 i / d model ) PE(pos, 2i) = \sin\left(\frac{{pos}}{{10000^{2i/d_{\text{model}}}}}\right) PE(pos,2i)=sin(100002i/dmodelpos)
    P E ( p o s , 2 i + 1 ) = cos ⁡ ( p o s 1000 0 2 i / d model ) PE(pos, 2i + 1) = \cos\left(\frac{{pos}}{{10000^{2i/d_{\text{model}}}}}\right) PE(pos,2i+1)=cos(100002i/dmodelpos)

    其中 p o s pos pos 是位置, i i i是维度, d model d_{\text{model}} dmodel是模型的维度。

  2. 自注意力机制(Scaled Dot-Product Attention):

    给定一个查询向量 Q Q Q、一个键向量 K K K 和一个数值向量 V V V,自注意力机制计算加权和,其中权重由查询和键之间的相似度确定:
    Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{{QK^T}}{{\sqrt{d_k}}}\right) V Attention(Q,K,V)=softmax(dk QKT)V

    其中 d k d_k dk 是键向量的维度。

  3. 多头注意力(Multi-Head Attention):

    多头注意力通过并行运行多个自注意力机制,并将它们的输出连接在一起。这可以学习多个不同的表示空间,有助于模型更全面地捕捉序列信息。
    MultiHead ( Q , K , V ) = Concat ( head 1 , … , head h ) W O \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W_O MultiHead(Q,K,V)=Concat(head1,,headh)WO

    其中 head i = Attention ( Q W Q i , K W K i , V W V i ) \text{head}_i = \text{Attention}(QW_{Qi}, KW_{Ki}, VW_{Vi}) headi=Attention(QWQi,KWKi,VWVi) W Q i W_{Qi} WQi W K i W_{Ki} WKi W V i W_{Vi} WVi W O W_O WO是权重矩阵。

  4. 前馈神经网络(Feedforward Neural Network):

    前馈神经网络由两个线性变换和一个激活函数组成:
    FFN ( x ) = max ⁡ ( 0 , x W 1 + b 1 ) W 2 + b 2 \text{FFN}(x) = \max(0, xW_1 + b_1)W_2 + b_2 FFN(x)=max(0,xW1+b1)W2+b2

    其中 W 1 W_1 W1 b 1 b_1 b1 W 2 W_2 W2 b 2 b_2 b2 是权重矩阵和偏置。

  5. 残差连接和层归一化(Residual Connections and Layer Normalization):

    在每个子层(如自注意力、前馈神经网络)的输出上应用残差连接和层归一化:

LayerNorm ( x + Sublayer ( x ) ) \text{LayerNorm}(x + \text{Sublayer}(x)) LayerNorm(x+Sublayer(x))

残差连接使梯度更容易流过网络,层归一化有助于稳定训练。

以上是 Transformer 模型中的一些关键组件和公式。这些公式提供了模型如何计算自注意力、前馈神经网络等操作的具体细节。请注意,这里给出的是一般形式,实际应用中可能会有一些变种或调整。

Swin Transformer 是一种基于 Transformer 架构的深度学习模型,特别适用于计算机视觉任务。它采用了一种新颖的层次化的窗口注意力机制,以及分层的、分组的感受野设计,以更好地处理图像的全局和局部信息。Swin Transformer 的名称"Swin"即来源于"窗口注意力"(Window Attention)的缩写。

Swin Transformer 的一些关键特点:

  1. 层次化窗口注意力(Hierarchical Window Attention):
    Swin Transformer 引入了层次化的窗口注意力机制,将输入图像分割成多个窗口,每个窗口进行自注意力计算。然后通过窗口间的交互来获取全局信息。这种窗口化的设计使得模型能够更有效地处理大尺寸图像。
  2. 分层感受野(Hierarchical Receptive Field):
    Swin Transformer 通过堆叠不同层次的块,每个块内使用局部的窗口注意力,实现对多尺度信息的建模。这种分层的感受野设计使得模型能够同时捕捉图像的全局和局部结构。
  3. 小型窗口的计算效率:
    为了降低计算复杂度,Swin Transformer 使用了小型的窗口,从而减小了窗口注意力的计算量。这使得 Swin Transformer 能够在处理大图像时保持较低的计算开销。
  4. 深度和宽度:
    Swin Transformer 通过堆叠多个Swin Block,增加深度,并通过分组卷积实现较大的宽度。这种结构增加了模型的表示能力。
    Swin Transformer 的窗口注意力机制和感受野设计使得它在处理大尺寸图像时能够取得较好的性能,尤其在计算机视觉领域的任务中表现出色,比如图像分类、目标检测等。

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

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

相关文章

十三、FreeRTOS之FreeRTOS时间管理

本节主要介绍以下内容: 1,延时函数介绍(了解) 2,延时函数解析(熟悉) 3,延时函数演示实验(掌握) 4,课堂总结(掌握) 一、…

【Transformer论文精读系列】(一)如何理解Transformer里的注意力机制?

论文:Attention Is All You Need 参考李沐老师的讲解视频: Transformer论文逐段精读【论文精读】_哔哩哔哩_bilibili 其他参考: 超强动画,一步一步深入浅出解释Transformer原理!_哔哩哔哩_bilibili Transformer论文逐段…

2023年【A特种设备相关管理(锅炉压力容器压力管道)】考试内容及A特种设备相关管理(锅炉压力容器压力管道)复审考试

题库来源:安全生产模拟考试一点通公众号小程序 A特种设备相关管理(锅炉压力容器压力管道)考试内容根据新A特种设备相关管理(锅炉压力容器压力管道)考试大纲要求,安全生产模拟考试一点通将A特种设备相关管理…

1970-2022年中国省级国家级开发区数据集

1970-2022年Z国省级国家级开发区数据集 1、时间:1970-2022年 2、指标:单位名称、所属区域、所属省份、所属级别、开发区类型、关注热度、成立时间、核准面积、主导产业、地址、联系电话、经纬度 3、范围:2781个开发区 4、来源&#xff1a…

机器学习---朴素贝叶斯分类器的实现(对文本进行侮辱性言论和非侮辱性言论的分类)

1. loadDataSet函数 import numpy as np# 构造loadDataSet函数用于生成实验样本 def loadDataSet(): postingList[[my, dog, has, flea, problems, help, please],[maybe, not, take, him, to, dog, park, stupid],[my, dalmation, is, so, cute, I, love, him],[stop, postin…

2005-2021年地级市绿色发展注意力数据(根据政府报告文本词频统计)

2005-2021年地级市绿色发展注意力数据(根据政府报告文本词频统计) 1、时间:2005-2021年 2、指标:省、市、年份、一级指标、关键词、关键词词频、总词频 3、范围:270个地级市 4、来源:地级市政府工作报告…

卡通渲染总结《二》

关于技术的方面,一方面就是其轮廓边缘检测: 主要的方法可以被分为基于图片空间和对象空间,对象空间比图片空间会多一些立体坐标位置的信息。 轮廓类型分类 首先我们顶一下轮廓是什么,从一个视角看去如果一条边相邻的两个面其恰…

python自动化测试之破解滑动验证码

在Web自动化测试的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证码的验证。 一般的情况下遇到验证码我们可以都可以找开发去帮忙解决,关闭验证码,或者给一个万能的验证码! 那么如果开发不提供帮助的话&…

金蝶云星空单据编辑界面,不允许批量填充操作

文章目录 金蝶云星空单据编辑界面,不允许批量填充操作案例演示开发设计测试 金蝶云星空单据编辑界面,不允许批量填充操作 案例演示 售后单,明细信息单据体,物料编码字段禁止批量填充。 开发设计 编写表单插件,在Be…

【C++】POCO学习总结(九):网络

【C】郭老二博文之:C目录 1、Poco::Net::IPAddress IP地址 Poco::Net::IPAddress类存储IPv4或IPv6主机地址。 Poco::Net::IPAddress可以从字符串解析,也可以格式化为字符串。支持IPv4格式(d.d.d.d)和IPv6格式(x: x: x: x: x: x: x: x)。 常用函数&…

行业内卷严重到什么程度了?

一.内卷现状 最近大家都吐槽找工作难,确实很难。 不得不说,现在找工作的难度是以前的很多倍。甚至可以说地狱级都不为过。 以前只要简历一挂到网上,就有很多电话打过来。特别是在一线城市,各种类型企业的HR都来找,希…

《opencv实用探索·十》opencv双边滤波的简单理解

1、引言 OpenCV中的双边滤波(Bilateral Filtering)是一种保持边缘清晰的滤波方法,它考虑像素的空间关系和像素值之间的差异。双边滤波对于去除噪声的同时保持图像的边缘非常有效,它也是一种非线性滤波。 双边滤波采用了两个高斯滤…

获取网络ppt资源

背景: ​ 某度上有很多优质的PPT资源和文档资源,但是大多数需要付费才能获取。对于一些经济有限的用户来说,这无疑是个遗憾,因为我们更倾向于以免费的方式获取所需资源。 解决方案: ​ 然而,幸运的是&am…

vivado如何进行增量编译

情况1 如果是根据 placement 或者 routing 进行增量编译,直接右键点击要跑的 implement,,选择set incremental implement , 然后选第二项,指定 要参考的 routing.dcp 或者 placement.dcp 的路径即可 情况2 如果只参考 synthesis …

西工大计算机学院计算机系统基础实验一(环境配置)

首先,不要焦虑,稳住心态慢慢来,一点一点做,跟着作者把基础打好,比什么都重要。作者曾经经历过这份痛苦,知道它有多么不好受。当初的作者高中之前甚至都没有自己的一台笔记本,上了大学以后学C语言…

设计模式:装饰者模式

目录 一、定义 二、场景 三、例子 四、优缺点 优点: 缺点: 一、定义 在不改变已有对象结构的情况下,动态添加新的功能到对象上,是继承的一种替代方案。属于结构型模式。 二、场景 1.扩展一个类的功能,添加附加职责…

Python如何传递任意数量的实参及什么是返回值

Python如何传递任意数量的实参 传递任意数量的实参 形参前加一个 * ,Python会创建一个已形参为名的空元组,将所有收到的值都放到这个元组中: def make_pizza(*toppings):print("\nMaking a pizza with the following toppings: "…

【部署】预处理和后处理加速方案:CVCuda

预处理 和 后处理加速方案大概可以包括以下几种 (1)nvidia开源的CVCuda (2)使用opencv4的cuda加速模块 (3)手写cuda算子 这一章我们先从CVCuda开始 一.基本要求 1.1 何时可以使用CVcuda库 在模型的 预…

SpringBoot_02

Web后端开发_07 SpringBoot_02 SpringBoot原理 1.配置优先级 1.1配置 SpringBoot中支持三种格式的配置文件: application.propertiesapplication.ymlapplication.yaml properties、yaml、yml三种配置文件,优先级最高的是properties 配置文件优先级…

【前端开发】每一位高级Web工程师都应该掌握的10个Web API!

Photo by Hisu lee on Unsplash JavaScript中的某些API的使用率可能相对较低。下面我们将逐一介绍它们的使用和使用场景。 Blob API Blob API用于处理二进制数据,可以轻松地将数据转换为Blob对象或从Blob对象读取数据。 // Create a Blob object const myBlob …