深度学习论文: Segment Any Anomaly without Training via Hybrid Prompt Regularization

深度学习论文: Segment Any Anomaly without Training via Hybrid Prompt Regularization
Segment Any Anomaly without Training via Hybrid Prompt Regularization
PDF: https://arxiv.org/pdf/2305.10724.pdf
PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks

1 概述

动机: 提出了一种新的框架,即Segment Any Anomaly + (SAA+),用于零样本异常分割,并通过混合提示正则化方法改善现代基础模型的适应性。现有的异常分割模型通常依赖于特定领域的微调,限制了它们在无数异常模式之间的泛化能力。

方法: 将不同的基础模型进行协同组装,以利用多模态先验知识来进行异常定位。为了适应非参数基础模型在异常分割中的应用,进一步引入了从领域专家知识和目标图像上下文中派生的混合提示作为正则化手段。

优势: 所提出的SAA+模型在多个异常分割基准测试数据集(包括VisA、MVTec-AD、MTD和KSDD2)中在零样本设置下实现了最先进的性能,克服了现有模型在异常模式泛化方面的局限性,并且能够检测与纹理相关的异常而无需任何标注。

在这里插入图片描述

2 SAA: Vanilla Foundation Model Assembly for ZSAS

针对用于异常分割的某个查询图像,我们首先使用语言提示作为初始输入,在基于语言驱动的视觉定位基础模型(如GroundingDINO)的支持下,通过异常区域生成器大致检索出粗糙的异常区域提议。然后,通过使用基于提示驱动的分割基础模型(如SAM)的异常区域细化器,将这些提议进一步细化为像素级别的高质量分割掩码。这种方法结合了语言和视觉信息,能够在异常分割任务中提供更准确的结果。

2-1 Anomaly Region Generator

最近,随着语言-视觉模型的快速发展,一些基础模型逐渐具备了通过语言提示在图像中检测对象的能力。例如,给定一个描述所需检测区域的语言提示,基础模型可以为查询图像生成相应的区域。为了实现这一目标,我们采用了一种基于文本引导的开放集目标检测架构,即GroundingDINO,该架构已经在大规模的语言-视觉数据集上进行了预训练。具体而言,该网络通过文本编码器和视觉编码器提取语言提示和查询图像的特征,并利用跨模态解码器以边界框的形式生成粗略的对象区域。通过使用边界框级别的区域集合和对应的置信度得分集合,我们可以定义异常区域生成器(Generator)模块:
在这里插入图片描述

2-2 Anomaly Region Refiner

为了生成像素级别的异常分割结果,我们提出了异常区域细化器,将边界框级别的异常区域候选者细化为异常分割掩码集合。为了实现这一目标,我们使用了一种用于开放世界视觉分割的复杂基础模型,即SAM。该模型主要由基于ViT的主干网络和一个受提示条件控制的分割解码器组成。具体而言,该模型在一个包含十亿个细粒度掩码的大规模图像分割数据集上进行了训练,从而在开放集分割设置下具备了高质量的掩码生成能力。受提示条件控制的分割解码器接受各种类型的提示作为输入。我们将边界框候选集视为提示,并生成像素级别的分割掩码。异常区域细化器模块可以被定义为
在这里插入图片描述
到目前为止,我们得到了一组以高质量分割掩码的形式表示的区域R,以及对应的置信度得分S。综上所述,我们将框架(SAA)总结如下
在这里插入图片描述
其中 T n T_{n} Tn 是一个类别无关的语言提示,例如 SAA中使用的“anomaly”。

3 SAA+: Foundation Model Adaption via Hybrid Prompt Regularization

为了解决SAA中的语言歧义问题并提高其在零样本异常检测上的能力,我们提出了升级版的SAA+。SAA+不仅利用了预训练模型所获得的知识,还结合了领域专家的知识和目标图像的上下文信息,以生成更准确的异常区域掩码。通过引入混合提示的方法,SAA+能够更好地处理语言的多义性,从而提高了模型的性能。
在这里插入图片描述

3-1 Prompt Generated from Domain Expert Knowledge

