伪装目标检测论文阅读 SAM大模型之参数微调:Conv LoRA

2024-04-29 01:20

本文主要是介绍伪装目标检测论文阅读 SAM大模型之参数微调:Conv LoRA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

paper:link
code:还没公开

摘要

  任意分割模型(SAM)是图像分割的基本框架。虽然它在典型场景中表现出显著的零镜头泛化,但当应用于医学图像和遥感等专门领域时,其优势就会减弱。针对这一局限性,本文提出了一种简单有效的参数高效微调方法Conv-Lora。通过将超轻量级卷积参数集成到低阶自适应(LORA)中,Conv-LoRa可以在普通VIT编码器中注入与图像相关的感应偏差,进一步强化了SAM的局部先验假设。值得注意的是,Conv-Lora不仅保留了SAM丰富的分割知识,而且恢复了其学习高层图像语义的能力,这一能力受到SAM前景-背景分割预训练的限制。跨多个领域的不同基准测试的全面实验强调了ConvLoRA在使SAM适应现实世界的语义分割任务方面的优势。

1.介绍

1)SAM的图像编码器是一种普通的VIT,众所周知,它缺乏视觉特定的感应偏差,这对密集预测有用。
2)SAM的预训练本质是一个二值掩膜预测任务,在给定一个指示的情况下,它将目标的前景和背景分离,低层掩码预测预训练阻碍了SAM捕获高层图像语义信息的能力,这些能力对于多类语义分割等任务至关重要。
  为了克服上述限制,同时仍然保留SAM在预训练期间获得有价值的分割知识,微调了一部分模型参数,同时冻结了SAM的大部分预先训练的权重,实现了参数高效微调(PEFT:parameter efficient finetuning ),从而提出一个问题:PEFT能否使用与图像相关的局部先验信息来增强SAM编码器,并促进高级语义信息的获取。
  在本文中,我们提出了一种新的PEFT方法,称为Conv-LORA,深入到低阶适应(LORA)(Hu等人,2021)。LORA将可训练的线性投影层引入SAM编码器的每一层变换器层,从而帮助恢复其提取高级语义信息的能力。我们的实验表明,LORA优于广泛采用的视觉提示调整(VPT)(Jia等人,2022),特别是在多类语义切分任务中。在Lora之上,Conv-Lora在其瓶颈结构中集成了轻量级卷积层。卷积可以通过局部空间运算引入与图像相关的局部先验信息(即一个像素与其相邻像素的相关性比与距离较远的像素更强)(Chen等,2022)。此外,考虑到目标尺度的潜在变化,在适当的尺度(S)中注入局部先验是必要的。为此,Conv-Lora从专家混合(MoE)的概念中获得灵感(Shazeer等人,2017年),并纳入了多个并行卷积专家,每个专家专门从事不同的特征规模。由于VIT以固定的比例处理图像特征,通常从原始分辨率向下采样16倍,Conv-Lora的每个专家最初以特定比例恢复图像特征,应用卷积运算,然后将特征恢复到默认比例。与VIT-Adaptor(Chen等人,2022)和Swin Transformer(Liu等人,2021A)等视觉特定转换器相比,Conv-Lora提供了一种隐式方法来实施多尺度局部先验,假设它可以利用默认尺度上的图像特征来重建更高尺度上的特征信息。幸运的是,SAM的监督预训练包括各种尺度的面具,使VIT能够获得超出默认尺度的图像特征知识。
  本着PEFT的精神,我们还去掉了提示编码器,并在掩码解码器中增加了轻量级的MLP,以实现多类预测。这一简单的修改将SAM转换为端到端模型,该模型可以在二进制和多类语义分割应用程序上进行微调。
总体而言,我们的贡献可以概括为:
1.我们提出了一种创新的PEFT技术Conv-Lora。通过加入辅助卷积运算,Conv-LoRa从处理普通VIT限制的角度加强了SAM的局部先验。
2.Conv-Lora使用MOE对动态选择适当的特征尺度以注入视觉特定的感应偏差的过程进行建模。
3.我们的研究表明,SAM的预训练阻碍了其VIT编码器学习高级图像语义信息的能力。然而,LoRA展示了帮助SAM恢复这一关键能力的潜力。
4.我们进行了一项涵盖多个领域的广泛基准,包括自然图像、农业、遥感和医疗保健。在各种下游任务中,Conv-Lora始终表现出优于其他PEFT技术的性能

