首页 > 其他分享 >SAM已经Out了!TS-SAM:适应下游任务的分割一切!

SAM已经Out了!TS-SAM:适应下游任务的分割一切!

时间:2024-08-18 14:16:13浏览次数:5  
标签:SAM 特征 微调 TS 旁路 任务 Out

前言 本文通过设计一种统一的微调策略来解决自注意力机制(Self-Attention Mechanism,SAM)在各种下游任务中表现次优的挑战,以提升SAM在不同应用场景下的有效性。受基于旁路网络的微调方法的启发,提出了双流自注意力机制(Two-Stream SAM,TS-SAM),以在不同下游任务中统一微调SAM。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

本文转载自计算机视觉工坊

仅用于学术分享,若侵权请联系删除

CV方向的准研究生们,未来三年如何度过?

招聘高光谱图像、语义分割、diffusion等方向论文指导老师

0. 这篇文章干了啥?

作为在超过1100万张图像上进行预训练的大型视觉模型,Segment-Anything Model(SAM)已引起研究人员的兴趣。然而,最近的研究表明,SAM在包括伪装目标检测(Camouflaged Object Detection,COD)、阴影检测和显著目标检测(Salient Object Detection,SOD)在内的下游任务中难以取得令人满意的性能。

如何更好地将在大规模通用数据集上预训练的大型模型适应于不同的下游任务,是大型模型应用中的一个关键问题。为解决这一问题,已存在大量关于参数高效微调(Parameter-Efficient Fine-Tuning,PEFT)的研究。一些方法采用轻量级的适配器或提示(Prompt)来弥合通用大型模型与各种下游任务之间的差距。在训练过程中,仅更新少量适配器或提示参数,从而降低存储和计算成本。最近,基于旁路网络的微调方法也受到了关注。该方法在大模型中添加一个轻量级的旁路网络,并在训练过程中仅对旁路网络进行微调。旁路网络将大模型主干网络提取的特征调整为满足下游任务的要求。

目前,已有一些工作尝试使用PEFT对SAM进行微调。SAM-Adapter在SAM编码器中引入了轻量级适配器,提高了SAM在COD和阴影检测任务上的性能。SSOM则利用固有的低秩结构对SAM进行自适应微调,从而提高了SAM在SOD任务上的性能。SAM-Adapter和SSOM都是探索SAM在下游任务中应用能力的开创性工作。然而,这些微调后的SAM与最近的特定领域模型之间仍存在显著的性能差距。

在本文中,我们旨在通过设计一种统一的微调策略来解决自注意力机制(Self-Attention Mechanism,SAM)在各种下游任务中表现次优的挑战,以提升SAM在不同应用场景下的有效性。受基于旁路网络的微调方法的启发,我们提出了双流自注意力机制(Two-Stream SAM,TS-SAM),以在不同下游任务中统一微调SAM。具体而言,我们设计了一个轻量级的卷积旁路适配器(Convolutional Side Adapter,CSA),以辅助SAM在各种具有挑战性的场景下运行。此外,根据分割任务的特点,我们提出了多尺度细化模块(Multi-scale Refinement Module,MRM),以提取图像的更精细位置特征,从而实现更细粒度的分割。在解码过程中,我们设计了特征融合解码器(Feature Fusion Decoder,FFD),以在解码过程中整合不同尺度的特征,从而产生更精细的分割结果。

下面一起来阅读一下这项工作~

1. 论文信息

标题:TS-SAM: Fine-Tuning Segment-Anything Model for Downstream Tasks

作者:Yang Yu, Chen Xu, Kai Wang

机构:天津大学

原文链接:https://arxiv.org/abs/2408.01835

代码链接:https://github.com/maoyangou147/TS-SAM

2. 摘要

为了提升自注意力机制(Self-Attention Mechanism,SAM)在下游任务中的性能,已对基于适配器的微调方法进行了研究。然而,微调后的SAM与特定领域模型之间仍存在显著的性能差距。为了缩小这一差距,我们提出了双流自注意力机制(Two-Stream SAM,TS-SAM)。一方面,受参数高效微调(Parameter-Efficient Fine-Tuning,PEFT)中旁路网络的启发,我们设计了一个轻量级的卷积旁路适配器(Convolutional Side Adapter,CSA),该适配器将SAM的强大特征集成到旁路网络训练中,以实现全面的特征融合。另一方面,根据分割任务的特点,我们设计了多尺度细化模块(Multi-scale Refinement Module,MRM)和特征融合解码器(Feature Fusion Decoder,FFD),以同时保留详细特征和语义特征。在来自三个任务的十个公共数据集上进行了大量实验,结果表明,TS-SAM不仅显著优于最近提出的SAM-Adapter和SSOM,而且与最先进的特定领域模型相比也取得了具有竞争力的性能。我们的代码可在以下网址获取:https://github.com/maoyangou147/TS-SAM

