当前位置: 首页 > news >正文

深度学习论文: 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

在这里插入图片描述

相关文章:

深度学习论文: 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 Py…...

【算法训练-字符串】一 最长无重复子串

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是最长无重复子串或最长无重复子数组,这类题目出现频率还是很高的。 最长无重复子串【MID】 先来看字符串数据结构的题目 题干 解题思…...

【数据结构】手撕顺序表

一,概念及结构 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储; 在数组上完成数据的增删查改。 1, 静态顺序表:使用定长数组存储元素。 2.,动态顺序表&#xff1…...

景联文科技数据标注:人体关键点标注用途及各点的位置定义

人体关键点标注是一种计算机视觉任务,指通过人工的方式,在指定位置标注上关键点,例如人脸特征点、人体骨骼连接点等,常用来训练面部识别模型以及统计模型。这些关键点可以表示图像的各个方面,例如角、边或特定特征。在…...

typescript基础之never

TypeScript 的 never 类型是一种特殊的类型,它表示的是那些永远不存在的值的类型。例如,一个抛出异常或无限循环的函数的返回值类型就是 never,因为它们永远不会返回任何值。never 类型是所有类型的子类型,也就是说,任…...

电子电路学习笔记之NCP304LSQ37T1G ——超低电流电压检测器

超低电流电压检测器是一种专门用于检测极小电流值的设备。它们常用于电子元件或电路中,用于监测电流的存在和程度。这些检测器通常具有高灵敏度和高精度,能够测量微安级别或更小的电流。 超低电流电压检测器的应用领域广泛,例如电池管理系统…...

【计算机组成原理】一文快速入门,很适合JAVA后端看

作者简介: CSDN内容合伙人、CSDN新星计划导师、JAVA领域优质创作者、阿里云专家博主,计算机科班出身、多年IT从业经验、精通计算机核心理论、Java SE、Java EE、数据库、中间件、分布式技术,参加过国产中间件的核心研发,对后端有…...

10万字智慧政务大数据平台项目建设方案222页[Word]

导读:原文《10万字智慧政务大数据平台项目建设方案222页[Word]》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 1.1 项目建设目标 推进市一级政府搭建数字政府建设的规划要求,结合市一级政府“互联网+政务服务”建设…...

Python-主线程控制子线程-4

需求:在Python-主线程控制子线程-3的基础上,新增使用UDP接收指令功能,代替从键盘输入指令 # 修改后的程序,主线程可以获取子线程的结果 import threading import time import queue import tracebackfrom loguru import logger i…...

设计模式二十二:策略模式(Strategy Pattern)

定义一系列算法,将每个算法封装成独立的对象,并使这些对象可互相替换。这使得在运行时可以动态地选择算法,而不必改变使用算法的客户端代码。策略模式的主要目标是将算法的定义与使用分离,使得客户端可以根据需要灵活地选择和切换…...

【c语言】结构体内存对齐,位段,枚举,联合

之前学完结构体,有没有对结构体的大小会很疑惑呢??其实结构体在内存中存储时会存在内存对齐,捎带讲讲位段,枚举,和联合,跟着小张一起学习吧 结构体内存对齐 结构体的对齐规则: 第一个成员在与结…...

干货丨软件测试行业迎来新时代,AI将成为主流技术?

随着科技日新月异的发展,人工智能正逐渐渗透到我们生活的各方各面,从智能语音助手到自动驾驶汽车、从智能家居到人脸识别技术,AI正以其卓越的智能和学习能力引领着新时代的发展方向。 在这个快速演进的时代中,软件测试领域也受到了…...

MacOS goland go1.21 debug问题

安装dlv brew install dlv 安装之后在终端会显示所在目录 类似/usr/local/Cellar/delve/1.21.0/bin 配置goland 在文件系统中找到goland 右击选择show package contents -> Contents -> plugins -> go 尝试替换 其中对应系统 的 dlv 结果还是不行 然后打开应用gol…...

python 笔记(1)——基础和常用部分

目录 1、print 输出不换行 2、格式化输出字符串 3、浮点数的处理 4、进制转换和ASCII与字符间的转换 5、随机数 6、字符串截取和内置方法 6-1)字符串截取 6-2)字符串内置方法 7、元组、列表,及其遍历方式 7-1)列表常用内…...

kafka架构和原理详解

Apache Kafka 是一个分布式流数据平台,用于高吞吐量、持久性、可扩展的发布和订阅消息。它具有高度的可靠性,被广泛用于构建实时数据流处理、日志收集和数据管道等应用。 基本架构 1. 主题(Topic): 主题是消息的逻辑分类生产者将消息发布到特定的主题中,而消费者可以订阅…...

wsl Ubuntu中非root的普通用户怎么直接执行docker命令

docker需要root权限,如果希望非root用户直接使用docker命令,而不是使用sudo,可以选择将该用户加入到docker用户组。 sudo groupadd docker:添加到groupadd用户组(已经有docker用户组,所以可以不用再新增do…...

Web开发模式、API接口、restful规范、序列化和反序列化、drf安装和快速使用、路由转换器(复习)

一 Web开发模式 1. 前后端混合开发模式 前后端混合开发模式是一种开发方式,将前端和后端的开发工作结合在一起,以加快项目的开发速度和 提高协作效率。这种模式通常用于快速原型开发、小型项目或敏捷开发中。在前后端混合开发模式中,前端和…...

<AMBA总线篇> AXI总线协议介绍

目录 01 AXI协议简介 AXI协议特性 AXI协议传输特性 02 AXI协议架构 AXI协议架构 write transaction(写传输) read tramsaction(读传输) Interface and interconnect 典型的AXI系统拓扑 03 文章总结 大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程…...

一个简单的Python网络爬虫教程

网络爬虫是一种自动获取网页内容的程序,它可以从互联网上的网站中提取数据并进行分析。本教程将带您逐步了解如何使用 Python 构建一个简单的网络爬虫。 注意:在进行网络爬虫时,请遵守网站的使用条款和法律法规,避免对目标网站造…...

YARN资源管理框架论述

一、简介 为了实现一个Hadoop集群的集群共享、可伸缩性和可靠性,并消除早期MapReduce框架中的JobTracker性能瓶颈,开源社区引入了统一的资源管理框架YARN。 YARN是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离&…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...