周报(20240204)

日期:2024.1.29 - 2024.2.4

本周工作:

1. 阅读论文

本周主要对这篇文献进行了阅读:
《用可学习的跳跃连接缩小U-Net中的语义差距:以医学图像分割为例》
在这里插入图片描述

背景

医学图像分割和随后对目标对象的定量评估为疾病诊断和治疗规划提供了有价值的信息。最近的语义分割方法通常依赖于类UNet的编码器-解码器架构,其中编码器产生高级语义特征,解码器逐渐对这些隐藏特征进行上采样,以产生具有每像素概率的分割图。大多数最先进的医学图像分割方法都采用编码器-解码器架构。然而,这种U形框架在通过简单的跳跃连接捕获非局部多尺度信息方面仍然存在局限性。为了解决这个问题,首先探讨了U-Net中跳跃连接在多个分割任务上的潜在弱点,得出了两条发现,然后基于他们的发现提出了一个新的分割框架,命名为UDTransNet,以解决U-Net中的三个语义缺口。

主要内容

  1. 跳跃连接的分析:研究发现,并非所有的跳跃连接对分割性能都有正面贡献。在不同的数据集上,某些跳跃连接可能对性能产生负面影响,这意味着需要更加定制化的跳跃连接实现方法。

  2. UDTransNet框架:为了解决这些问题,作者们提出了一种新的框架,命名为UDTransNet。这个框架包含两个关键模块:双注意力变换器(Dual Attention Transformer, DAT)和解码器引导的校准注意力(Decoder-guided Recalibration Attention, DRA)模块。这些模块主要关注于捕获编码器特征的通道和空间关系,以及融合编解码器阶段语义不兼容的特征。

  3. 双注意力变换器(DAT):DAT旨在通过利用变换器模型全局上下文的能力,融合编码器多个阶段的特征。它包括多尺度特征嵌入、通道融合注意力(Channel-wise Fusion Attention, CFA)、空间选择注意力(Spatial-wise Selection Attention, SSA)和多层感知器(MLPs),目的是学习跨尺度的有意义的表示。

  4. 解码器引导的校准注意力(DRA):这个模块旨在有效地连接DAT令牌和解码器特征,消除不一致性,有效地解决编码器和解码器之间的语义差距。

  5. 全面的评估:论文提供了全面的实验结果,显示其提出的UDTransNet模型在各种公共数据集上与其他最先进的分割方法相比,获得了更高的评估分数和更精细的分割结果,同时参数相对较少。

方法

UDTransNet整体框架

在这里插入图片描述

多尺度特征嵌入( Multi-scale Feature Embedding)

为了使多个阶段的补丁能够集中在原始图像 X ∈ {\mathbf{X} \in} X R H × W {\mathbb{R}^{H \times W}} RH×W中的相应区域,

  1. 首先通过将不同尺度的特征 E i ∈ R H 2 i − 1 × W 2 i − 1 × C i , ( i = 1 , 2 , 3 , 4 ) {\mathbf{E}_{i} \in \mathbb{R}^{\frac{H}{2^{i-1}} \times \frac{W}{2^{i-1}} \times C_{i}},(i=1,2,3,4}) EiR2i1H×2i1W×Ci,(i=1,2,3,4)重塑为补丁大小为 P , P 2 , P 4 , P 8 {P, \frac{P}{2}, \frac{P}{4}, \frac{P}{8}} P,2P,4P,8P的标记序列来进行标记化,通道尺寸全部更改为C=128。

  2. 然后,我们将四个尺度的令牌序列 T i ∈ R C × d , d = H W P 2 T_i∈R^{C×d},d=\frac{HW}{P^2} TiRC×d,d=P2HW
    通过通道轴作为key和value T Σ = c o n c a t c ( [ T 1 , T 2 , T 3 , T 4 ] ) , T Σ ∈ R C σ × d T_{\varSigma}=concat_c\left( \left[ T_1,T_2,T_3,T_4 \right] \right) ,T_{\varSigma}∈R^{C_{\sigma}×d} TΣ=concatc([T1,T2,T3,T4]),TΣRCσ×d
    其中 C σ = 4 C C_{\sigma}=4C Cσ=4C

