绵阳网站建设 经开区/襄阳百度开户
ExSwin-Unet
- 摘要
- 1 引言
- 2 方法
- 2.1 基于窗口的注意力块
- 2.2 外部注意力块
- 2.3 不平衡的 Unet 架构
- 2.4 自适应加权调整
- 2.5 双重损失函数
- 3 实验结果
- 3.1 数据集
- 3.2 实现细节
- 3.3 与 SOTA 方法的比较
- 3.4 消融研究
- 4 讨论和限制
- 5 结论

数据集来源: https://feta.grand-challenge.org/
摘要
准确的胎儿大脑MRI图像分割对于胎儿疾病的诊断和治疗至关重要。然而手动分割费力、耗时且容易出错,但自动分割是一项具有挑战性的任务,因为:
- 患者大脑结构的形状和大小存在差异,
- 先天性疾病引起的细微变化,
- 脑的复杂解剖结构。
我们提出了一种配备了新的 ExSwin 转换器块的新型不平衡加权 Unet,通过有效地捕获不同样本之间的远程依赖性和相关性来全面解决上述问题。我们设计了一个更深层次的编码器来促进特征提取和保留更多语义细节。此外,采用自适应权重调整方法动态调整不同类的损失权重,以优化学习方向并从欠学习类中提取更多特征。在 FeTA 数据集上进行的大量实验证明了我们模型的有效性,取得了比最先进方法更好的结果。
目的:医学图象实例分割
1 引言
我们提出了一种新型的不平衡加权 Unet,配备了用于胎儿大脑 MRI 图像分割的新 ExSwin 变换器块,以有效捕获不同样本之间的远程依赖性和相关性,从而提高分割性能。 ExSwin 转换器块由窗口注意块和基于外部注意方案的外部存储器块组成。 window attention block负责局部和全局特征表示学习,而external memory block将不同的样本内特征与其两个外部记忆单元相结合,以减少由于降维而导致的信息损失,并获得数据集的归纳偏置信息。此外,我们设计了一种特殊的不平衡 Unet 结构,我们采用更大的编码器尺寸来促进特征提取和保留更深层次的语义信息。此外,实现了一种自适应权重调整方法来动态调整不同类的损失权重,这有助于优化模型学习方向并从正在学习的类中提取更多特征。由于我们的数据集来自 FeTA 2021 挑战赛,因此我们与几个参与者的网络(例如 Unet、Res-Unet 和 Trans-Unet)进行了比较,我们的模型在这些网络中具有更好的性能。对数据集的定量实验和消融研究证明了所提出模型的有效性,取得了比最先进的方法更好的结果。
2 方法
我们的非平衡 ExSwin-Unet 框架如图 2 所示。我们的 ExSwin Unet 主要由编码器、瓶颈、解码器以及编码器和解码器块之间的跳过连接组成。在我们的编码器模块中,输入图像被分成不重叠的块,块大小为 4×4,每个块的特征维度变为 16 倍。此外,特征维度通过线性嵌入层投影到选定的维度 C。之后,我们不断交替应用 ExSwin 块和补丁合并层,其中 ExSwin 块掌握特征表示,补丁合并层增加下采样的特征维度。具体来说,ExSwin 块大小是均匀的,因为它需要交替执行 window 和 shift window attention 来捕获图像的局部和全局特征。我们的 ExSwin 模块能够从输入图像中提取高级特征。然后我们应用两个 ExSwin 块作为瓶颈块,以增强输入特征维度和输出特征维度相同的模型收敛能力。
另一方面,在解码器模块中,我们应用具有多个 ExSwin 块的补丁扩展层来分层执行特征上采样。 应用同级 ExSwin 块之间的跳过连接来补充下采样过程中丢失的详细信息,并保留高级特征图中包含的更多高分辨率细节。在解码器的末端,添加了一个特定的补丁扩展层以进行 4× 上采样,其中特征分辨率映射到输入分辨率。最后,上采样的特征将通过线性投影层映射到分割预测。
网络总体结构图:
在ExSwin Transformer Block中,W/SWA是window and shifted window attention module(Swin Transformer中的模块);LN、DNBN分别代表layer normlization、double normalization和batch normlization; Mk和Mv分别是外部可学习的key和value memory; Gelu 是高斯误差线性单位。
2.1 基于窗口的注意力块
基于移位窗口机制和层次结构,Swin transformer 能够提取输入图像的局部和全局特征。由于我们的 Feta 数据集样本是从 3D 图像生成的 2D 图像,空间信息很容易丢失。为了弥补空间信息的损失并提高不同样本之间的特征融合,我们提出了一个名为 ExSwin transformer block 的新 transformer block。 ExSwin 块由基于窗口的注意力块和外部注意力块构成。我们的 ExSwin 块的结构如图 2 所示。ExSwin 块的操作可以表述如下:
调整窗口注意块
在窗口注意块中,我们应用了基于窗口的多头自注意(W-A)模块和基于移位窗口的多头自注意(SW-A)[17]。基于窗口和基于移位窗口的多头自注意力模块应用于两个连续的变压器块。基于窗口的多头自注意力计算每个窗口中的注意力以捕获局部窗口特征。另一方面,shifted window-based multi-head self-attention,凭借其shifting机制,计算注意力以混合跨窗口特征并捕获全局特征。局部自注意力可以表示为:
其中 Q, K, V ∈ RM2×d 表示查询、键和值矩阵; M 2 表示窗口中的补丁数,d表示查询或键的维度; B 是相对位置偏差,其值取自偏差矩阵 ^ B ∈ R(2M−1)×(2M+1),因为沿每个轴的相对位置位于 [−M +1,M − 1].
后标准化
在训练基于窗口注意力的模型时,我们可能会遇到训练不稳定的情况,因为网络深层的激活值非常低 [16]。为了缓解不稳定的情况,图 3 所示的后归一化应用于注意块,并在外部注意块之前添加了一个额外的层归一化单元。
比例余弦注意力
window attention和shifted window attention模块在计算自注意力时,某些block或heads中的attention map支配了其他特征,导致特征提取有偏差。我们可以用余弦相似度代替内积相似度来改善问题:
其中 Bij 是像素 i 和 j 之间的相对位置偏差; τ 是一个可学习的标量,不跨头和层共享。由于余弦函数是等价归一化的,代入可以缓解一些内积支配的情况。
2.2 外部注意力块
在外部注意块中,我们设计了一个多头外部注意模块,它应用两个卷积层来掌握特征表示和两个外部可学习记忆单元来捕获不同样本之间的空间信息和样本亲和力。外部注意块采用外部注意机制,采用两个外部存储单元Mk和Mv来恢复相邻切片之间的空间信息并存储当前全局信息。外部注意力模块是为捕获样本内特征而设计的,它能够从输入样本中学习到更具代表性的特征。外部注意块结构如图 4 所示,我们的多头外部注意模块的伪代码如算法 1 所示。
由于多头注意力和卷积机制是互补的,我们在外部注意力块中应用了两个卷积层。为了聚合跨通道特征,第一个卷积层内核大小为 1 × 1。为了获得对注意机制的有用补充,第二个卷积层内核大小为 3×3,填充大小为 1。3×3 卷积层以更大的感受野捕获局部信息并增强对特征表示的掌握。
应用多头计算的外部注意块框架。 M1和M2是多个卷积一维核,用于存储空间信息。
2.3 不平衡的 Unet 架构
在编码器-解码器unet结构中,编码器和解码器中Ex-Swin块的大小不同。编码器和解码器模块的 Ex-Swin 块大小分别为 [2, 2, 6] 和 [2, 2, 2]。超参数设置的想法受到 Swin-T 模型的启发,我们的实验结果也证明了它对平衡 Unet 结构的有效性。具有更深尺寸 Ex-Swin 块的编码器块能够获得更好的特征提取并增强保留广泛上下文信息的模型能力。尺寸更小的解码器块节省了计算资源,也有利于模型收敛。
它说的不平衡UNet竟然指的是编解码中使用的Block数量不同
2.4 自适应加权调整
在医学分割任务中,由于标记数据的情况有限且不平衡,我们可能会遇到有偏差的数据分割训练结果。为了减轻偏差并提高模型性能,我们提出了一种损失函数的自适应权重调整策略,该策略对学习不足的样本进行模型学习,并防止模型在模型训练过程中压倒表现良好的样本。在我们的自适应权重调整机制中,类 c 的权重值 vc 计算如下:
其中 |prec|是与类 c 和 |truc| 的地面实况像素相匹配的预测像素是相应ground truth中c类的总数。并且自适应权重wc可以通过权重值来计算:
其中类别权重将针对每个时期的训练过程进行更新。在这种情况下,生成合适的权重以使模型能够调整其学习方向并减轻有偏差的分割结果。
2.5 双重损失函数
为了提高分割精度和学习速度,我们定义了一个对偶损失函数。由于我们采用了自适应权重调整方法,损失是通过取平均值计算每个类的加权损失来获得的。假设 wc 是每个类的权重,C 是类的总数。
多类交叉熵损失:
交叉熵损失衡量两个概率分布之间的差异。它加快了模型收敛并减少了模型训练资源消耗。
其中 pc 是输出中 c 类的分割概率,lc 是 c 类的标识,范围为 0 或 1,wc 是 c 类的自适应权重。
方形骰子损失:
Dice loss 衡量两个分布的相似性,我们将其应用于计算输出预测和基本事实之间的相似性。它有助于提高模型性能并提高准确性。
其中 ∑ pixels 表示像素值之和,ypixels 和 ytrue 分别是分割预测和分割真值,wc 是 c 类的自适应权重。
总体损失函数:
总损失是平均加权 CE 损失和平均加权 DICE 损失与系数 α 的线性组合。
3 实验结果
3.1 数据集
该数据集是 2021 年发布的 Fetal Brain Tissue Annotation and Segmentation Challenge [20]。胎儿大脑 MRI 被手动分为 8 个不同的类别,平面内分辨率为 0.5mm×0.5mm。数据集包括 80 个 3D T2 加权胎儿大脑和重建方法,用于创建胎儿大脑的超分辨率重建。我们将数据集分为 60 个训练集和 20 个测试集。为了节省时间和能源消耗,我们将数据集转换为大小为 256×256 的二维图像。
3.2 实现细节
我们在单个 NVIDIA RTX 2080Ti(11 GB RAM)上训练和测试我们的模型。 ExSwin-Unet 模型是在 Python 3.7 和 Pytorch 1.7.0 上训练的。为了增加数据多样性并避免数据过度拟合,我们对数据集应用了简单的数据增强翻转和旋转。我们采用加权双重损失函数,并使用前瞻优化器 [26] 和 Adam 优化器 [12] 作为内部优化器。此外,我们通过实验设置总损失系数α=0.4以获得相对更好的性能。在模型训练期间,初始学习率为 1e-4,每个 epoch 都有损失衰减。我们训练了 200 个 epochs 的模型,批量大小为 16。
3.3 与 SOTA 方法的比较
为了评估我们方法的性能,我们将我们的网络与五种最先进的方法进行了比较,包括 Segmenter [22]、Attn-Unet [19]、Utnet [7]、Swin-Unet [1] 和 Trans-Unet [2].比较的模型包括四个基于 transformer 的模型结构和一个基于 CNN 的模型,即 Attention Unet。我们在相同的计算环境下进行了比较,没有使用任何预训练模型。视觉和统计比较都是使用相同的数据集和相同的数据处理方法进行的。统计对比结果如表1所示,可视化结果如图5所示。
我们的模型具有其独特的功能,通常在 dice 和 jaccard 分数上优于其他 SOTA 方法,并且计算消耗更少。我们比 Trans-Unet 节省了 50% 的参数,并获得了更好的分割性能。在视觉上与图 5 中的其他分割方法相比,我们的模型在分割具有不同尺度和不规则形状的胎儿组织方面也表现出色。证明所提出的 ExSwin-Unet 能够提高分割性能。
3.4 消融研究
为了证明所提出组件的有效性,我们对不同组件和不平衡结构进行了消融研究。组件消融实验结果如表2所示,不同方法的关注热点如图6所示。为了说明我们的不平衡结构的有效性,我们对不平衡结构进行了消融研究,如表4所示。
如表 2 所示,不平衡的 Unet 结构以其较大的编码器尺寸有利于特征学习过程。具有外部注意单元的模型能够结合不同的样本内特征并减轻空间信息损失。自适应损失减轻了模型不平衡类欠学习问题。
如表 3 所示,我们进一步与典型的类不平衡损失 focal loss [14] 进行比较,以验证我们的自适应损失方法的有效性。结果证明了我们的方法的有效性,其中我们的自适应加权损失函数通过掌握学习不足类的信息和提高整体性能来提高模型学习能力。
非平衡 Unet 结构的消融研究如表 4 所示,证明了非平衡 Unet 结构的有效性。使用更大的编码器尺寸,我们的模型可以获得比其他两个平衡模型更好的性能。实验表明,不平衡结构有利于模型特征提取过程并改善分割结果。
4 讨论和限制
通过上述消融研究和对比实验,我们设计了一个有效的基于 2D 的分割网络,具有外部注意力,以在 3D 图像切片上实现分割任务。我们的目的是发现样本内关系以减轻空间信息损失并有利于特征学习过程。外部注意力模块实现了这个目标,实验证明了它的有效性。此外,我们发现平衡的 Unet 结构对于 Unet 框架来说可能不是必需的,因为不平衡的 Unet 可以获得比平衡的 Unet 更好的性能。另一方面,我们的方法仍然有一些局限性。如图 7 所示,我们的模型未能在一些小尺度上实现正确的预测。
5 结论
在本文中,我们提出了一种新型的不平衡加权 Unet,配备了新的 ExSwin 变压器块,以改善胎儿大脑 MRI 分割结果。 ExSwin transformer 由 shift-window attention 和 external attention 模块组成。 ExSwin transformer block 不仅可以掌握基本的样本特征表示,还可以捕获不同 3D 切片之间的样本内相关性和空间信息。并且 Unet 是不平衡的,其中编码器具有较大的尺寸以促进特征提取过程。此外,我们引入了一种自适应权重调整策略来改善有偏见的数据分割情况。定量比较实验和消融研究证明了我们提出的模型的良好性能。
相关文章:

ExSwin-Unet 论文研读
ExSwin-Unet摘要1 引言2 方法2.1 基于窗口的注意力块2.2 外部注意力块2.3 不平衡的 Unet 架构2.4 自适应加权调整2.5 双重损失函数3 实验结果3.1 数据集3.2 实现细节3.3 与 SOTA 方法的比较3.4 消融研究4 讨论和限制5 结论数据集来源: https://feta.grand-challenge…...

置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天
置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天 置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天…...

优思学院|解密六西格玛:探索DMAIC和DMADV之间的区别
六西格玛方法中最为广泛使用的两种方法是DMAIC和DMADV。这两种方法都是为了让企业流程更加高效和有效而设计的。虽然这两种方法有一些重要的共同特点,但它们并不可以互相替代,并且被开发用于不同的企业流程。在更详细地比较这两种方法之前,我…...

Pytorch的DataLoader输入输出(以文本为例)
本文不做太多原理介绍,直讲使用流畅。想看更多底层实现-〉传送门。DataLoader简介torch.utils.data.DataLoader是PyTorch中数据读取的一个重要接口,该接口定义在dataloader.py脚本中,只要是用PyTorch来训练模型基本都会用到该接口。本文介绍t…...

代谢组学:Microbiome又一篇!绘制重症先天性心脏病新生儿肠道微生态全景图谱
文章标题:Mapping the early life gut microbiome in neonates with critical congenital heart disease: multiomics insights and implications for host metabolic and immunological health 发表期刊:Microbiome 影响因子:16.837…...

