【EVP】Explicit Visual Prompting for Low-Level Structure Segmentations

目录

🍇🍇0.简介

🌷🌷1.研究动机

🍋🍋2.主要贡献

🍓🍓3.网络结构

🍭3.1整体结构

🍭3.2高频分量计算

🍭3.3显示视觉提示EVP

🍂🍂4.实验

🏆4.1四种任务结果对比

🏆4.2不同可训练参数量结果对比

🏆4.3四种任务可视化结果

🏆4.4消融实验

🏆4.5参数选择对比结果

🏆4.6在四个不同任务上与其他微调方法对比

🍉🍉5.总结

整理不易,欢迎一键三连!!!

送你们一条美丽的--分割线--


🍇🍇0.简介

  1. 论文:paper
  2. 代码:CODE
  3. 出处:CVPR2023

🌷🌷1.研究动机

        通用的分割任务通常在高分辨率高质量的图像上表现良好,而EVP关注的则是图像中的低级结构问题,比如伪造目标、识别失焦目标、分离阴影和检测隐藏的对象等等,尽管每个任务通常都是通过特定领域的解决方案来解决的,但EVP方法将所有主题任务统一至一个方法中,也就是通常所说的“范式”。由此可见,ECP主要关心的就是图像中不清晰的,结构模糊的对象。

        我们从NLP中广泛使用的预训练和提示调优协议中获得灵感,提出了一种新的视觉提示模型,称为显式视觉提示(EVP)。与之前的视觉提示(通常是数据集级别的隐式嵌入)不同,我们的关键见解是强制使用可调参数,重点关注每个单独图像的显式视觉内容,即来自冻结补丁嵌入的特征输入的高频分量。在相同数量的可调参数(每个任务的5.7%的额外可训练参数)下,所提出的EVP显著优于其他参数有效调节。与特定任务的解决方案相比,EVP在各种低级别结构分割任务上也实现了最先进的性能。

🍋🍋2.主要贡献

  • 设计了一种统一的方法,为许多任务提供最先进的性能,包括伪造检测(forgery detection,)、散焦模糊检测(defocus blur detection)、阴影检测(shadow detection)和伪装物体检测(camouflaged object detection)
  • 提出了显式视觉提示(EVP),它以冻结补丁嵌入的特征输入的高频分量作为提示。它被证明在不同的任务中是有效的,并且优于其他参数有效的调整方法。
  • EVP方法极大地简化了底层结构分割模型,并与精心设计的SOTA方法实现了相当的性能。

🍓🍓3.网络结构

🍭3.1整体结构

        EVP整体结构如下,使用在大规模数据集上预训练的Transformer模型冻结其参数,为了适应每个任务,再调整embedding的特征并学习每个单独图像的高频成分的额外embedding。可以看到每个任务的可训练参数均在embedding-finetunehigh-frequency提取模块中。

        EVP使用的Tranformer是SegFormer,是一个分层Transformer,具有更简单的decoder用来进行语义分割。另一篇论文《SAM Fails to Segment Anything? – SAM-Adapter: Adapting SAM in Underperformed Scenes: Camouflage, Shadow, Medical Image Segmentation,and More》中,SAM-Adapter网络用的类似的结构,只是将EVP中的Transformer结构换成了SAM结构,SAM-Adapter主要是使用了SAM的Image Encoder和Masked Decoder,其中Image Encoder冻结了参数,Decoder是参与梯度回传的。

🍭3.2高频分量计算

        在EVP论文中的创新点之一的输入的高频分量具体网络结构如下。

        对于尺寸为H×W的图像I,我们可以将其分解为低频分量Il(LFC)和高频分量Ih(HFC),即I={Il,Ih}。将fft和ifft分别表示为快速傅立叶变换及其逆变换,我们使用z来表示I的频率分量。因此,我们有z=fft(I)和I=ifft(z)。我们把低频系数移到中心(H/2,W/2)。为了获得高频分量HFC,根据掩码比τ,生成二进制掩码Mh∈{0,1}H×W,并将其应用于傅里叶变换后的影像:

        为了获得低频分量LFC,其计算方式与高频分量相似:

        此处的,可以将其看做是一个权重矩阵,将其与傅里叶变换后的影像Z进行相乘,再将其结果进行傅里叶逆变换操作,即可实现高低频分量的区分计算和表示。

