SAM适配下游任务的探究:SAM Adapter
本文分享自华为云社区《SAM适配下游任务的探究:SAM Adapter》,作者:Hint。
近期大模型的涌现给AI研究带来显著的发展,META的工作Segment Anything(SAM),就是其中一个为图像分割任务设计的基础大模型。SAM是一种交互型的图像分割大模型,通过提供的prompt如点、框、文本描述等粗略的提示,就可以分割出图像中指定的目标,其demo的效果十分惊艳。然而在某些特殊场景的图片上并不会带来如此惊艳的效果,可能是由训练数据的差异性导致,比如阴影检测、伪装目标检测。但SAM强大的分割能力依然可以作为我们微调模型的基础,更好地为下游任务服务。
本文介绍的方法SAM Adapter[2],设计了一个Adapter模,它可以在不微调SAM网络的情况下,通过简单而有效的适配器,将领域特定的信息或视觉提示注入到分割网络中,从而提高SAM在特定任务上的性能。该论文在多个任务和数据集上进行了广泛的实验,包括ISTD阴影检测数据集、COD10K、CHAMELEON和CAMO伪装物体检测数据集,以及kvasir-SEG息肉分割(医学图像分割)数据集。实验结果表明,SAM-Adapter不仅显著提升了SAM的性能,而且在这些任务上达到了最先进的水平。

如上图所示,该模型使用了SAM的Image Encoder和Masked Decoder,其中Image Encoder冻结了参数,Decoder是参与梯度回传的。这样可以有效利用SAM已经预训练好的分割能力,同时Decoder更新参数以适配下游任务。此外作者引入了Adaptor模块,用于引入特殊任务的知识,辅助微调模型。Adaptor的网络结构仅有两层MLP层构成,其输入的知识可以是多种多样的,对于文中的任务,其输入可以是纹理信息或者是频率信息等。各种信息用下面的权重来均衡。

作者在多个数据集上进行实验,从以下的实验结果来看,该方法的性能在下游任务中达到SOTA效果,相比原始的SAM提升效果显著,作者也证明了Adaptor模块的有效性。