通道融合注意力(CFA)

不同的通道包含特定尺度的语义特征,因此自适应地融合这些特征有利于复杂的医学图像分割任务。为了融合来自不同阶段的多尺度信息,我们提出了CFA子模块,这是一种沿着特征图的通道轴的通道注意操作,它允许编码器学习通道之间的关系并捕获全局语义依赖关系。该过程如下图所示:
在这里插入图片描述
从数学上讲,我们在线性层之后获得一个查询、值和键,如公式1所示:

Q = T Σ W Q , K = T Σ W V , V = T Σ W V          ( 1 ) Q=T_{\varSigma}W_Q,K=T_{\varSigma}W_V,V=T_{\varSigma}W_V\ \ \ \ \ \ \ \ \left( 1 \right) Q=TΣWQ,K=TΣWV,V=TΣWV        (1)

其中,WQ,WK,WV∈RCσ×d是变换权重,d是序列长度(片数),Cσ是全尺度的信道维数(在我们的方法中,Cσ=4C)。当Q,K,V∈RCσ×d时,产生信道相似矩阵Mc∈RC∑×Cσ,并且值V由Mc

M c V T = σ [ ψ ( Q T K ) ] V T                  ( 2 ) M^cV^T=\sigma \left[ \psi \left( Q^TK \right) \right] V^T\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 2 \right) McVT=σ[ψ(QTK)]VT                (2)

其中ψ(·)和σ(·)表示实例归一化和softmax函数。与原始的自注意不同,CFA沿着通道轴而不是patchaxis操作自注意,然后我们利用实例归一化来归一化相似矩阵,以平滑地传播梯度。

空间选择注意力(SSA)

在这里插入图片描述

CFA的输出被拆分为T Plot 1、T Plot 2、T Plot3、T Plot4,并沿着补片轴重新连接T Plot∑=凹点([Plot T1,Të2,T Plot 3,T vx 4]),在我们的方法中,将Të∑∈RC×dσ用作SSA的密钥和值,dσ=4d。在CFA之后,来自所有尺度的令牌序列都包含全局上下文信息和一致的语义信息(见图2)。我们进一步提出了SSA子模块来学习跨多个尺度的斑块之间的空间相关性。给定来自所有编码阶段的标记,我们将来自特定规模的标记视为查询,以从空间角度突出重要的空间区域。它允许我们的模型通过利用多尺度的空间相关性来捕捉每个尺度和全尺度信息之间的空间相关性。
更具体地说,SSA具有五个输入,包括作为查询的四个令牌序列Tëi和作为密钥和值的级联令牌序列Plot T∑:

Q i = T i ∧ W Q , K i = T i ∧ W K , V i = T i ∧ W V          ( 3 ) Q_i=\overset{\land}{T_i}W_Q,K_i=\overset{\land}{T_i}W_K,V_i=\overset{\land}{T_i}W_V\ \ \ \ \ \ \ \ \left( 3 \right) Qi=TiWQ,Ki=TiWK,Vi=TiWV        (3)
其中WQi∈RC×d,WK,WV∈RC x dσ是不同输入的权重。三个特征表示被划分为NH个不同的子空间,例如,Qi=[Q1 i,Q2 i,…,QNH i]。在Qh i∈RC NH×d和Kh,Vh∈RC NH3×dσ的情况下,计算空间相似矩阵Msi,并通过交叉注意(CA)机制由Msi加权Vh中的每个标记:

Θ i h = M i s V h = σ [ ψ ( Q i h K h T ) ] V h   ∈   R C N h × d   ( 4 ) \varTheta _{i}^{h}=M_{i}^{s}V^h=\sigma \left[ \psi \left( Q_{i}^{h}K^{hT} \right) \right] V^h\ ∈\ R^{\frac{C}{N_h}×d}\ \left( 4 \right) Θih=MisVh=σ[ψ(QihKhT)]Vh  RNhC×d (4)
然后将子空间的输出级联以产生最终输出 O i S S A   =   c o n c a t ( [ Θ i 1 , Θ i 2 , . . . , Θ i N H ] ) , ∈   R C × d O_{i}^{SSA}\ =\ concat\left( \left[ \varTheta _{i}^{1},\varTheta _{i}^{2},...,\varTheta _{i}^{N_H} \right] \right) ,∈\ R^{C×d} OiSSA = concat([Θi1,Θi2,...,ΘiNH]), RC×d
第i个尺度的SSA过程如图6所示。

多层感知机(MLPs)

在SSA之后,开发了具有残差结构的MLP,以对信道依赖性进行编码,从而从SSA中细化特征。每个MLP的输出如下所示:

O i = O i S S A + M L P ( Q i + Q i S S A )               ( 5 ) O_i=O_{i}^{SSA}+MLP\left( Q_i+Q_{i}^{SSA} \right) \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 5 \right) Oi=OiSSA+MLP(Qi+QiSSA)             (5)

为了简单起见,方程中省略了层归一化。将等式(1)-(6)中的操作重复NL次,以构建NL层变换器。在我们的实现中,NH和NL都设置为4。第NL层的输出O1、O2、O3和O4然后被传送到下面的DRA模块中。

解码器引导的Transformer重新校准注意力模块(DRA)

解码器部分旨在根据从编码器级学习的特征来生成分割图。然而,在以往的研究中,解码器的重要性一直被忽视。如何融合通过跳过连接从编码器传输的特征对于增强解码器特征至关重要。如图6所示,2,DAT-Oi的输出和上采样特征Di之间存在语义间隙,这不可避免地阻碍了DAT和U-Net解码器的特征的直接级联。因此,为了缓解在融合这两个不兼容的特征集时的差异,我们提出了DRA模块来利用解码器特征来指导DAT获得的增强特征的信道信息过滤,并消除不一致性。因此,DRA模块可以被认为是自动融合不兼容特征的特征校准器。它可以很容易地应用于任何存在语义差距的场景。
在数学上,我们将第i级DAT输出Oi∈RC×d和第i级解码器特征图Di∈RC x H×W作为输入。然后,Di进一步转换为令牌序列TDi作为查询,Oi作为密钥和值:

Q i = T D i W Q i , K = O i W K , V = O i W V            ( 6 ) Q_i=T_{D_i}W_{Q_i},K=O_iW_K,V=O_iW_V\ \ \ \ \ \ \ \ \ \ \left( 6 \right) Qi=TDiWQi,K=OiWK,V=OiWV          (6)

其中WQi∈RC×d,WK,WV∈RC x dσ是不同输入的权重。因此,在Qi∈RC×d的指导下,通过交叉注意重新校准K,V∈RC?d:其中M~i是按信道的相似性矩阵。

M i   V = σ [ ψ ( Q i T K ) ] V T                         ( 7 ) \overset{~}{M_i}V=\sigma \left[ \psi \left( Q_{i}^{T}K \right) \right] V^T\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 7 \right) Mi V=σ[ψ(QiTK)]VT                       (7)

最后,DRA的输出,Plot O1,O Plot 2,通过上采样操作和随后的卷积层来重构,并与解码器特征D1、D2、…连接,Di。DRA的这种设计可以通过适当地融合编码器特征来在解码过程中保留纹理细节。然后使用上采样层和两个卷积层将顶层特征D1转换为K类预测掩码P∈RH×W×K。

KaTeX parse error: Expected '}', got 'EOF' at end of input: …t) \right] V^T

总之,我们的UDTransNet以三种不同的方式使用基于矩阵乘法的注意力:

  • CFA:查询、键和值来自编码器中四个尺度的级联特征。
  • SSA:查询来自编码器中的每个刻度特征,键和值来自跨刻度的CFA输出。
  • DRA:查询来自解码器特征,而密钥和值都来自SSA子模块获得的多尺度融合特征。

实验