3. 效果展示

图1展示了在COD10K数据集的部分图像上,所提出的TS-SAM与SAM、SAM-Adapter以及最先进(SOTA)的特定领域模型之间的比较,展示了TS-SAM的优越性。此外,TS-SAM是轻量级的,其ViT-h版本仅需要29.44M个可训练参数,占总模型参数量的4.4%,这使得不同下游任务仅需存储少量参数副本。

4. 主要贡献

本文的主要贡献总结如下:

1)我们首次将旁路网络引入SAM的微调中。创新性地提出了双流旁路网络结构,有效地从SAM编码器中提取特征。

2)我们针对分割任务提出了多尺度细化模块(MRM)和特征融合解码器(FFD)。这些模块通过高分辨率的层次特征获取精细的目标位置信息,并在解码过程中充分融合这些信息,以实现详细的分割结果。

3)我们在来自三个任务(包括COD、阴影检测和SOD)的十个公共数据集上评估了所提出的TS-SAM。实验结果表明,TS-SAM在针对这些下游任务微调SAM的近期工作中表现显著优于其他方法,甚至与专为每个任务设计的最先进(SOTA)特定领域模型相比也具有竞争力。

5. 基本原理是啥?

图2(a)展示了所提出TS-SAM的总体架构。我们采用预训练的SAM ViT作为主干网络,并为下游任务的微调设计了一系列轻量级模块。给定一张图像I ∈ R^(3×H×W),通过SAM图像编码器提取视觉特征Fvit ∈ R^(C×H/16×W/16)。同时,通过堆叠的卷积旁路适配器(CSA)逐层提取SAM图像编码器的特征,得到适应于下游任务的图像特征Fcsa ∈ R^(C1×H/16×W/16)。为了从图像编码器中提取更详细的特征,我们提出了多尺度细化模块(MRM)。MRM对上采样来自图像编码器各层的特征嵌入,创建了一个层次化的特征表示{Fk_mrm}^2_{k=1}。进一步地,一个轻量级的门控单元连续地将来自SAM图像编码器较低层到较高层的特征进行合并,从而收集更丰富的图像细节特征。在解码过程中,我们没有使用SAM的掩码解码器,因为SAM解码器需要如点或框等提示才能达到良好效果,而通过单次前向传播分割多个目标具有挑战性。因此,我们设计了轻量级的特征融合解码器(FFD),将层次化特征表示{Fk_mrm}^2_{k=1}注入到从CSA获得的特征Fcsa中,以增强特征表示,从而获得精细的分割掩码。FFD在Fcsa的上采样过程中逐步合并层次化特征表示,通过两阶段注入方法突出层次化特征表示中的关键信息。最后,为了降低训练成本,在训练过程中冻结SAM图像编码器,仅训练卷积旁路适配器、多尺度细化模块和特征融合解码器,且这三个组件均为轻量级。

6. 实验结果

表I展示了TS-SAM与SAM、SAM-Adapter以及当前最优的特定领域模型在四个常用COD数据集上的结果对比。我们的模型仅微调了4.4%的参数,并且没有为该任务设计特定的模块,就在所有四个数据集上取得了具有竞争力的性能。特别是在两个最大的数据集COD10K和NC4K上,TS-SAM在大多数指标上都取得了最佳结果。对于COD10K数据集,我们的模型在Sα和Fwβ上分别比次优方法SARNet高出3.3%和4.4%,并将MAE降低了19.0%。在NC4K数据集上,我们的模型在Sα、Fwβ和MAE上均达到了当前最优性能,并在Sα上比SARNet高出1.8%。这些结果充分证明了我们模型的强大泛化能力。

7. 总结 & 未来工作

本文中,我们专注于大型视觉模型SAM在下游任务中的高效微调。为了充分利用在大规模数据集上预训练的SAM的优势,我们引入了TS-SAM。我们首次将旁路网络的概念应用于SAM的微调中,通过轻量级的卷积旁路适配器(CSA)实现。此外,根据分割任务的特点,我们设计了多尺度细化模块(MRM)和特征融合解码器(FFD),以从高分辨率图像中提取详细特征。在三个下游任务上的实验表明,我们的模型超越了现有的SAM高效微调方法,并且与为每个任务专门设计的最先进(SOTA)领域特定模型相比,也能达到具有竞争力的性能。

对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~

 

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

分享一个CV知识库,上千篇文章、专栏,CV所有资料都在这了

明年毕业,还不知道怎么做毕设的请抓紧机会了

LSKA注意力 | 重新思考和设计大卷积核注意力,性能优于ConvNeXt、SWin、RepLKNet以及VAN

CVPR 2023 | TinyMIM:微软亚洲研究院用知识蒸馏改进小型ViT