🍭3.3显示视觉提示EVP

        显式视觉提示(EVP)的关键是从图像embedding和高频分量中学习明确的提示。

        学习图像embedding将分布从预训练数据集转移到目标数据集。学习高频分量的主要动机是通过数据扩充来学习预训练的模型的特征不变性。EVP方法如图3所示,它由三个基本模块组成:embedding 微调、高频分量微调以及Adaptor

        Patch embedding tune:在预训练segformer网络中,将patch投影到C维的特征图上,并且冻结该投影,添加一个可微调的线性层L,将原始embedding投影至C维特征中。

此处的尺度参数r即可控制微调参数,

        High-frequency components tune:对于高频分量Ihfc,我们学习了类似于SegFormer的重叠补丁嵌入。形式上,Ihfc被划分为与SegFormer具有相同补丁大小的小补丁。我们学习一个线性层Lhfc来将补片投影到c维特征Fhfc中。

        Adaptor:  通过考虑来自图像嵌入和高频分量的特征,在所有层中高效地执行自适应。对于第i个适配器,我们将Fpe和Fhfc作为输入,并获得提示Pi: 

🍂🍂4.实验

🏆4.1四种任务结果对比

🏆4.2不同可训练参数量结果对比

🏆4.3四种任务可视化结果

🏆4.4消融实验

🏆4.5参数选择对比结果

🏆4.6在四个不同任务上与其他微调方法对比

🍉🍉5.总结

        EVP提出了一种明确的视觉提示,以统一低层次结构分割的解决方案。我们主要关注两类特征:来自块嵌入的冻结特征和来自原始图像的高频分量。使用我们的方法,我们发现来自ImageNet的具有有限可调参数的冻结视觉转换器主干可以实现与全微调网络结构相似的性能,与其他特定任务的方法相比,也具有最先进的性能。对于未来的研究,我们将把我们的方法扩展到其他相关问题,并希望它能促进视觉提示的进一步探索。 

 

整理不易,欢迎一键三连!!!

送你们一条美丽的--分割线--

🌷🌷🍀🍀🌾🌾🍓🍓🍂🍂🙋🙋🐸🐸🙋🙋💖💖🍌🍌🔔🔔🍉🍉🍭🍭🍋🍋🍇🍇🏆🏆📸📸⛵⛵⭐⭐🍎🍎👍👍🌷🌷

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

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

相关文章

【Java八股文面试系列】JVM-内存区域

目录 Java内存区域 运行时数据区域 线程独享区域 程序计数器 Java 虚拟机栈 StackFlowError&OOM 本地方法栈 线程共享区域 堆 GCR-分代回收算法 字符串常量池 方法区 运行时常量池 HotSpot 虚拟机对象探秘 对象的创建 对象的内存布局 句柄 Java内存区域 运…

2024年美赛数学建模F题思路分析 - 减少非法野生动物贸易

# 1 赛题 问题F:减少非法野生动物贸易 非法的野生动物贸易会对我们的环境产生负面影响,并威胁到全球的生物多样性。据估计,它每年涉及高达265亿美元,被认为是全球第四大非法交易。[1]你将开发一个由数据驱动的5年项目&#xff0c…

git命令远程仓库推送本地项目报错了,解决方案

如果你在使用git命令上传本地项目到远程仓库遇到了如下错误: Updates were rejected because the tip of your current branch is behind。n 别慌,肯定是你的远程仓库里面有原始文件,需要你提前进行一下合并操作,然后才能使用pu…

离线数仓-数据治理

目录 一、前言 1.1 数据治理概念 1.2 数据治理目标 1.3 数据治理要解决的问题 1.3.1 合规性 元数据合规性 数据质量合规性 数据安全合规性 1.3.2 成本 存储资源成本 计算资源成本 二、数据仓库发展阶段 2.1 初始期 2.2 扩张期 2.3 缓慢发展期 2.4 变革期 三、…

华为机考入门python3--(5)牛客5-进制转换

分类:数字 知识点: 十六进制转int num int(hex_num, 16) int转十六进制 hex_num hex(num) 题目来自【牛客】 hex_num input().strip() dec_num int(hex_num, 16) print(dec_num) by 软件工程小施同学

挖矿系列:细说Python、conda 和 pip 之间的关系

继续挖矿,挖金矿! 1. Python、conda 和 pip Python、conda 和 pip 是在现代数据科学和软件开发中常用的工具,它们各自有不同的作用,但相互之间存在密切的关系: Python:是一种解释型、面向对象的高级程序设…

国产UOS操作系统rename用法