[1]Kirillov A, Mintun E, Ravi N, et al. Segment anything[J]. arXiv preprint arXiv:2304.02643, 2023.
[2]Chen T, Zhu L, Ding C, et al. SAM Fails to Segment Anything?--SAM-Adapter: Adapting SAM in Underperformed Scenes: Camouflage, Shadow, and More[J]. arXiv preprint arXiv:2304.09148, 2023.
SAM适配下游任务的探究:SAM Adapter的更多相关文章
- 初识CPU卡、SAM卡/CPU卡简介、SAM卡简介 【转】
初识CPU卡.SAM卡/CPU卡简介.SAM卡简介 IC卡按照接口方式可分为接触式卡.非接触式卡.复合卡:按器件技术可分为非加密存储卡.加密存储卡和CPU卡. 加密存储卡是对持卡人的认证,只有输入正确 ...
- SAM/BAM文件处理
当测序得到的fastq文件map到基因组之后,我们通常会得到一个sam或者bam为扩展名的文件.SAM的全称是sequence alignment/map format.而BAM就是SAM的二进制文件 ...
- bzoj4199:NOI2015D2T2品酒大会(SAM版)
SAM感觉写起来比SA更直观(?) #include <iostream> #include <cstdio> #include <cstring> #includ ...
- bam/sam格式说明
在SAM输出的结果中每一行都包括十二项通过Tab分隔,从左到右分别是: 1 序列的名字(Read的名字) 2 概括出一个合适的标记,各个数字分别代表 1 序列是一对序列中的一个 2 比 ...
- 后缀自动机(SAM)
*在学习后缀自动机之前需要熟练掌握WA自动机.RE自动机与TLE自动机* 什么是后缀自动机 后缀自动机 Suffix Automaton (SAM) 是一个用 O(n) 的复杂度构造,能够接受一个字符 ...
- PSAM SAM
第一个问题: 为什么要用SAM? 究竟谁最开始使用SAM这个词,已经无从考证,能够确认的是:这个世界上先有了PSAM,然后才有了SAM.由于网络状况的原因,或者是应用环境的要求,使用IC卡作为支付介质 ...
- cpu卡,sam卡原理
第一部分 CPU基础知识一.为什么用CPU卡IC卡从接口方式上分,可以分为接触式IC卡.非接触式IC卡及复合卡.从器件技术上分,可分为非加密存储卡.加密存储卡及CPU卡.非加密卡没有安全性,可以任意改 ...
- 后缀自动机(SAM)学习笔记
目录 定义 SAM 的状态集 一些性质 SAM 的后缀链接 SAM 的转移函数 一些性质 算法构造 构造方法 时间复杂度证明 状态的数量 转移的数量 代码实现 实际应用 统计本质不同的子串个数 计算任 ...
- 洛谷P4482 [BJWC2018]Border 的四种求法 字符串,SAM,线段树合并,线段树,树链剖分,DSU on Tree
原文链接https://www.cnblogs.com/zhouzhendong/p/LuoguP4482.html 题意 给定一个字符串 S,有 q 次询问,每次给定两个数 L,R ,求 S[L.. ...
- UOJ#395. 【NOI2018】你的名字 字符串,SAM,线段树合并
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ395.html 题解 记得同步赛的时候这题我爆0了,最暴力的暴力都没调出来. 首先我们看看 68 分怎么做 ...
随机推荐
- 使用gitbook快速搭建文档中心
背景 在研发一个系统,主要给公司内部同事用,按理说,简单点的话,搞个使用文档就行了,但产品经理希望是做成一个文档中心,比如,你学习个新技术的时候,比如vue,一般有个在线的帮助文档,他的想法就是这种. ...
- 错误记录-FileStream访问被拒绝
简介: 问题:因项目需要,软件需要读取授权文件中的密文与本机验证码做一定的逻辑比对,使用FileStream实现文件的读取,在本机调试没问题,但在其他同事电脑上有一些出现授权一直不通过的情况. --M ...
- Chromium GPU资源共享
资源共享指的是在一个 Context 中的创建的 Texture 资源可以被其他 Context 所使用.一般来讲只有相同 share group Context 创建的 Texture 才可以被共享 ...
- Python 利用pandas 和 matplotlib绘制柱状图
当你需要展示数据时,图表是一个非常有用的工具.Python 中的 pandas 和 matplotlib 库提供了丰富的功能,可以帮助你轻松地绘制各种类型的图表.本文将介绍如何使用这两个库,绘制一个店 ...
- 一篇适合躺收藏夹的 Nexus3 搭建 NuGet&Docker 私有库的安装使用总结
前言 Nexus 是支持 Nuget.Docker.Npm 等多种包的仓库管理器,可用做私有包的存储分发,缓存官方包.本篇将手把手教学使用 Nexus 搭建自己的 NuGe t& Docker ...
- c#中代理模式详解
基本介绍: "代理"顾名思义指以他人的名义,在授权范围内进行处理事情的意思. 在编程语言中的则解释为:为其他对象提供一种代理以控制对这个对象的访问. 从释义上不难解读, ...
- L3-013 非常弹的球
初速度:\(v = \sqrt{\cfrac{2 * E}{m}};\) 竖直速度:\(v_y = v \,sin(ans) = g * t\) 水平距离:\(s = v_x * 2t = v \, ...
- 教你如何使用PyTorch解决多分类问题
本文分享自华为云社区<使用PyTorch解决多分类问题:构建.训练和评估深度学习模型>,作者: 小馒头学Python. 引言 当处理多分类问题时,PyTorch是一种非常有用的深度学习框架 ...
- 如何保证Spring Boot接口安全的呢?
在保证Spring Boot接口安全时,我们需要关注的主要方面包括:认证(Authentication).授权(Authorization).数据安全性(Data Security).以及防止常见的W ...
- Flask Session 登录认证模块
Flask 框架提供了强大的 Session 模块组件,为 Web 应用实现用户注册与登录系统提供了方便的机制.结合 Flask-WTF 表单组件,我们能够轻松地设计出用户友好且具备美观界面的注册和登 ...