首页 > 其他分享 >SAM适配下游任务的探究:SAM Adapter

SAM适配下游任务的探究:SAM Adapter

时间:2023-08-15 11:40:36浏览次数:41  
标签:分割 SAM 适配 Adapter arXiv 任务 模型

本文分享自华为云社区《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适配下游任务的探究:SAM Adapter_Image

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

SAM适配下游任务的探究:SAM Adapter_SAM-Adapter_02

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

SAM适配下游任务的探究:SAM Adapter_SAM-Adapter_03

SAM适配下游任务的探究:SAM Adapter_图像分割_04

SAM适配下游任务的探究:SAM Adapter_SAM-Adapter_05

SAM适配下游任务的探究:SAM Adapter_图像分割_06

SAM适配下游任务的探究:SAM Adapter_SAM-Adapter_07

SAM适配下游任务的探究:SAM Adapter_数据集_08

SAM适配下游任务的探究:SAM Adapter_数据集_09

SAM适配下游任务的探究:SAM Adapter_SAM-Adapter_10

[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,适配,Adapter,arXiv,任务,模型
From: https://blog.51cto.com/u_15214399/7086332

相关文章

  • Springboot中实现适配器模式
    当在SpringBoot中实现适配器模式时,可以按照以下步骤进行详细的实现:1.首先,定义一个目标接口(TargetInterface):publicinterfaceTarget{voidrequest();}目标接口定义了适配器需要实现的方法。2.创建一个适配器类(AdapterClass),实现目标接口,并适配一个已有的类或接......
  • 网络适配器网卡名称变成wlan2的解决方法
    1、问题现状ipconfig/all的时候发现网络适配器网卡名称变成wlan2了 2、原因分析操作了驱动程序更新、网卡更换、操作系统更新等等会导致网络适配器网卡的名称改变,具体的原因为:第一张网卡是 WLAN,而拔掉第一张网卡或更新驱动、系统之后,第一张网卡变成了隐藏的设备,并占用了......
  • 跨平台xamarin.Android 开发之 :适配各架构(X86_64 、 X86、arm64-v8a、 armeabi-v7a )
    此代码的编写花费了脑细胞:在每次编码开启编码器到只需要一次编码器的开启优化前提:编译好FFMpeg的各平台的动态库基本上Android X86_64、X86、arm64-v8a、armeabi-v7a采用FFmpeg编码的方式基本一直。差异是内存分配和取指有所不同,如果分配不对,直接闪退。先看看通用的编码......
  • 跨平台xamarin.Android 开发之 :适配各架构(X86_64 、 X86、arm64-v8a、 armeabi-v7a )
    此代码的编写花费了脑细胞:在每次解码开启解码器到只需要一次解码器的开启优化前提:编译好FFMpeg的各平台的动态库Windows、Android(X86_64、X86、arm64-v8a、armeabi-v7a)解码相对编码要简单一些,因为不涉及到AVFrame取指转换解码包括:创建解码器、解码、释放解码器us......
  • 跨平台xamarin.Android 开发之 :适配各架构(X86_64 、 X86、arm64-v8a、 armeabi-v7a
    从事Windows,项目探索预研跨平台开发,对Android只知道有X86_64、X86、arm64-v8a、  armeabi-v7a这么个东西其他空白。编译入手采用Xamarin.Android开发。通过摸索。在Xamarin.Android中使用FFmpeg编解码,需要获取源码编译成对应Android架构的so动态库,如何编译不在此处讨论,稍......
  • SAM-U升级SAM | 带你分析SAM的弱点并重新优化设计填补空缺
    前言 最近,SAM向通用人工智能迈出了重要的一步。同时,它的可靠性和公平性也引起了人们的极大关注,尤其是在医疗保健领域。在这项研究中,作者提出了SAM线索的Multi-box即时触发不确定性估计,以证明分割病变或组织的可靠性。作者使用具有先验分布参数的蒙特卡罗来估计SAM预测的分布,使......
  • 拓端tecdat|R语言实现k-means聚类优化的分层抽样(Stratified Sampling)分析各市镇的人
    最近我们被客户要求撰写关于k-means聚类的研究报告,包括一些图形和统计输出。简介假设我们需要设计一个抽样调查,有一个完整的框架,包含目标人群的信息(识别信息和辅助信息)。如果我们的样本设计是分层的,我们需要选择如何在总体中形成分层,以便从现有的辅助信息中获得最大的优势。换句话......
  • Striving for Simplicity and Performance in Off-Policy DRL: Output Normalization
    发表时间:2020(ICML2020)文章要点:这篇文章基于SAC做简单并且有效的改进来提升效果。作者首先认为SAC里面的entropy是为了解决actionsaturationduetotheboundednatureoftheactionspaces,这个意思就是说动作空间假如约束到[0-1],动作通常会在0和1两个端点处,而加了entropy可......
  • 假期总结TABLESAMPLE函数
    进行随机抽样,本质上就是用TABLESAMPLE函数语法1,基于随机分桶抽样:SELECT...FROMtblTABLESAMPLE(BUCKETxOUTOFyON(colname|rand()))y表示将表数据随机划分成y份(y个桶)x表示从y里面随机抽取x份数据作为取样colname表示随机的依据基于某个列的值rand()表示随机的依据......
  • Axure 9无法设置移动设备适配的解决方法
    虽然Axure9做了很多移动端的适配工作,移动端的设计体验也好了很多,但是只是在PC端预览有移动端的效果,在移动设备上浏览却没有自动适应屏幕的效果,而且也没有设置移动端的适配的入口而在Axure8中是有这个设置面板的,设置非常方便,如下:   那如何才能设置移动端适配呢,还是有办......