SAA+利用了专家知识生成更准确的异常区域掩码,包括异常语言提示(Anomaly Language Expression)和异常属性提示(Anomaly Object Property)。对于异常语言提示(Anomaly Language Expression),SAA+通过使用类别无关(Class-agnostic prompts )和类别特定的提示(Class-specific prompts)来进一步细化"异常"这一提示。而对于异常属性提示(Anomaly Object Property),SAA+考虑了异常的位置(Anomaly Location)和面积信息(Anomaly Area)。通过结合这两种多模态提示,SAA+在异常分割任务中能够获得更精确的结果。这种综合利用领域专家知识和多模态提示解决语言歧义问题的方法,使得SAA+在异常区域掩码生成方面具有更高的准确性和鲁棒性。

3-2 Prompts Derived from Target Image Context

利用从目标图像上下文中衍生的多模态提示来提高异常区域检测准确性的方法。其中,异常显著性提示(Anomaly Saliency Prompt)通过使用显著性图来校准基础模型的置信度分数,从而提高异常区域的检测效果。而异常置信度提示(Anomaly Confidence Prompt)则通过选择具有最高置信度的候选区域来确定最终的异常区域检测结果。通过综合利用这两种多模态提示,可以提高异常区域检测的准确性和可靠性。这种方法能够更好地利用目标图像的上下文信息,从而提高异常区域检测的性能。

4 Experiments

在这里插入图片描述

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

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

相关文章

57. 插入区间(C++题解)

57. 插入区间 插入区间 给你一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入&#x…

SQL实际开发学习

注意!!! select (很长的查询做表) 之后要设置别名不要加引号! 错误select table.column1 from (xxxxxx) "table1" 正确select table.column1 from (xxxxx) table1 group by,distinct 如何去重? …

Ubuntu 23.10 将首次推出基于 Flutter 的新 Ubuntu 商店

导读Ubuntu 正在升级其软件商店以提供顺滑的体验! 随着不断发展,Canonical 似乎全力以赴,将基于 Flutter 的元素整合到 Ubuntu 中。 在前段时间 Ubuntu 23.04 发布后,我们见到了基于 Flutter 的安装程序 ,现在&#x…

[element-ui] el-tree全部展开与收回

