【论文阅读笔记】Explicit Visual Prompting for Low-Level Structure Segmentations

1.介绍

Explicit Visual Prompting for Low-Level Structure Segmentations
低级结构分割的显式视觉提示
2023年发表在IEEE CVPR
Paper Code

2.摘要

检测图像中低级结构(低层特征)一般包括分割操纵部分、识别失焦像素、分离阴影区域和检测隐藏对象。虽然每个此类主题通常都是通过特定领域的解决方案来解决的,但统一的方法在所有这些主题中都表现良好。从 NLP 中广泛使用的预训练和提示调整协议中汲取灵感,本文提出了一种新的视觉提示模型,称为显式视觉提示(EVP)。与之前的视觉提示(通常是数据集级隐式嵌入)不同,本文强调的是强制调整参数,重点关注每个单独图像的显式视觉内容,即来自冻结补丁嵌入的特征和输入的高频成分。在相同数量的可调参数下(每个任务有 5.7% 的额外可训练参数),所提出的 EVP 显着优于其他参数高效的调整协议。

就是不同于直接把输入给到网络模型让它自己学习,学习内容不可知的隐式视觉提示,本文提出了显示视觉提示,调整参数重点关注频域的高频输入部分(即低层特征)。

Keywords:显式视觉提示,频域高频部分

3. Introduction

图像编辑和操作算法的进步使得创建逼真但虚假的图片变得容易。由于其与监视和犯罪相关的潜在负面影响,检测此类被操纵区域成为一个重要问题。众所周知,低级结构(低级特征)有利于篡改区域检测,比如调整大小和复制粘贴将破坏原始图像与被纂改图像之间的 JPEG 压缩级别,被纂改图像的噪声水平并且背景也不同。要分割模糊像素、阴影区域和隐藏物体,低级线索也很重要。虽然所有这些任务都属于低级结构分割,但它们是通常由具有精心设计的网络架构的特定领域解决方案来解决。此外,缺乏大规模数据集通常被认为是限制性能的主要因素。

本文基本思想是使用最少的额外可训练参数,有效地将冻结的大型基础模型适应许多下游任务。由于基础模型已经在大规模数据集上进行了训练,因此提示通常会导致下游任务上更好的模型泛化,特别是在注释数据有限的情况下。提示还显着节省了模型的存储,因为它只需要保存共享的基本模型和任务感知提示。

视觉提示调整。即使在GPT3中手动选择提示的少量或零次设置中,也可以对下游迁移学习任务进行强大的泛化。最近,提示已经适应视觉任务。有任务提出了记忆令牌,这是一组可学习的嵌入向量的每个Transformer层。VPT 提出了类似的想法,并通过跨多个领域和骨干架构的多种识别任务的广泛实验来研究视觉提示的通用性和可行性。不像VPT重点是识别任务,本文的工作旨在探索低层次结构分割的最佳视觉内容。

伪造检测的目标是检测手动操作的像素,例如被删除、替换或编辑的像素。早期的方法通过局部噪声水平的不一致来检测区域拼接,基于不同来源的图像可能包含由传感器或后处理步骤引入的不同噪声特性的事实。其他线索也很有帮助,例如SIFT,JPEG压缩伪影和重新采样伪影。最近,有人通过在标记的训练数据上训练一个完全卷积的网络来学习检测剪接。还有结合生成对抗网络(GAN)来检测复制移动攻击。Huh等人提出将摄影元数据作为一种自由而丰富的监督信号,用于学习自我一致性,并应用训练后的模型来检测拼接。最近,TransForensic利用视觉Transformer来解决这个问题。高频元件在这一领域仍然是有用的优先级。RGB-N设计了一个额外的噪声流。ObjectFormer提取高频特征作为视觉内容的补充信号。但与ObjectFormer不同的是,本文的主要重点是利用高频组件作为一种激励设计,以有效地适应不同的低级分割任务。

4.网络结构详解

显式视觉分割(EVP),基于在ImageNet 上预训练的视觉变换器(SegFormer),用以低级结构分割。EVP冻结backbone的参数,只包含少量的可调参数,从冻结补丁嵌入和高频分量的特征中学习特定于任务的知识。模型总体结构图如下:
在这里插入图片描述
如右边所示,图像输入,经过补丁嵌入层获取到的特征入Embedding Tune层,获取补丁分量,图像经过HFC Extraction 提取层提取到高频分量,首先将两者相加入适配器Adaptor得到自适应后的输出;将补丁分量与自适应后的结果相加,入Transformer层,输出结果再与自适应的分量相加入下一Transformer层,循环几次;最后的输出进入第二阶段。