Java基本类型所占字节简述
类型分类所占字节取值范围boolean布尔型1bit0 false、 1 true (1个bit 、1个字节、4个字节)char 字符型(Unicode字符集中的一个元素) 2字节-32768~32767(-2的15次方~2的15次方-1)byte整型1字节-128&a…...

Linux vi常用操作
vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是: 命令模式: 用户刚…...

Unicode(宽字节)、ANSI(多字节)
1、什么时候用Unicode(宽字节),什么时候用ANSI(多字节)? 在linux/windows等操作系统中使用的,一般都是Unicode(宽字节)。 下位机PLC/单片机等硬件设备中使用,一般都是ANSI(多字节)。 所以,通讯中(比如VS项目&#x…...

STM32实战之LED循环点亮
接着上一章讲。本章我们来讲一讲LED流水灯,循环点亮LED。 在LED章节有的可能没有讲到,本章会对其进行说明,尽量每个函数说一下作用。也会在最后说一下STM32的寄存器,在编程中寄存器是避免不了的东西,寄存器也是非常好理…...

智慧厕所智能卫生间系统有哪些功能
南宁北站智能厕所主要功能有哪些?1、卫生间环境空气监测男厕、女厕环境空气监测系统包括对厕所内的温度、湿度、氨气、硫化氢、PM2.5、烟雾等气体数据的实时监测。2、卫生间厕位状态监测系统实时监测厕位内目前的使用状态(有人或无人),数据信…...

【网络】套接字 -- TCP
🥁作者: 华丞臧. 📕专栏:【网络】 各位读者老爷如果觉得博主写的不错,请诸位多多支持(点赞收藏关注)。如果有错误的地方,欢迎在评论区指出。 推荐一款刷题网站 👉 LeetCode刷题网站 文章…...

NDK C++ map容器
map容器// TODO map容器 #include <iostream> #include <map>using namespace std;int main() {// TODO map<int, string>按key值排序,同一个key不可以重复插入map<int, string> map1;map1.insert(pair<int, string>(1, "111&qu…...

linux(Centos)安装docker
官网地址:Install Docker Engine on CentOS 首先检查linux系统版本及内核: 安装docker要求系统版本至少为7.x版本,内核至少为3.8以上 cat /etc/redhat-release # 查看系统版本号uname -r #查看linux系统内核 检查系统是否能连上外网&#…...

Delphi 中 FireDAC 数据库连接(处理错误)
参见:Delphi 中 FireDAC 数据库连接(总览)本主题描述了如何用FireDAC处理数据库错误。一、概述EFDDBEngineException类是所有DBMS异常的基类。单个异常对象是一个数据库错误的集合,可以通过EFDDBEngineException.Errors[]属性访问…...

算法小抄3-理解使用Python容器之列表
引言 首先说一个概念哈,程序算法数据结构,算法是条件语句与循环语句组成的逻辑结构,而数据结构也就是容器. 算法决定数据该如何处理,而容器则决定如何数据如何存储. 不同的语言对容器有不同的实现方式, 但他们的功能都是相似的, 打好容器基础,你就可以在各式各样的语言中来回横…...

Vue3中watch的value问题
目录前言一,ref和reactive的简单复习1.ref函数1.2 reactive函数1.3 用ref定义对象类型数据不用reactive二,watch的value问题2.1 ref2.1.1 普通类型数据2.1.2 对象类型数据2.1.3 另一种方式2.2 reactive三,总结后记前言 在Vue3中,…...

【线性筛+DP】最大和
看错题了,呃呃,其实就是个简单DP最大和 - 蓝桥云课 (lanqiao.cn)题意:思路:设dp[i]为以1为终点的最大和,然后枚举状态和决策就行了主要是线性筛的应用,它可以预处理出一个数的最小质因子是多少Code…...

openpnp - configure - 丢弃(Discard)位置的设置
文章目录openpnp - configure - 丢弃(Discard)位置的设置概述笔记设置丢弃位置吸取元件失败后, 吸嘴一直吸气的处理ENDopenpnp - configure - 丢弃(Discard)位置的设置 概述 测试时, 吸取了一个元件, 吸取成功了, 现在想将这个料丢掉. 点击控制面板-Special页中的Discard不好…...

java Object 万字详解 (通俗易懂)
基本介绍构造方法成员方法hashCode()getClass()toString()equals()finalize()JavaBean重写Object类的方法重写toString重写equals一、基本介绍Object类是java类层次最顶层的基类(父类),所有类都是直接或间接继承自Object类,因此&a…...

Java并发简介(什么是并发)
文章目录并发概念并发和并行同步和异步阻塞和非阻塞进程和线程竞态条件和临界区管程并发的特点提升资源利用率程序响应更快并发的问题安全性问题缓存导致的可见性问题线程切换带来的原子性问题编译优化带来的有序性问题保证并发安全的思路互斥同步(阻塞同步…...

团队API管理工具-YAPI
团队API管理工具-YAPI 推荐一款接口管理平台,操作简单、界面友好、功能丰富、支持markdown语法、可使用Postman导入、Swagger同步数据展示、LDAP、权限管理等功能。 YApi是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接…...

学习记录 --- Pytorch优化器
文章目录参考文献什么是优化器optimizer的定义optimizer的属性defaultsstateparam_groupsoptimizer的方法zero_grad()step()add_param_group()state_dict()、load_state_dict()优化一个网络同时优化多个网络当成一个网络优化当成多个网络优化只优化网络的某些指定的层调整学习率…...

Flink State 状态后端分析
flink状态实现分析 state * State* |* -------------------InternalKvState* | |* MergingState |* | |* …...

和年薪30W的阿里测开工程师聊过后,才知道我的工作就是打杂的...
前几天和一个朋友聊面试,他说上个月同时拿到了腾讯和阿里的offer,最后选择了阿里。 阿里内部将员工一共分为了14个等级,P6是资深工程师,P7是技术专家。 其中P6和P7就是一个分水岭了,P6是最接近P7的不持股员工&#x…...

C#开发的OpenRA的界面布局数据加载
C#开发的OpenRA的界面布局数据加载 当显示完成加载界面之后,就是进行其它内容处理。 因为后面内容的加载会比较长时间,所以首先显示加载界面是一种非常友好的方法。 因此在软件设计里,尽可能先显示界面,让用户先看到程序正在运行, 然后再处理时间长的加载。如果不这样做,…...

并查集结构
文章目录并查集特点构建过程查找两个元素是否是同一集合优化查找领头元素设置两个元素为同一集合构建结构应用场景并行计算集合问题并查集特点 对于使用并查集构建的结构,可以使得查询两个元素是否在同一集合,以及合并集合的操作无限接近O(1) 构建过程…...

全国CSM敏捷教练认证将于2023年3月25-26开班,报名从速!
CSM,即Certified Scrum Master,是Scrum联盟发起的Scrum认证。 CSM可以帮助团队正确使用Scrum,从而提高项目整体成功的可能性。 CSM深刻理解Scrum的价值观、实践以及Scrum框架。 CSM是“服务型领导”,帮助Scrum团队一起紧密合作。 …...

JavaEE进阶第六课:SpringBoot ⽇志⽂件
上篇文章介绍了SpringBoot配置文件,这篇文章我们将会介绍SpringBoot ⽇志⽂件 荔枝1.日志有什么用2.自定义日志输出2.1获取程序日志对象2.2使用相关方法输出日志2.3日志级别2.3.1日志级别的作用2.3.2日志级别如何设置2.4日志格式3.持久化日志4.更简单的日志输出4.1使…...

外置MOS管平均电流型LED降压恒流驱动器
产品描述 AP5125 是一款外围电路简单的 Buck 型平均电 流检测模式的 LED 恒流驱动器,适用于 8-100V 电压 范围的非隔离式大功率恒流 LED 驱动领域。芯片采用 固定频率 140kHz 的 PWM 工作模式, 利用平均电 流检测模式,因此具有优异的负载调整…...

python+pytest接口自动化(6)-请求参数格式的确定
我们在做接口测试之前,先需要根据接口文档或抓包接口数据,搞清楚被测接口的详细内容,其中就包含请求参数的编码格式,从而使用对应的参数格式发送请求。例如某个接口规定的请求主体的编码方式为 application/json,那么在…...