shrinkTreeNode () {// 改变一个全局变量this.treeStatus !this.treeStatus;// 改变每个节点的状态this.changeTreeNodeStatus(this.$refs.attrList.store.root); },// 改变节点的状态 changeTreeNodeStatus (node) {node.expanded this.treeStatus;for (let i 0; i < no…

vim命令大全,非常详细,强烈建议收藏!

1、前言 Vim是一款常用的文本编辑器&#xff0c;具有强大的功能和高度的可定制性。在本文中&#xff0c;我们将详细介绍Vim的常用命令&#xff0c;并提供相关的示例。如果您是初学者或已经熟练使用Vim&#xff0c;这篇文章都能为您提供帮助。 2、基本命令 以下是一些基本的Vi…

hyperf 十四 国际化

一 安装 composer require hyperf/translation:v2.2.33 二 配置 1、设置语言文件 文件结构&#xff1a; /storage/languages/en/messages.php /storage/languages/zh_CH/messages.php // storage/languages/en/messages.php return [welcome > Welcome to our applicat…

使用awvs进行web安全扫描

1、安装 docker pull secfa/docker-awvs docker run -it -d -name awvs -p 13443:3443 --cap-add LINUX_IMMUTABLE secfa/docker-awvs2、账号密码 # https://ip:13443/ # 用户名:adminadmin.com # 密码:Admin1233、使用 ps:需要征得甲方的同意

2023年Java核心技术第十篇(篇篇万字精讲)

目录 十九 . 一个线程两次调用start&#xff08;&#xff09;方法会出现什么情况&#xff1f;线程的生命周期和状态转移。 19.1 典型回答 19.1.1 线程生命周期&#xff1a; 19.1.2 计时等待详细解释&#xff1a; 19.2 深入扩展考察 19.2.1 线程是什么&#xff1f; 19.2.2 Green…

【juc】读写锁ReentrantReadWriteLock

目录 一、说明二、读读不互斥2.1 代码示例2.2 截图示例 三、读写互斥3.1 代码示例3.2 截图示例 四、写写互斥4.1 代码示例4.2 截图示例 五、注意事项5.2.1 代码示例5.2.2 截图示例 一、说明 1.当读操作远远高于写操作时&#xff0c;使用读写锁让读读可以并发&#xff0c;来提高…

网络编程day1——进程间通信-socket套接字

基本特征&#xff1a;socket是一种接口技术&#xff0c;被抽象了一种文件操作&#xff0c;可以让同一计算机中的不同进程之间通信&#xff0c;也可以让不同计算机中的进程之间通信(网络通信) 本地进程间通信编程模型&#xff1a; 进程A …

IDEA遇到 git pull 冲突的几种解决方法

1 忽略本地修改&#xff0c;强制拉取远程到本地 主要是项目中的文档目录&#xff0c;看的时候可能多了些标注&#xff0c;现在远程文档更新&#xff0c;本地的版本已无用&#xff0c;可以强拉 git fetch --all git reset --hard origin/dev git pull关于commit和pull的先后顺…

亚马逊鲲鹏系统是怎么操作测评的

亚马逊鲲鹏系统可以注册亚马逊买家号、养号、下单留评等&#xff0c;是一款功能比较齐全的测评软件&#xff0c;具体操作如下&#xff1a; 首先我们需要先准备好买家账号&#xff0c;账号可以直接去购买已经注册好了的账号&#xff0c;也可以准备好账号所需要的一些邮箱、ip、…

无门槛访问ChatGPT升级版-数据指北AI

大家好&#xff0c;我是脚丫先生 (o^^o) 给小伙伴们介绍ChatGPT升级版不需要任何门槛&#xff0c;不需要单独搞账号&#xff0c;只要邮箱登录的方式&#xff0c;即可访问平台&#xff0c;以用户体验为首要&#xff0c;让所有人都能无门槛的使用目前市面上最强大的AI智能聊天&a…

Rn实现省市区三级联动

省市区三级联动选择是个很频繁的需求&#xff0c;但是查看了市面上很多插件不是太老不维护就是不满足需求&#xff0c;就试着实现一个 这个功能无任何依赖插件 功能略简单&#xff0c;但能实现需求 核心代码也尽力控制在了60行左右 pca-code.json树型数据来源 Administrative-d…

液体神经网络LLN:通过动态信息流彻底改变人工智能

巴乌米克泰吉 一、说明 在在人工智能领域&#xff0c;神经网络已被证明是解决复杂问题的非常强大的工具。多年来&#xff0c;研究人员不断寻求创新方法来提高其性能并扩展其能力。其中一种方法是液体神经网络&#xff08;LNN&#xff09;的概念&#xff0c;这是一个利用动态计算…

07:STM32----ADC模数转化器

目录 1:简历 2:逐次逼近型ADC 3:ADC基本结构 4:输入通道 5:规则组的4种转换模式 1:单次转化,非扫描模式 2:连续转化,非扫描模式 3:单次转化,扫描模式 4:单次转化,扫描模式 6:触发控制 7:数据对齐 8:转化时间 9:校准 10:ADC的硬件电路 A: AD单通道 1:连接图 2:函…

Git小白入门——了解分布式版本管理和安装

Git是什么&#xff1f; Git是目前世界上最先进的分布式版本控制系统&#xff08;没有之一&#xff09; 什么是版本控制系统&#xff1f; 程序员开发过程中&#xff0c;对于每次开发对各种文件的修改、增加、删除&#xff0c;达到预期阶段的一个快照就叫做一个版本。 如果有一…

【OpenCV入门】第一部分——图像处理基础

本文结构 图像处理的基本操作读取图像imread() 显示图像imshow()waitKey()destroyAllWindows() 保存图像imwrite() 复制图像copy() 获取图像属性 像素确定像素的位置获取像素的BGR值修改像素的BGR值 色彩空间GRAY色彩空间cvtColor()——从BGR色彩空间转换到GRAY色彩空间 HSV色彩…

Lua学习(一)

lua基础学习 LUA 语言1. 什么是lua&#xff1f;1.1 准备工作 2. 基本语法2.1 注释2.2 标识符2.3 关键字2.4 全局变量 3. 数据类型4. 变量4.1 赋值语句 5. 循环5.1 while循环5.2 for循环5.3泛型for循环5.4 repeat until 循环5.5 break 语句 6. 流程控制6.1 if语句6.2 if else 语…

GNU make系列之介绍Makefile(0)

一.欢迎来到我的酒馆 在本章节介绍Makefile。 目录 一.欢迎来到我的酒馆二.GNU make 预览三.一个简单的Makefile四.make程序如何处理Makefile文件五.在Makefile中使用变量 二.GNU make 预览 2.1 GNU make工具会自动决定哪些程序需要被重新编译&#xff0c;并且执行相应的命令来…