2.模型结构图

在这里插入图片描述
Conv-LoRA插入了由MoE管理的轻量级卷积运算,额外参数可以忽略不计 ;在我们的方法中,虽然MoE主要用于预训练,但我们将MOE用作下游任务的参数高效调整的一部分。

3.方法

3.1 CONV——LoRA

LoRA:首先,让我们简要地回顾一下LORA(Hu等人,2021年)的设计,它使用编码器-解码器结构来对权重更新施加低阶约束。它冻结预先训练的模型权重,并将小的可训练秩分解矩阵注入变压器体系结构的每一层。具体地,在给定预先训练的权重矩阵的情况下,LoRA在其一侧增加了一对线性编码器 W e W_e We和解码器 W d W_d Wd,即可训练的秩分解矩阵。 W e W_e We W d W_d Wd满足低阶约束 W e ∈ R b × a {W_e} \in {R^{b \times a}} WeRb×a,
W d ∈ R b × r {W_d} \in {R^{b \times r}} WdRb×r r ≤ min ⁡ ( a , b ) r \le \min (a,b) rmin(a,b)
使用LoRA时,前向传播从 h = W 0 x h = {W_0}x h=W0x更改为:
h = W 0 x + W d W e x h={W_0}x+{W_d}{W_e}x h=W0x+WdWex
Conv-LoRA:旨在结合LORA的编码器和解码器组件之间的卷积运算。一方面,卷积可以注入与图像相关的局部先验,解决了VIT的根本局限性。另一方面,低阶约束确保卷积层保持极轻,保持了Conv-Lora的PEFT性质.
  在设计Conv-Lora时,一个关键的考虑因素是确定引入局部先验的特征映射的比例。虽然VIT中的功能地图在比例上是一致的,但对象蒙版通常包含广泛的比例范围。因此,在适当的范围内应用卷积运算是至关重要的。为了应对这一挑战,我们从混合专家(MoE)的概念中获得灵感(Shazeer等人,2017年)。MOE包括多个专家网络和选通模块,该选通模块动态地选择在前向传球期间激活哪个专家(S)(图2)。3)。将这一概念应用于Conv-LoRa,每个专家专门在特定比例的特征地图上卷积,紧凑的门控模块学习根据输入数据动态选择expert。数学上,用Conv-Lora,将等式更改为:
h = W 0 x + W d ( ∑ i n G ( W e x ) i E i ( W e x ) ) h = {W_0}x + {W_d}{(\sum\limits_i^n {G({W_e}x} )_i}{E_i}({W_e}x)) h=W0x+Wd(inG(Wex)iEi(Wex))
式子中 W 0 ∈ R C o u t × C i n {W_0} \in {R^{{C_{out}} \times {C_{in}}}} W0RCout×Cin, W e ∈ R r × C i n {W_e} \in {R^{{r} \times {C_{in}}}} WeRr×Cin, W d ∈ R C o u t × r W_d \in {R^{{C_{out}} \times r}} WdRCout×r, x ∈ R B × C i n × H × W x \in {R^{B \times {C_{in}} \times{H} \times {W}}} xRB×Cin×H×W,B是批量大小, C i n / C o u t C_{in}/C_{out} Cin/Cout为输入/输出通道数,H和W为对应高度和宽度。 E i E_i Ei是所有的n位expert中的第i为expert,G是仅激活top-k(默认为1)值的选通网络。
在每个expert内部,依次安排三个关键操作:重建特定比例尺的特征地图的内插函数、3×3卷积层,以及随后的将特征地图映射回VIT的默认特征比例尺的插补操作。假设expert E i E_i Ei负责规模 S i S_i Si,我们可以将其表示为:
E i ( x ) = I n t e r p o l a t e ( C o n v 3 × 3 ( I n t e r p o l a t e ( x , s i ) , 1 / s i ) E_i(x)=Interpolate({Conv_{3 \times 3}}(Interpolate(x,{s_i}),1/{s_i}) Ei(x)=Interpolate(Conv3×3(Interpolate(x,si),1/si)
例如,如果 s i s_i si等于4,则expert E i E_i Ei最初会将特征映射放大4倍,应用 C o n v 3 × 3 Conv_{3 \times 3} Conv3×3操作,最后将特征映射缩小4倍。

MoE vs.Multi-scale:与MoE不同的是,另一种应对不同规模的方法是采用多规模战略。该方法利用多个分支在不同的尺度上同时注入局部先验,并聚集结果。虽然这种方法看起来更简单,但与MoE相比,它的计算成本更高。MOE的效率源于其选择性地激活稀疏expert的能力,从而将计算开销降至最低。考虑到我们对高效微调的优先考虑,我们支持MoE作为一个有洞察力的选择。

3.2 END-TO-END MULTI-CALSS SEGMENTATION WITH SAM

基于SAM的端到端多类分割
  SAM由三个基本组件组成:图像编码器、提示编码器和掩码解码器。当提供图像和提示时,掩码解码器生成与给定提示相关联的对象的掩码,所述图像和提示可以采取点、框、掩码或文本的形式。虽然这种基于提示的方法使SAM可以灵活地集成到更大的系统中,例如交互式分段或检测和后续分段的组合,但它在使SAM成为实际应用中的端到端模型方面确实存在挑战。为了自动化SAM,我们冻结了提示编码器,因此在对下游任务进行微调时,总是不断地使用提示令牌来屏蔽解码器。此外,原始掩码解码器被设计为预测二进制掩码,根据给定的提示区分前景和背景。为了使SAM适应多类语义分割任务,我们引入了一个简单的分类分支(在图中描绘为红色虚线框。4)在掩码解码器内。这个额外的分支负责预测分类分数。此外,我们对掩码解码器进行了全面的微调,因为它是一个轻量级的模块。
在这里插入图片描述

4.实验(experiments)

在COD任务上的表现:
在这里插入图片描述

5.结论

  参数高效微调(PEFT)是使基础模型适应各种下游任务时的一种流行方法。我们提出了一种新的将SAM应用于下游细分应用的PEFT方法Conv-LORA。Conv-LORA简单、通用,在自然图像、农业、遥感和医疗保健等多个领域取得了令人振奋的结果。此外,我们的研究还揭示了SAM的几个方面:1)虽然大规模监督分割预训练可以从数据的角度提供与图像相关的局部先验知识,但在VIT编码器中加入轻量级卷积运算可以从另一个体系结构的角度进一步促进对局部先验知识的开发;2)前景-背景分割预训练阻止图像编码器学习高层语义信息,这可以通过对编码器中相对较少的参数进行微调来缓解。我们的工作主要集中在为SAM开发通用的PEFT方法,在广泛的基准测试中显示出比现有PEFT方法更好的性能,而不是在专门领域与最先进的(SOTA)模型直接竞争。考虑到使用Conv-Lora微调的SAM可能还不能始终优于特定于域的SOTA模型,我们认为,在图像编码器微调的基础上定制掩码解码器和即时编码器,并将Conv-Lora与其他PEFT方法相结合可能是特定于域的应用的有前途的方向。

这篇关于伪装目标检测论文阅读 SAM大模型之参数微调:Conv LoRA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944758

相关文章

论文笔记Understanding and Diagnosing Visual Tracking Systems

最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果。本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错误和疏漏还请见谅。本文参考了hjl240的文章:追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems) 近些年已经出了一

前端JS必用工具【js-tool-big-box】学习,检测当前是否为手机端浏览器,检测某元素是否处于当前可视范围内

这一小节,js-tool-big-box工具库又迎来了两个非常实用功能成员,分别是检测当前浏览器是否为手机端浏览器,还有检测某元素当前是否处于可视范围内。 1 安装引入 通过npm安装,执行以下命令 npm i js-tool-big-box 这两个功能,工具库提供了一个叫browserBox的对象,所以代码中需要引入这个对象 import { browserBox } from