我们选择了五个公共数据集来评估我们提出的模型,包括两个小规模数据集(GlaS和MoNuSeg)和三个大规模数据集(Synapse、ISIC2018和ACDC)。

数据集:Synapse

在这里插入图片描述

数据集GlaS、MoNuSeg、COVID-19

在这里插入图片描述

数据集ISIC2018

在这里插入图片描述

数据集ACDC

在这里插入图片描述

消融研究

所提出模块的消融

在这里插入图片描述

所提出模块顺序的消融

在这里插入图片描述

对不同注意力模式的消融

在这里插入图片描述

结论

医学图像的精确和自动分割是临床诊断和分析的关键步骤。然而,关于将注意力机制纳入跳跃连接的研究相对较少。在这项工作中,我们通过探索编码器-解码器级之间连接的信道和空间关注机制,提出了一种基于变换器的分割框架(UDTransNet),用于精确的医学图像分割。通过结合多尺度双注意力转换器(DAT)和解码器引导的重新校准注意力(DRA)的优势,该方法在多个医学图像分割任务上取得了最先进的结果,包括腹部器官分割、皮肤损伤分割和腺核分割。通过彻底的比较和深入的分析,我们验证了UDTransNet中每个组件的有效性,它成功地缩小了语义差距,并融合了具有不同注意力机制的多尺度特征。我们的结果为注意力机制在分割任务中增强跳跃连接的重要性提供了新的线索。我们还获得了一些关于通道和空间注意的可解释性的有趣发现,这是未来研究的重要研究课题。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在Vue中如何动态绑定class和style属性

在Vue中,动态绑定class和style属性是我们经常遇到的需求。这个功能允许我们根据不同的条件来动态改变元素的样式,让我们的应用更加灵活和富有交互性。在本篇博客文章中,我将带你深入探索在Vue中如何实现这一功能。 首先,让我们了…

c++中使用ifstream对文件按照行间隔或者符号间隔来读取

