【论文阅读笔记】ASPS: Augmented Segment Anything Model for Polyp Segmentation

news2024/12/29 17:06:04

1.论文介绍

ASPS: Augmented Segment Anything Model for Polyp Segmentation
ASPS:用于息肉分割的扩展SAM模型
2024年 arxiv
Paper Code

2.摘要

息肉分割在结直肠癌诊断中起着至关重要的作用。最近,Segment Anything Model(SAM)的出现利用其在大规模数据集上的强大预训练能力,为息肉分割带来了前所未有的潜力。然而,由于自然图像和内窥镜图像之间的区域差距,SAM在实现有效的息肉分割方面遇到了两个限制。首先,它的基于变压器的结构优先考虑全局和低频信息,可能会忽略局部细节,并在学习的特征中引入偏差。其次,当应用于内窥镜图像时,其较差的分布(OOD)性能导致不符合标准的预测和有偏差的置信度输出。为了应对这些挑战,我们提出了一种新的用于息肉分割的扩展SAM(ASPS)方法,该方法包括两个模块:跨分支特征增强(CFA)和不确定引导预测正则化(UPR)。CFA将可训练的CNN编码器分支与冻结的VIT编码器集成在一起,在增强局部特征和高频细节的同时,实现了特定领域知识的整合。此外,UPR巧妙地利用SAM的IOU分数来减少训练过程中的不确定性,从而提高了面向对象设计的性能和领域泛化。大量的实验结果证明了该方法在提高SAM在息肉分割中的性能方面的有效性和实用性。

Keywords: SAM,CNN+ViT,跨分支特征增强,不确定引导预测正则化

3.Introduction

自动息肉分割是诊断结直肠癌的关键工具,有助于有效的干预和及时的治疗策略。最近SAM被引入,由于其巨大的模型大小和数据量,这种创新的方法为息肉分割领域引入了新的视角。它还具有增强的表示和特征提取能力,超过了现有的方法。然而,由于训练数据和内窥镜图像之间的域差距,SAM在息肉分割任务中的性能并不令人满意。这导致了两个主要问题:第一,SAM不能充分捕捉息肉图像的显著特征,导致其学习表示的偏差。其次,它对分布外数据产生了错误的预测和不准确的置信度估计。此外,由于SAM依赖于提示,大大阻碍了其在临床应用中的便利性。尽管有几种方法改进了SAM,但这些方法要么依赖于提示,要么直接微调实体模型。Samus有效地集成了CNN和VIT,但其设计相当复杂,特别适合处理小图像。因此,这些方法的有效性在某种程度上受到了限制。人们已经提出了各种方法来解决语义切分中无监督领域自适应的挑战。MIC提出了一种用于目标领域情境学习的掩蔽图像一致性模型;情境感知领域自适应通过交叉注意改进了情境迁移。然而,特定领域的信息集成和不确定性减少仍然没有被探索。为了解决这些问题,本文从领域自适应的角度提出了一种新的基于SAM的方法,旨在增强特征提取能力和泛化能力,而不依赖于提示。本文提出了交叉分支特征增强模块(CFA)和不确定性引导预测正则化模块(UPR)。CFA加入了一个额外的可训练卷积神经网络(CNN)编码器分支,该分支补充了冻结视觉转换器(VIT)编码器,以捕获多尺度和多层次的特征。UPR调整归一化层以促进内窥镜领域的自适应,并利用提示确保准确的置信度估计,从而提高SAM的面向对象设计性能。

4.模型结构详解

在这里插入图片描述
CFA模块集成了CNN编码器特征和全局VIT信息,导致了广义特征表示学习。这种集成通过将深层信息聚合到浅层并结合来自浅层的位置信息来促进精细化分割输出。同时,UPR的设计是为了最大限度地减少训练期间的不确定性和校准置信度。UPR利用基于不确定性的训练策略,利用gt作为指导性“提示”。提出的网络遵循端到端训练,在没有提示的情况下,联合优化两个模块以实现最佳性能。

Cross-branch Feature Augmentation Module 跨分支特征增强模块:
SAM在息肉分割任务中仍存在一定的局限性,其中一个主要原因是SAM的图像编码器不能有效地从不可见的内窥镜图像中捕获足够的特征。为了解决这个问题,CFA模块被设计成学习多尺度特征和多层次表示,从而增强编码器的特征提取能力。

