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 分怎么做 ...
随机推荐
- 【Unity3D】Shader Graph简介
1 Shader Graph 简介 Shader Graph 是 Unity 官方在 2018 年推出的 Shader 制作插件,是图形化的 Shader 制作工具,类似于 Blender 中的 ...
- log4j2同步日志引发的性能问题
1 问题回顾 1.1 问题描述 在项目的性能测试中,相关的接口的随着并发数增加,接口的响应时间变长,接口吞吐不再增长,应用的CPU使用率较高. 1.2 分析思路 谁导致的CPU较高,阻塞接口TPS的增 ...
- Java服务总在半夜挂,背后的真相竟然是...
写在前面 最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了 问题排查 问题复现 为了复现该问题,写 ...
- git报错fatal: unable to access 'https://github.com/hxx.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
今天拉git代码报错 弄好了,下面是解决方法: 在网上查了很多办法都没有解决,有的方法是https连接模式改成ssh模式,或者是修改代理,比如: git config --global http.pr ...
- c#中工厂模式详解
总体介绍: 工厂模式主要有三种类型:简单工厂.工厂方法和抽象工厂,该模式用于封装和管理对象的创建,是一种创建型模式. 万物皆对象,创建对象时必然需要new该对象,当需要更改对象时,需要把项目中 ...
- PostgreSQL 序列(Sequence)
基本操作 --新增序列 CREATE SEQUENCE xxx_id_seq INCREMENT 1 -- 一次加多少 MINVALUE 1 -- 最小值 START 1 --从多少开始 CACHE ...
- 快速入门:构建您的第一个 .NET Aspire 应用程序
前言 云原生应用程序通常需要连接到各种服务,例如数据库.存储和缓存解决方案.消息传递提供商或其他 Web 服务..NET Aspire 旨在简化这些类型服务之间的连接和配置.在本快速入门中,您将了解如 ...
- 为什么FPGA中推荐使用独热码?
独热码只有一个比特位不同,所以在进行比较的时候: 假如我们要判断状态机是否处于某状态S1,代码如下 格雷码:assign S1 = (STATUS == 2'b01) 二进制码:assign S1 = ...
- 2022 RedisDays 内容揭秘
上个月,Redis举办了3场线上会议,分别介绍了即将正式发布的Redis 7中包括的重要更新的内容,还有Redis完全重写的RedisJSON 2.0模块,和新发布的Redis Stack模块.除此之 ...
- Hnswlib 介绍与入门使用
Hnswlib是一个强大的近邻搜索(ANN)库, 官方介绍 Header-only C++ HNSW implementation with python bindings, insertions a ...