需要注意的是,backbone比如SegFormer是预训练好的,它的参数无需再调整,只需调整Embedding Tune,HFC Extraction ,和Adaptor的参数。

SegFormer
SegFormer是一个基于transformer的分层结构,具有更简单的语义分割解码器。与传统的CNN主干类似,SegFormer通过几个阶段捕获多个陈旧特征。因此,每个阶段都是通过特征嵌入层1和视觉Transformer块构建的。至于解码器,它利用来自编码器和MLP层的多尺度特征来解码特定的类。注意,所提出的提示策略不限于SegFormer,并且可以容易地适应于其他网络结构。

高频分量
对于维数为H ×W的图像I,可以将其分解为低频分量Il(LFC)和高频分量Ih(HFC),即 I = { I l , I h } I = {\{Il,Ih\}} I={IlIh}。将fft和ifft分别表示为快速傅立叶变换及其逆变换,使用z来表示I的频率分量。因此有 z = f f t ( I ) z = fft(I) z=fft(I) I = i f f t ( z ) I = ifft(z) I=ifft(z)。将低频系数移到中心(H/2,W/2)。为了获得HFC,生成二进制掩码 M h ∈ { 0 , 1 } H × W M_h ∈ {\{0,1\}}^{H×W} Mh{01}H×W,并根据掩码比τ将其应用于z:
在这里插入图片描述
τ表示掩蔽区域的表面比。HFC可以计算:在这里插入图片描述
类似地,可以适当地定义二进制掩码 M l ∈ { 0 , 1 } H × W M_l ∈ {\{0,1\}}^{H×W} Ml{01}H×W以计算LFC:

在这里插入图片描述
LFC可以表示为:在这里插入图片描述
请注意,对于RGB图像,独立地在每个像素通道上计算上述过程。

显式视觉提示
显式视觉识别(EVP):从补丁嵌入和高频分量中学习明确的提示。学习前者来将分布从预训练数据集转移到目标数据集。而学习后者的主要动机是通过数据增强来学习预训练模型对这些特征保持不变。与学习隐式提示的VPT不同,它由三个基本模块组成:补丁嵌入调谐,高频分量调谐以及适配器。

从补丁嵌入中学习明确的提示:这指的是利用补丁嵌入(通常是从预训练模型中获得的)来将数据分布从预训练数据集转移到目标数据集。补丁嵌入是将图像的小块或局部区域映射到低维向量空间的过程,而这些向量可以被视为对图像特征的编码。通过学习从预训练模型中得到的这些特征嵌入,可以帮助将模型在预训练数据集上学到的知识转移到目标数据集上,从而提高模型在目标任务上的性能。

学习高频分量的主要动机是通过数据增强来学习预训练模型对这些特征保持不变:
这指的是利用数据增强技术来学习模型对图像的高频分量(即图像中变化较快的部分)的不变性。数据增强是一种通过对训练数据进行一系列随机变换来增加数据样本数量和多样性的技术。通过在训练过程中对高频分量进行数据增强,可以帮助模型学习到对这些变化保持不变的特征表示,从而提高模型的鲁棒性和泛化能力。高频分量的不变性指的是对图像中高频部分的特征保持不变的性质。在图像处理中,高频分量通常指的是图像中变化快速的部分,如边缘、纹理等。这些特征对于图像的识别和理解非常重要,因为它们包含了图像中的细节信息。

为什么要保持高频分量的不变性呢?
鲁棒性: 高频分量往往包含了图像中的重要细节和结构信息。如果模型能够在不同的输入图像中保持对这些细节的感知不变,那么它在面对各种变化,如旋转、缩放、光照变化等时会更加稳健。
泛化能力: 如果模型在训练过程中学习到了对高频特征的不变性,那么它在处理未见过的数据时也会表现更好。这是因为模型已经学习到了对图像中普遍存在的模式和结构的抽象表示,而不仅仅是对训练数据的记忆。
抑制噪声: 高频分量往往受到噪声的影响,保持对高频特征的不变性可以帮助模型抑制噪声的影响,从而提高对干净数据的处理能力。