首先,为了实现自动分割,对SAM的体系结构进行了改进,去掉了它的提示输入和提示编码器部分,保留了它的图像编码和掩码解码部分。最近的研究表明,VIT更专注于低频信号,而CNN更擅长处理高频信号。因此,本文集成了一个基于CNN的并行分支来弥补高频和局部特征的缺失。此外,通过提出一个额外的多头交叉分支注意块来增强SAM的掩码解码器,以促进从VIT编码器和CNN编码器中提取的特征的整合。对于VIT分支机构的 F V F_V FV特征和CNN的 F C F_C FC特征,跨分支特征注意力可以表达如下:
在这里插入图片描述
其中 Q = F v W Q Q=F_vW^Q Q=FvWQ K = V = F c W K K=V=F_cW^K K=V=FcWK,并且d是Fv的每个头部的通道数。考虑到CNN特征提供了更精确的位置信息,用CNN编码器的最终输出特征代替了SAM在掩码解码器中的原始位置嵌入。此外,将跨分支注意机制集成到掩码解码器的注意块中,重复此过程两次,以确保来自VIT和CNN编码器的多尺度特征的集成。
在这里插入图片描述
其次,为了获得更准确的分割结果,将来自编码器的高层上下文和低层边界信息与SAM的解码器特征相结合,以增强输出信息。具体地说,将从中间嵌入的VIT编码器获得的浅局部特征,从VIT编码器获得的最终全局特征与CNN的最终特征相结合,像上图所示的,这种方法充分利用了丰富的边缘信息、广泛的全局上下文信息和每个编码器分支的局部位置细节。因此,可以有效地集成VIT和CNN的多层次特征。

ViT,即原SAM的image encoder的最终特征和中间层特征,与CNN的最终特征相结合。并在原SAM的mask decoder中增加多头注意力,以融合ViT与CNN的特征。
首先在原本的image_encoder中提取第4、8、12层特征作为interm embedding(代码中这么设置),无prompt_encoder,在mask_decoder中,首先把来自CNN的特征,与interm embedding和image embedding融合,用CNN的特征代替ViT的位置嵌入,并在transformer块中融合CNN与image embedding特征,然后在最后把fusion的特征再加上去。
除此之外,增加一个置信度计算。

Uncertainty-guided Prediction Regularization Module 不确定性引导的预测正则化模型:

为了增强SAM的泛化能力,本文提出了一种新的训练策略,该策略包括在编码器内选择性激活LayerNorm。我们还以gt为线索,通过纠正置信度来进一步指导训练过程。由于SAM是在自然数据上训练的,其在息肉图像中的性能可能会因域转移而恶化。尽管LayerNorm的引入可能会减少训练时间,但它从根本上改变了输入数据的分布。当将SAM从自然图像转移到内窥镜图像时,数据分布和相应的特征空间分布都发生了偏移。这些分布差异可能会导致内部协变量的变化,从而影响模型的性能。为了提高SAM在内窥镜领域的泛化能力,本文对编码器的归一化层进行了微调。在这个过程中,该模型有效地适应了目标领域的数据分布,并缓解了内部协变量变化的影响。

具体地说,SAM的VIT编码器的层范数LayerNorm分为(1)transformer块norm和(2)neck层norm,如上图(A)所示。考虑到Neck层的特征更接近编码器的输出特征,最终决定训练Neck层归一化,这相当于对预先训练的VIT编码器的特征进行重新归一化。

这里提到训练策略在编码器的neck层增加LayerNorm,原代码中就是可选择的,不理解这里怎么重新处理了。