【阅读】《Head First HTML 与 CSS》 第二章——深入了解超文本

这一章同样也没有什么新的东西,我是扫着看的。。。写写bullet point加深一下印象吧 想从一个页面链接到另一个页面时,要使用<a>元素<a>元素的href属性指定了链接的目标文件<a>元素的内容是链接的标签。这个标签就是你在网页上看到的链接文本。默认的,这个标签会有下划线,只是这个是可以单击的。单击一个链接时,浏览器会加载href属性中指定的Web页面可以链接到相关文件夹中的文件,也可

【阅读】《Head First HTML 与 CSS》第一章——认识HTML

HTML:超文本标记语言(hypertext marker language) web就是由它来创建的 web服务器的作用:接收请求并查找请求资源,还要发回去 web浏览器的作用:接收那个资源并显示出来 注意:浏览器会忽略HTML文档中的制表符、回车和大部分空格 要记住:元素=开始标记+内容+结束标记所有结束标记都有一个"/" CSS的作用:告诉浏览器页面中的元素如何来显示 对了当我看

【阅读】《head first HTML与CSS》——前言

嘻嘻~刚刚看完《head first JSP & Servlet》现在有开始看HTML的了,好奇怪,感觉自己读反了。。。JSP应该是进阶才是的呢 如何才能更好的去学习这一本书呢?把这本书看作是一个大老虎好了,人们认为大老虎会对自己的生命产生威胁,所以就很深刻地记住了大老虎,同样把学习新知识当作是面对一个大老虎就更深刻的记下这个知识(如果你记不下你就会被老虎吃掉) 还有就是尽一切可能让大脑活动起

【阅读】《Head First JavaScript》第八章——驾驭网页(利用DOM)分割HTML

复习要点: 通过javascript访问HTML元素:使用id作为连接的桥梁,通过document对象的getElementById和getElementByTagName方法使用id为参数,即可获得页面中的HTML对象,注意getElementByTagName的返回值是一个数组通过js对象中的innerHTML来修改数据这个方法不是万维网的标准,它是由Microsoft创建的,但是很多地方

【阅读】《Head First Javascript》第七章——表单与验证

复习要点 只要那个元素的焦点不在了,就会触发onblur时间,无论用户有没有在那里输入数据。与它相似的是onchange事件,就是当数据改变的时候触发,一般用在允许用户编辑数据并另外存储的表单每个表单域均可作为javascript对象而被访问在表单域对象里有一个form属性,使用数组表示了整个表单的域onblur事件于输入焦点离开某个域时发生,它是触发数据验证函数的绝佳方式alert框是种很烦

【阅读】《Head First Javascript》第六章——函数

复习要点: 函数让我们转换大问题至小问题,小问题较容易解决函数提供了分离脚本任务的机制,而后再以可再利用的程序代码块予以统合函数是种削减重复代码的极佳方式,因为函数里的程序代码能依你的意愿尽情重复使用自变量让你传递数据至函数里,作为既定任务的输入return语句本身能用于结束函数return语句让函数返回数据给调用函数的代码函数返回一段数据时,数据将被放到调用函数的代码中函数只能返回一块函数r

【阅读】《head first javascript》第四章——决策

复习要点 使用if语句,有条件地运行一段javascript代码if语句的条件测试句,结果必须只能为true或false使用if/else语句,有条件地运行一或两段javascript代码使用复合语句,如运行单一语句一样运行多端javascript代码以一对大括号({})围住多个单一语句,即可创建复合语复合语句if和if/else语句的行动部分能执行多项行动注释(comment)适合提醒还有未

【阅读】《Head First javascript》第三章——探索客户端

复习要点 setTimeout()函数让我们创建单次定时器,这种定时器将于一段实线后触发的javascript代码设定以固定间隔启动的定时器,请使用setInterval()创建间隔定时器定时器的时限单位是毫秒,1000毫秒等于1秒网页元素具有设定样式的style对象,width、height都是样式客户端窗口是浏览器窗口的一部分,只负责呈现网页,其他不关他的事你可以透过document对象的