补丁嵌入调整。本模块旨在调整预训练的补丁嵌入。在预训练的SegFormer中,补丁 I p I^p Ip被投影到 C s e g − d i m e n s i o n C_{seg}-dimension Csegdimension特征。冻结这个投影,并添加一个可调线性层 L p e L_{pe} Lpe,以将原始嵌入投影到c维特征 F p e ∈ R c F_{pe} ∈ R^c FpeRc中:
在这里插入图片描述比例因子r控制可调参数。
高频分量调谐。对于高频分量 I h f c I_{hfc} Ihfc,学习了类似于SegFormer的重叠补丁嵌入。形式上, I h f c I_{hfc} Ihfc被分成与SegFormer具有相同补丁大小的小补丁。表示补丁 I h f c P ∈ R C I^P_{hfc} ∈ R^C IhfcPRC,C = h×w×3,学习一个线性层 L h f c L_{hfc} Lhfc将补丁投影到c维特征 F h f c ∈ R c F_{hfc} ∈ R^c FhfcRc

适配器。Adaptor的目标是通过考虑来自图像嵌入和高频分量的特征,在所有层中高效地执行自适应。对于第i个适配器,将 F p e F_{pe} Fpe F h f c F_{hfc} Fhfc作为输入并获得提示 P i P^i Pi
P i = M L P u p ( G E L U ( M L P t u n e i ( F p e + F h f c ) ) ) P^i = MLP_{up}({GELU({MLP^i_{tune}}(F_{pe}+F_{hfc}) ))} Pi=MLPup(GELU(MLPtunei(Fpe+Fhfc)))
其中GELU是GELU激活。 M L P t u n e i MLP^i_{tune} MLPtunei是一个线性层,用于在每个适配器中产生不同的提示。 M L P u p MLP_{up} MLPup是所有适配器共享的上投影层,用于匹配Transformer特征的尺寸。Pi是附加到每个Transformer层的输出提示。

5.实验与结果

隐藏物体检测的结果如下:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/266573.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有道翻译相关介绍

官网:有道翻译 (youdao.com) 翻文本与文档 长短句实时翻译,109种语言互译 支持医学、计算机、金融经济等专业领域翻译 提供42个专业术语库&上传自定义术语库 翻词汇 实时收录最新词汇,8种语言互译 完整收录新牛津、柯林斯、韦氏等权威…

贪心算法(算法竞赛、蓝桥杯)--修理牛棚

1、B站视频链接&#xff1a;A27 贪心算法 P1209 [USACO1.3] 修理牛棚_哔哩哔哩_bilibili 题目链接&#xff1a;[USACO1.3] 修理牛棚 Barn Repair - 洛谷 #include <bits/stdc.h> using namespace std; const int N205; int m,s,c,ans; int a[N];//牛的位置标号 int d[N…

基于springboot实现街球社区网站系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现街球社区网站系统演示 摘要 本文主要讲述了基于SpringBootVue模式的街球社区网站的设计与实现。这里所谓的街球社区网站是通过类似于百度贴吧之类的网上论坛使得所有的街球爱好者有一个可以互相交流的平台,并使所有用户可以在社区进行教学视频的观看以及相关…

【LeetCode】一周中的第几天+ 一年中的第几天

2023-12-30 文章目录 一周中的第几天方法一&#xff1a;模拟思路步骤 方法二&#xff1a;调用库函数方法三&#xff1a;调用库函数 [1154. 一年中的第几天](https://leetcode.cn/problems/day-of-the-year/)方法一&#xff1a;直接计算思路&#xff1a; 方法二&#xff1a;调用…

智慧灌区项目案例(甘肃省兰州市某重点灌区)

​甘肃省兰州市某重点灌区自上个世纪80年代建成后,灌溉面积达到30万亩,对推动当地农业发展发挥了重要作用。但长期以来,该灌区的水利管理仍主要依靠人工统计记录,缺乏实时监测和精细化管理。为实现灌区管理的现代化升级,甘肃水利局委托星创易联公司设计实施水利信息化项目。 项…

MAC M1 安装mongodb7.0.5 版本

1、进入官网 Download MongoDB Community Server | MongoDBDownload MongoDB Community Server non-relational database to take your next big project to a higher level!https://www.mongodb.com/try/download/community 2、选择版本 3、下载后解压 放到 /usr/local 并修改…

HarmonyOS—端云一体化组件

概述 DevEco Studio还为您提供多种端云一体化组件。集成端云一体化组件后&#xff0c;您只需进行简单配置即可向应用用户提供登录、支付等众多功能。 登录组件 您可使用端云一体化登录组件向应用用户提供登录和登出功能&#xff0c;目前支持帐号密码登录、手机验证码登录、以…

css【详解】—— 圣杯布局 vs 双飞翼布局 (含手写清除浮动 clearfix)