Linux系统里面有一个超级好用的rename命令,可以批量修改文件名 使用方法rename 被替换字符串 替换后字符串 哪些文件

为什么越来越多的企业在考虑将ERP从云端迁移到本地?

越来越多的企业在考虑将核心ERP迁移到本地部署,原来实施的时候局限于业务规模、实施成本的原因采用云端部署的方式越来越不再适应于企业规模的发展、系统应用和数据安全的要求。 因此他们都宁愿将云端ERP的数据迁移到本地,使得系统数据和安全更加可控。…

[Linux 进程控制(二)] 写时拷贝 - 进程终止

文章目录 1、写时拷贝2、进程终止2.1 进程退出场景2.1.1 退出码2.1.2 错误码错误码 vs 退出码2.1.3 代码异常终止引入 2.2 进程常见退出方法2.2.1 exit函数2.2.2 _exit函数 本片我们主要来讲进程控制,讲之前我们先把写时拷贝理清,然后再开始讲进程控制。…

QSlider使用笔记

最近做项目使用到QSlider滑动条控件,在使用过的过程中,发现一个问题就是点滑动条上的一个位置,滑块并没有移动到鼠标点击的位置,体验感很差,于是研究了下,让鼠标点击后滑块移动到鼠标点击的位置。 1、event…

node-sass版本与NodeJS版本不匹配的问题

npm install 报错如下 npm ERR! code 1 npm ERR! path D:\Project\git_Product\YYYY\user\node_modules\node-sass npm ERR! command failed npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js 问题原因 node-sass 与 node 版本不匹配 卸载Node…

【计算机图形学】实验二 用扫描线算法实现多边形填充

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…

9.SELinux

目录 1. 概述 1.1. 概念 1.2. 作用: 1.3. SELinux与传统的权限区别 2. SELinux工作原理 2.1. 名词解释 2.1.1. 主体(Subject) 2.1.2. 目标(Object) 2.1.3. 策略(Policy) 2.1.4. 安全上…

详解Redis哨兵模式下,主节点掉线而重新选取主节点的流程

⭐最核心的结论:所谓选举的过程不是直接选出新的主节点,而是先在哨兵节点中选出 leader ,再由 leader 负责后续主节点的指定。 假定当前环境: 三个哨兵(sentenal1, sentenal2, sentenal3)一个主节点(redis-master)两个从节点(red…

接口测试框架对比

公司计划系统的开展接口自动化测试,需要我这边调研一下主流的接口测试框架给后端测试(主要测试接口)的同事介绍一下每个框架的特定和使用方式。后端同事根据他们接口的特点提出一下需求,看哪个框架更适合我们。 需求 1、接口编写…

端到端实现高精地图重建(TopoNet解读和横评)

论文出处 [2304.05277] Graph-based Topology Reasoning for Driving Scenes (arxiv.org)https://arxiv.org/abs/2304.05277 TopoNet TopoNet的目标是从车辆上安装的多视角摄像头获取图像,感知实体并推理出驾驶场景的拓扑关系,实现端到端预测&#xf…

【自动化测试】----Java的单元测试工具Junit5

目录 支持Java的最低版本为8在pom.xml添加依赖Junit提供的注解功能 断言 Assertion类提供的一些方法测试用例执行顺序 (为了预防测试用例执行顺序错误)参数化 (假设登陆操作,用户名和密码很多,尽可能通过一个测试用例…

Java多线程--JDK5.0新增线程创建方式

文章目录 一、新增方式1:实现Callable接口(1)介绍(2)案例(3)总结对比 二、新增方式2:使用线程池(1)问题与解决思路1、现有问题2、解决思路3、好处 &#xff0…

Swift Vapor 教程(查询数据、插入数据)

上一篇简单写了 怎么创建 Swift Vapor 项目以及在开发过程中使用到的软件。 这一篇写一个怎么在创建的项目中创建一个简单的查询数据和插入数据。 注:数据库配置比较重要 先将本地的Docker启动起来,用Docker管理数据库 将项目自己创建的Todo相关的都删掉…

以小猪o2o生活通v17.1为例简要分析SWOOLE加密破解,swoole_loader加密破解swoole加密逆向后的代码修复流程(个人见解高手掠过)

现在用Php加密五花八门除了组件就是混淆,在组件里面响当当的还属swoole,SWOOLEC是不错的国产加密,值得推荐官方宣称是永远无法破解的加密算法,针对swoole compiler的代码修复我谈谈我的看法,以小猪o2o生活通&#xff0…