此外,以前的研究已经证明,不确定性较低的预测往往表现出优越的分布外(OOD)性能,这也有利于领域适应。SAM会生成一个IOU分数输出,这本身就代表着不确定性(或者置信度)。然而,在预测过程中,SAM可能会频繁地对看不见的数据产生高置信度的错误预测,这是不可取的。为了缓解这个问题,我们努力减少模型在训练过程中的不确定性(即增加置信度)。在[4]的启发下,我们利用gt作为提示来指导模型的学习。首先,我们将SAM的IoU得分表示为图像级别的置信度Ci。然后,我们计算像素级置信度cp,以使用公式来细化每个像素的不确定性。其中Up∈Rb×1×H×W.
在这里插入图片描述
Up表示像素不确定性,定义为 U p = 1 − σ ( ∣ P ∣ ) Up=1−σ(|P|) Up=1σ(P)。这里,σ表示Sigmoid函数,而P表示输出预测。最终置信度被计算为图像级置信度和像素级置信度之和,表示为 c = 1 / 2 ( C i + c p ) c=1/2 (Ci+cp) c=1/2(Ci+cp)。这种可信度是由伯努利分布决定的,它决定了是否将gt作为提示。换句话说,如果置信度足够低,我们认为该模型需要特定的答案提示来学习正确的掩码预测。因此,答案是必需的,作为提示,否则就没有必要。提示的权重由置信度c确定,其表示如下:
在这里插入图片描述
然而,通过最小化损失函数,模型将倾向于使c=0,从而 P ′ P' P将始终是GT。这意味着该模型实际上并不学习。因此,引入置信度损失来监督c,当c→为0时,置信度损失会增加,并且置信度损失的定义如下:
在这里插入图片描述
最终损失函数是分段损失Ls和置信度损失Lc之和,如公式中所定义的。5.这里,λ表示一个超参数。具体地,所采用的分段损失是CE损失、Dice损失和MSE损失的组合,如ls=Lce+0.5Ldice+Lmse。
在这里插入图片描述

这里说增加一个新损失:置信度损失。它由图像级和像素级两个组成。

5.实验结果

在这里插入图片描述
创新点

  1. image_encoder中用交叉注意力引入CNN特征;
  2. mask_decoder中使用CNN特征作为位置嵌入,融合CNN特征、image encoder的中间层特征与最终特征,再最后加上;
  3. 设置置信度损失,解决置信度错误地过高的问题。

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

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

相关文章

去水印小程序源码修复版-前端后端内置接口+第三方接口

去水印小程序源码,前端后端,内置接口第三方接口, 修复数据库账号密码错误问题,内置接口支持替换第三方接口, 文件挺全的,可以添加流量主代码,搭建需要准备一台服务器,备案域名和http…

【JVM实战篇】内存调优:内存问题诊断+案例实战

文章目录 诊断内存快照在内存溢出时生成内存快照MAT分析内存快照MAT内存泄漏检测的原理支配树介绍如何在不内存溢出情况下生成堆内存快照?MAT查看支配树MAT如何根据支配树发现内存泄漏 运行程序的内存快照导出和分析快照**大文件的处理** 案例实战案例1:…

交换机和路由器的工作流程

1、交换机工作流程: 将接口中的电流识别为二进制,并转换成数据帧,交换机会记录学习该数据帧的源MAC地址,并将其端口关联起来记录在MAC地址表中。然后查看MAC地址表来查找目标MAC地址,会有一下一些情况: MA…

java.sql.SQLException: Before start of result set

情况描述,在通过JDBC连接数据库时,想直接判断获取的值是否存在,运行时报错。 翻译: 在开始结果集之前 报错截图 解决问题的方法:对结果集ResultSet进行操作之前,一定要先用ResultSet.next()将指针移动至…

4K60无缝一体矩阵 HDMI2.0功能介绍

关于GF-HDMI0808S 4K60无缝一体矩阵的功能介绍,由于直接针对GF-HDMI0808S型号的具体信息较少,我将结合类似4K60无缝HDMI矩阵的一般功能特性和可能的GF-HDMI0808系列产品的特点来进行说明。请注意,以下信息可能不完全针对GF-HDMI0808S型号&…

vienna整流器的矢量分析

Vienna整流器使用六个二极管和六个IGBT(或MOSFET)组成,提供三个电平:正极电平(P)、中性点电平(O)和负极电平(N)。通过对功率管的控制,Vienna整流器…

xmind梳理测试点,根据这些测试点去写测试用例

基本流(冒烟用例必写) 备选流 公共测试点:

算法笔记——LCR

一.LCR 152. 验证二叉搜索树的后序遍历序列 题目描述: 给你一个二叉搜索树的后续遍历序列,让你判断该序列是否合法。 解题思路: 根据二叉搜索树的特性,二叉树搜索的每一个结点,大于左子树,小于右子树。…

【企业级监控】Zabbix实现邮箱报警