简单的文本存取与读取在的程序中是比较常见的,一般为了读取的时候便于区分数据,我们常常会用空格或者空行来隔开数据字段,所以对于读取文件的操作我们肯定会有些具体的需求比如按照行读取或者按照词来读取(或者说是以空格来间隔数…

函数调用栈是什么

今天在力扣leetbook上看《图解算法数据结构》中的空间复杂度这一小节,看到如下这句话: “程序调用函数是基于栈实现的,函数在调用期间,占用常量大小的栈帧空间,直至返回后释放。” 这句话的意思是,在程序中…

SQL必知必会笔记(13~16章)

第十三章 创建高级联结 1、别名:缩短SQL语句,允许在一条Select语句中多次使用相同的表 SELECT A.Name, A.Maths, A.English FROM transcript AS A INNER JOIN student_id As B ON A.Name B.Name; 2、Oracle数据库中没有AS关键字,直接在表名或…

【计算机学院寒假社会实践】——服务走进社区,共绘幸福蓝图

为深入贯彻落实志愿者服务精神,扎实推进志愿者服务质量,2024年1月28日,曲阜师范大学计算机学院“青年扎根基层,服务走进社区”社会实践队队员周兴睿在孙宇老师的指导下,来到山东省滨州市陈集街道社区开展了为期一天的“…

Unity_ShaderGraph节点问题

Unity_ShaderGraph节点问题 Unity版本:Unity2023.1.19 为什么在Unity2023.1.19的Shader Graph中找不见PBR Master节点? 以下这个PBR Maste从何而来?

MQ,RabbitMQ,SpringAMQP的原理与实操

MQ 同步通信 异步通信 事件驱动优势: 服务解耦 性能提升,吞吐量提高 服务没有强依赖,不担心级联失败问题 流量消峰 ​ 小结: 大多情况对时效性要求较高,所有大多数时间用同步。而如果不需要对方的结果,且吞吐…

Zookeeper相关面试准备问题

Zookeeper介绍 Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生了变化,Zookeeper就负责通知已经在Zoo…

SpringAOP+SpringBoot事务管理

项目搭建SpringAOPSpringBoot中管理事务AOP案例实战-日志记录日志系统 一、项目搭建 第一步:构建项目 第二步:导入依赖 第三步:配置信息 自动配置(项目自动生成的启动类) /*** 启动类:申明当前类是一个…

模拟被观察物体的位置和方向

开发环境: Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example demo解决问题:模拟被观察物体的位置和方向,以帮助用户理解相机在观察特定对象时的位置和朝向。vtkCameraOrientationWidget 模拟的是被观察…

Redis核心技术与实战【学习笔记】 - 17.Redis 缓存异常:缓存雪崩、击穿、穿透

概述 Redis 的缓存异常问题,除了数据不一致问题外,还会面临其他三个问题,分别是缓存雪崩、缓存击穿、缓存穿透。这三个问题,一旦发生,会导致大量的请求积压到数据库。若并发量很大,就会导致数据库宕机或故…

九州金榜|如何做好家庭教育

孩子的家庭教育是每个家庭都要做的,也是每个家长面临的事情,同样不同的家庭教育教育出来的孩子性格也各不相同,有时候家长看别别人家的孩子品学兼优非常羡慕,很多家长会把问题归结到孩子身上,其实有没有想过是家庭教育…

C++之函数重载,默认参数,bool类型,inline函数,异常安全

函数重载 在实际开发中,有时候需要实现几个功能类似的函数,只是细节有所不同。如交换两个变量的值,但这两种变量可以有多种类型,short, int, float等。在C语言中,必须要设计出不同名的函数,其原型类似于&am…

【新书推荐】6.2节 段寄存器

在16位汇编语言的源程序中,我们将源程序按照不同的功能和作用划分为若干个逻辑段,如数据段用来存储数据,代码段用来存储代码,堆栈段用来保存临时数据,附加段用来拷贝数据。我们可以把汇编语言的源程序抽象地理解为数据…

TCP与UDP:传输层协议的差异与选择

在计算机网络中,传输控制协议(TCP)和用户数据报协议(UDP)是两种常用的传输层协议。然而,随着互联网的快速发展,传统的TCP和UDP在某些场景下存在一些限制。为了解决这些问题,出现了新…

如何使用VS Code编写小游戏并实现公网游玩本地游戏【内网穿透】

文章目录 前言1. 编写MENJA小游戏2. 安装cpolar内网穿透3. 配置MENJA小游戏公网访问地址4. 实现公网访问MENJA小游戏5. 固定MENJA小游戏公网地址 前言 本篇教程,我们将通过VS Code实现远程开发MENJA小游戏,并通过cpolar内网穿透发布到公网,分…

No matching client found for package name ‘com.unity3d.player‘

2024年2月5日更新 必须使用Unity方式接入Unity项目!一句话解决所有问题。(真的别玩Android方式) 大致这问题出现原因是我在Unity采用了Android方式接入Firebase,而Android接入实际上和Unity接入方式有配置上的不一样,我…

爬虫工作量由小到大的思维转变---<第四十五章 Scrapyd 关于gerapy遇到问题>

前言: 本章主要是解决一些gerapy遇到的问题,会持续更新这篇! 正文: 问题1: 1400 - build.py - gerapy.server.core.build - 78 - build - error occurred (1, [E:\\项目文件名\\venv\\Scripts\\python.exe, setup.py, clean, -a, bdist_uberegg, -d, C:\\Users\\Administrat…

链表经典算法(+OJ刷题)

文章目录 前言一、移除链表元素二、链表的中间节点三.反转链表四.合并两个有序链表五.分割链表六.环形链表的约瑟夫问题总结 创作不易,点赞收藏一下呗!!! 前言 在上一节,我们介绍了单链表的增,删&#xff…

机器学习基础、数学统计学概念、模型基础技术名词及相关代码个人举例

1.机器学习基础 (1)机器学习概述 机器学习是一种人工智能(AI)的分支,通过使用统计学和计算机科学的技术,使计算机能够从数据中学习并自动改进性能,而无需进行明确的编程。它涉及构建和训练机器…
最新文章