两者功能效果相同&#xff0c;实现方式不同 效果预览 两侧宽度固定&#xff0c;中间宽度自适应&#xff08;三栏布局&#xff09;中间部分优先渲染允许三列中的任意一列成为最高列 圣杯布局 通过左右栏填充容器的左右 padding 实现&#xff0c;更多细节详见注释。 <!DOCTYP…

【Linux C | 网络编程】getaddrinfo 函数详解及C语言例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

数据库进阶——如何提升数据库的安全性,以MySQL和Redis加固为例

目录 引出数据库加固加固思路MySQLRedis Redis冲冲冲——缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 数据库进阶——如何提升数据库的安全性&#xff0c;以MySQL和Redis加固为例 数据库加固 加固思路 账号配置 应按照用户分配账号&…

Linux进阶——系统安全,重要文件,加固系统的相关配置

目录 引出Linux系统安全一、重要文件二、帐户口令三、权限管理四、日志配置五、服务安全六、其他配置 缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Linux进阶——系统安全&#xff0c;重要文件&#xff0c;加固系统的相关配置 Linux系统安…

C习题002:澡堂洗澡【仅供参考】

问题 输入样例 在这里给出一组输入。例如&#xff1a; 2 5 1 3 3 2 3 3 输出样例 在这里给出相应的输出。例如&#xff1a; No代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 栈限制 8192 KB 代码 #include<stdio.h> int main() {int N,W,s,t,p;int arr_s[…

Spring 学习记录

Spring 学习记录 1. Spring和SpringFrameWork1.1 广义的Spring2.1 狭义的Spring2.3 SpringFrameWork / Spring框架图 2. Spring IOC容器(即上图中的Core Container)2.1 相关概念 (IOC DI 容器 组件)2.2 Spring IOC容器的作用2.3 Spring IOC容器接口和具体实现类 3. Spring IOC …

TDengine 研发分享:利用 Windbg 解决内存泄漏问题的实践和经验

内存泄漏是一种常见的问题&#xff0c;它会导致程序的内存占用逐渐增加&#xff0c;最终导致系统资源耗尽或程序崩溃。AddressSanitizer (ASan) 和 Valgrind 是很好的内存检测工具&#xff0c;TDengine 的 CI 过程就使用了 ASan 。不过这次内存泄漏问题发生在 Windows 下&#…

新品齐发!小牛电动打造全场景高端化产品阵列!

2 月 29 日&#xff0c;全球智能城市出行品牌小牛电动发布“新世代性能旗舰”电摩NX、电自NXT&#xff0c;以及“全场景智驾越野电摩”X3三款新品。同时&#xff0c;与知名体育电竞俱乐部——JDG京东电子竞技俱乐部携手&#xff0c;打造“英雄的联盟”超级形象&#xff0c;引领…

学习大语言模型(LLM),从这里开始

在见识了ChatGPT的各种强大能力后&#xff0c;不少 NLP一线从业人员很自然地想到&#xff0c;以后开发者只要借助 ChatGPT&#xff0c;就可以做到现在大部分NLP工程师在做的事&#xff0c;比如文本分类、实体抽取、文本推理等。甚至随着大语言模型&#xff08;largelanguagemod…

【JVM篇】什么是运行时数据区

文章目录 &#x1f354;什么是运行时数据区⭐程序计数器⭐栈&#x1f50e;Java虚拟机栈&#x1f388;栈帧的内容 &#x1f50e;本地方法栈 ⭐堆⭐方法区 &#x1f354;什么是运行时数据区 运行时数据区指的是jvm所管理的内存区域&#xff0c;其中分为两大类 线程共享&#xf…

2024亚马逊全球开店注册前需要准备什么?

在2023年出海四小龙SHEIN、Temu、速卖通AliExpress、TikTok Shop快速增长扩张&#xff0c;成为了中国跨境卖家“逃离亚马逊”的新选择。但是&#xff0c;跨境电商看亚马逊。当前&#xff0c;亚马逊仍然是跨境电商行业的绝对老大&#xff0c;占有将近70%成以上的业务份额。 作为…

【电商干货】5分钟了解电商数据API测试完整流程,建议收藏!可获取免费测试key!

电商API是什么&#xff1f; API是application programming interface&#xff08;应用程序接口&#xff09;的简称&#xff0c;是一些预先定义的函数。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力&#xff0c;而又无需访问源码&#xff0c;或理解内部…

快速下载Huggingface的大语言模型

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Huggingface是什么&#xff1f;二、基于官方huggingface-cli下载&#xff08;基础&#xff0c;断线风险&#xff09;1.安装hf下载环境2.配置环境变量3.注册…