Zabbix监控自动化 文章目录 Zabbix监控自动化资源列表基础环境前言四、Zabbix邮件告警4.1、实现报警所需的条件4.1.1、告警媒介4.1.2、触发器(trigger)4.1.3、动作(action) 4.2、配置告警媒介4.2.1、设置告警媒介参数4.2.2、启用此…

SpringCloud教程 | 第八篇: 使用seata处理分布式事务

1、参考程序员江小北 2、打算降低nacos版本,先学通再看看升级到高版本nacos能不能正常使用。 3、nacos用1.4.1,正常启动单机版的了 4、seata用2.0.0 我看江小北说用的1.4.0的seata,但是图片中的目录文件都找不到,倒是在2.0.0的…

弥合人类与人工智能的知识差距:AlphaZero 中的概念发现和迁移(1)

文章目录 一、摘要二、简介三、相关工作3.1 基于概念的解释3.2 强化学习中生成解释3.3 国际象棋与人工智能 四、什么是概念?五、发掘概念5.1 挖掘概念向量5.1.1 静态概念的概念约束5.1.2 动态概念的概念约束 5.2 过滤概念 一、摘要 人工智能(AI&#xff…

计算机网络--tcpdump和iptable设置、内核参数优化策略

tcpdump工具 tcpdump命令: 选项字段: 过滤表达式: 实用命令: TCP三次握手抓包命令: #客户端执行tcpdump 抓取数据包 tcpdump -i etho tcp and host 192.168.12.36 and port 80 -W timeout.pcapnetstat命令 netst…

昇思25天学习打卡营第12天 | ResNet50图像分类

昇思25天学习打卡营第12天 | ResNet50图像分类 文章目录 昇思25天学习打卡营第12天 | ResNet50图像分类ResNet网络模型残差网络结构Building BlockBottleneck 训练数据准备训练数据可视化 网络构建Build Block结构Bottleneck结构ResNet50网络 模型训练与评估训练验证迭代数据集…

Swiftui中几种常用的数据存储方式@AppStorage/UserDefaults/CoreData/File Storage/Keychain等

在 SwiftUI 中,有多种常用的数据存储方式,根据需求的不同,可以选择适合的存储方案。以下是几种常用的数据存储方式: AppStorage/UserDefaults/CoreData/File Storage/Keychain,分别来看一下他们的使用场景和区别。 1.…

【Linux 文件读写描述符重定向 Linux 一切皆文件缓冲区】

文章目录 一、文件的读写操作二、文件描述符三、文件重定向四、理解 Linux 一切皆文件五、文件缓冲区 一、文件的读写操作 文件内容属性 当文件没有被操作的时候,一般文件还是在磁盘当中 文件操作文件内容的操作文件属性的操作,文件操作有可能即改变内容…

实战:docker式部署frp内网穿透-2024.7.13(测试成功)

前提 首先就需要准备好一台云服务器,用于提供公网 IP 和流量转发。至于购买哪家的云服务产品,本着能省则省的原则,这个当然是哪家便宜用哪家呢。 我手上目前有闲置的腾讯云的服务器,刚好可以用来作为内网穿透的机器,…

MySQL篇十:事务

文章目录 前言1. 什么是事务?2. 为什么会出现事务3. 事务的版本支持4. 事务提交方式5. 事务常见操作方式6. 事务隔离级别6.1 如何理解隔离性16.2 如何理解隔离性26.2.1 读-写6.2.2 undo 日志6.2.3 模拟 MVCC6.2.4 RR 与 RC的本质区别 前言 CURD不加控制,…

【探索Linux】P.39(传输层 —— TCP的三次 “握手” 和四次 “挥手” )

阅读导航 引言一、TCP的三次握手1. 简介2. 图解三次握手3. 名词解释(1)SYN(同步序列编号)包(2)SYN-ACK(同步确认)包(3)ACK(确认)包 4.…

【CTF-Crypto】数论基础-02

【CTF-Crypto】数论基础-02 文章目录 【CTF-Crypto】数论基础-021-16 二次剩余1-20 模p下-1的平方根*1-21 Legendre符号*1-22 Jacobi符号*2-1 群*2-2 群的性质2-3 阿贝尔群*2-4 子群2-11 群同态2-18 原根2-21 什么是环2-23 什么是域2-25 子环2-26 理想2-32 多项式环 1-16 二次剩…

C语言的神髓

从应用的角度出发,聊一聊C语言最精妙的部分。 ​​​​​​​ ​​​​​​​