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 分怎么做 ...
随机推荐
- WPF 笔迹算法 从点集转笔迹轮廓
本文将告诉大家一些笔迹算法,从用户输入的点集,即鼠标轨迹点或触摸轨迹点等,转换为一个可在界面绘制显示笔迹画面的基础数学算法.尽管本文标记的是 WPF 的笔迹算法,然而实际上本文更侧重基础数学计算,理论 ...
- client-go实战之七:准备一个工程管理后续实战的代码
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<client-go实战> ...
- 14.8 Socket 一收一发通信
通常情况下我们在编写套接字通信程序时都会实现一收一发的通信模式,当客户端发送数据到服务端后,我们希望服务端处理请求后同样返回给我们一个状态值,并以此判断我们的请求是否被执行成功了,另外增加收发同步有助 ...
- sed 原地替换文件时遇到的趣事
哈喽大家好,我是咸鱼 在文章<三剑客之 sed>中咸鱼向大家介绍了文本三剑客中的 sed sed 全名叫 stream editor,流编辑器,用程序的方式来编辑文本 那么今天咸鱼打算讲一 ...
- Guess-the-Number
第一次做压缩包逆向 了解到的用jd-gui打开 得到的简单代码可以在在线平添运行
- 等保测评之主机测评——Centos7
目录 基础信息收集 (一)身份鉴别 (二)访问控制 (三)安全审计 (四)入侵防范 (五)恶意代码防范 (六)可信验证 (七)数据完整性 (八)数据保密性 (九)数据备份恢复 (十)剩余信息保护 命令 ...
- UIPath动态操作控制
如果放弃太早,你永远都不知道自己会错过什么. 一.浏览器 打开浏览器:OpenBrowser: 关闭浏览器:Close Tab.Close Application.Kill Process: 二. 鼠 ...
- Vue03-组件化
01. 组件化思想 当我们面对一个复杂问题的时候,常见的.高效的做法就是对复杂问题进行拆分, 将复杂问题拆分成一个个小的.简单的问题, 逐一解决小问题,再将处理好的小问题整合到一起, 如此解决复杂问题 ...
- 【Javaweb】做一个房产信息管理系统三(src目录的部署工作【三层框架】各个层含义)
接下来,我打算进行Java文件的部署工作,但实际上为了得到更多的分数,我们还是应该先做页面 首先我们需要了解对于Javaweb,src下的目录应该如何部署:(三层架构单独开一篇讲) 那么这些都有什么含 ...
- Apache Paimon流式湖仓学习交流群成立
Apache Paimon是一个流式数据湖平台.致力于构建一个实时.高效的流式数据湖平台.这个项目采用了先进的流式计算技术,使企业能够实时处理和分析大量数据.Apache Paimon 的核心优势在于 ...