ICCV2023|涨点神器!目标检测蒸馏学习新方法,浙大、海康威视等提出

ICCV 2023 Oral | 突破性图像融合与分割研究:全时多模态基准与多交互特征学习

听我说,Transformer它就是个支持向量机

HDRUNet | 深圳先进院董超团队提出带降噪与反量化功能的单帧HDR重建算法

南科大提出ORCTrack | 解决DeepSORT等跟踪方法的遮挡问题,即插即用真的很香

1800亿参数,世界顶级开源大模型Falcon官宣!碾压LLaMA 2,性能直逼GPT-4

SAM-Med2D:打破自然图像与医学图像的领域鸿沟,医疗版 SAM 开源了!

GhostSR|针对图像超分的特征冗余,华为诺亚&北大联合提出GhostSR

Meta推出像素级动作追踪模型,简易版在线可玩 | GitHub 1.4K星

CSUNet | 完美缝合Transformer和CNN,性能达到UNet家族的巅峰!

AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

计算机视觉入门1v3辅导班

计算机视觉交流群

标签:SAM,特征,微调,TS,旁路,任务,Out
From: https://www.cnblogs.com/wxkang/p/18365606

相关文章

  • 024、Vue3+TypeScript基础,使用withDefaults在父传子没数据时给出默认值
    01、index.ts代码如下://定义一个接口,用于限制person对象的具体属性exportinterfacePersonInter{id:string;name:string;age:number;}exporttypePersons=Array<PersonInter>;02、App.vue代码如下;<template><divclass="app">&......
  • 【防忘笔记】Spring+Struts2古董框架学习
    Spring+Struts2项目框架梳理若基于Spring+Struts2的方式进行开发,前后端的交互逻辑会与boot系以及MCV的组织结构有所不同这里是对于学习过程的一些记录前置通用知识Struts2框架资料Struts2基础篇之基本概念Java之struts2框架学习一般情况的Spring前后端调试流程要理解基于......
  • 使用 preloadComponents 进行组件预加载
    title:使用preloadComponents进行组件预加载date:2024/8/18updated:2024/8/18author:cmdragonexcerpt:摘要:本文介绍Nuxt3中的preloadComponents功能,用于预加载全局注册的组件以减少首次渲染阻塞时间,通过实例演示如何设置并使用该工具来提升页面性能。categories:......
  • ArkTS 页面和自定义组件生命周期
    页面生命周期,即被@Entry装饰的组件生命周期,提供以下生命周期接口: onPageShow:页面每次显示时触发一次,包括路由过程、应用进入前台等场景。onPageHide:页面每次隐藏时触发一次,包括路由过程、应用进入后台等场景。onBackPress:当用户点击返回按钮时触发。      ......
  • 创建Arkts的类,方法
    由于我是做后端的,学习的时候一直好奇怎么和c#一样创建类-方法,找到的时候废了一番精力,希望能够帮助到你1.先创建一个ArkTS文件  2.代码import{http}from'@kit.NetworkKit'import{JSON}from'@kit.ArkTS';import{LanguageDto}from'../pages/Dtos/LanguageD......
  • C语言 错误 C4716 “printstar”: 必须返回一个值
    错误:解决办法: 此类代码显然不需要返回值1.点击“项目”——“属性”2.点击“C/C++”中的“高级”——“禁用特定警告”中输入“4716”——点击“确定” 3.重新运行即可成功 ......
  • Vue 报错error:0308010C:digital envelope routines::unsupported
    目录Vue报错error:0308010C:digitalenveloperoutines::unsupported方法1.打开终端(按健win+R弹出窗口,键盘输入cmd,然后敲回车)并按照说明粘贴这些:方法2.安装vnm及node版本方法3.在项目package.json文件中增加配置Vue报错error:0308010C:digitalenveloperoutine......
  • ansible 开启facts_cache缓存
    目录1.常见的缓存插件及其存储位置2.如何查询缓存的变量总结通过facts_cache缓存的变量通常存储在由Ansible配置文件中指定的位置,具体位置取决于你使用的缓存插件。下面是几个常见的缓存插件和它们的存储方式,以及如何查询这些缓存变量。1.常见的缓存插件及其存储位置j......
  • 热力学平衡、Liftshitz 理论和朗道理论
    科学家们经过广泛的实验发现:熔化往往始于固体表面。熔化时,体系由“固体-气体接触”变为"固体-熔化层接触+熔化层-气体接触“。如果后者的能量更稳定,则说明熔化的确更容易在表面发生。将这一结论推广到温度低于熔点的情况即可在热力学平衡角度解释预熔现象。下面简要考察这一......
  • Echarts
    echarts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。1.echarts语法title:标题组件title:{text:'标题信息'}tooltip:提示框组件//图表......