PromptAD:首次引入提示学习,实现精准工业异常检测,1张正常样本即可超越现有方法

近年来,工业异常检测(Anomaly Detection)在智能制造、质量监控等领域扮演着越来越重要的角色。传统方法通常依赖大量正常样本进行训练,而在实际生产中,异常样本稀少甚至不存在,能否仅凭少量正常样本就实现精准的异常检测,成为了一项重要挑战。

screenshot_2025-09-15_15-53-51.png

PromptAD 方法首次将提示学习(Prompt Learning) 引入单类别异常检测任务中,仅使用正常样本就能自动学习有效的提示词,在多个标准数据集上取得了领先性能。


少样本异常检测的难点

异常检测本质上是一个单类别分类(One-Class Classification, OCC) 问题:训练时只有正常样本,测试时则需要识别出异常。

现有的基于视觉-语言模型(如CLIP)的方法(例如WinCLIP)虽然效果显著,但依赖大量人工设计的提示词(Prompt Ensemble),需要组合成百上千个文本提示才能达到理想效果。这不仅费时费力,还难以自动化部署。

更遗憾的是,传统的多类别提示学习方法(如CoOp)在异常检测任务上表现不佳,因为它们缺乏负样本(异常样本)的对比信息。

总结而言异常样本太少、异常千奇百怪、人工成本高。


PromptAD创新方案

PromptAD 之所以能够在 “只看正常样本” 的情况下依旧精准检测异常,关键在于它提出了三大创新:

  • 语义拼接(Semantic Concatenation,SC)

在小样本异常检测中,训练集通常只包含正常样本,没有异常样本可供学习。

而传统的 Prompt 学习依赖“对比学习”(Contrastive Learning):正常和异常要互相对比,模型才能学会区分。

但如果没有异常样本,这个“对比”就无法进行。

核心思路

研究者提出了一种巧妙的方法:通过语言构造虚拟异常。

给正常的提示词加上“异常后缀”,从而生成异常提示词。

举例:

  • 正常提示词:“a photo of cable”(一张电缆的照片)

  • 异常提示词:“a photo of cable with flaw”(一张有缺陷的电缆照片)

这样,哪怕没有真实异常图像,模型也能通过这些“虚拟异常描述”来建立对比关系,从而学会区分正常和异常。

技术细节

  • 手工异常后缀(MAP):利用数据集里的标签信息(如 crack、stain、hole 等),拼接成异常提示词。

  • 可学习异常后缀(LAP):在手工后缀之外,再增加一组可学习的“异常符号”,不断训练,让模型自己去探索更丰富的异常语义。

  • 结果:正常提示词(NP)与异常提示词(MAP/LAP)共同参与训练,形成有效的对比学习。

screenshot_2025-09-15_15-52-46.png

  • 显式异常边界(Explicit Anomaly Margin,EAM)

即使通过语义拼接生成了异常提示词,仍然有一个问题:

这些异常提示词并不来自真实异常样本,模型无法自动判断“正常”和“异常”之间该保持多大的差距。

核心思路

研究者提出了显式异常边界的概念:

在训练过程中,引入一个超参数,强制约束:

  • 正常样本与正常提示词的距离要比正常样本与异常提示词的距离更小。

  • 换句话说,在特征空间里画一条“安全边界”,让正常与异常的分布明显分开。

技术细节

  • 使用了正则化损失函数,使得模型在学习时不断维持这个边界。

  • 为了让可学习的异常提示(LAP)更贴近真实语义,还引入了一个“对齐机制”,让 LAP 的分布与 MAP 保持一致。

screenshot_2025-09-15_15-54-41.png

  • 双重检测机制:Prompt + Vision

异常检测既需要整体判断(这张图是否异常?),又需要局部定位(异常具体在哪?)。

单靠 Prompt 引导(语义信息)或单靠图像特征(视觉信息)都不够全面。

核心思路

  • PromptAD 结合了两种机制:

  • Prompt-guided AD (PAD)

  • 利用语义信息(Prompt)来判断正常 vs 异常。

  • 擅长 图像级别 的分类。

  • Vision-guided AD (VAD)

  • 在训练阶段记忆“正常样本”的局部特征,在测试时对比差异。

  • 擅长像素级别的定位。

  • 融合

  • 两者结果通过调和平均进行融合,既保证整体判断,又能精确圈出异常区域。

screenshot_2025-09-15_15-54-24.png

screenshot_2025-09-15_15-55-19.png


效果如何?

团队在两个经典工业数据集(MVTec 和 VisA)上做了测试:

  • 在 11/12 个少样本场景中拿下第一。

  • 在 仅有 1 张正常样本的条件下,PromptAD 图像级检测 AUROC 达 94.6%,比 WinCLIP 提高了 1.3%。

  • 在 4 张样本条件下,AUROC 达 96.6%,几乎接近全监督方法的表现。

screenshot_2025-09-15_16-01-25.png

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

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

相关文章

算法 --- 字符串

字符串 字符串算法题目主要处理文本的查找、匹配、比较、变换和统计问题,其核心特点是输入数据为字符序列,解题关键在于利用其连续性、前缀性、字典序等特性,并常借助哈希、自动机、指针滑动、动态规划等技巧高效处理。 详细分类型与适用场景…

SpringBoot中 Gzip 压缩的两种开启方式:GeoJSON 瘦身实战

目录 前言 一、GZIP压缩知识简介 1、什么是Gzip 2、Gzip特点 3、Gzip在GIS方面的应用 二、SpringBoot中开启Gzip的方式 1、在SpringBoot中开启Gzip的知识简介 2、SpringBoot中GeoJSON的实例 三、全局开启Gzip实现 1、实现原理 2、实现效果 四、局部约定配置 1、实现…

PPTist+cpolar:开源演示文稿的远程创作方案

文章目录前言【视频教程】1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址6. 配置固定公网地址前言 PPTist作为开源在线演示文稿工具,提供媲美PowerPoint的核心功能,支持多页面编辑、图表插入、音视频嵌入和动画效果设置。特…

服务注册/服务发现-Eureka

目的:解决微服务在调用远程服务时URL写死的问题注册中心服务提供者(Server):一次业务中,被其他微服务调用的服务,也就是提供接口给其他微服务。服务消费者(Client):一次业务中&#…

cuda stream

基本概念 cuda stream表示GPU的一个操作队列,操作在队列中按照一定的顺序执行,也可以向流中添加一定的操作如核函数的启动、内存的复制、事件的启动和结束等 一个流中的不同操作有着严格的顺序,但是不同流之间没有任何限制 cuda stream中排队…

数据结构:完全二叉树

完全二叉树 定义: 按层序遍历(从上到下,从左到右)填充节点。 除了最后一层外,其余各层必须全满。 最后一层的节点必须 连续靠左。 完全二叉树不一定是满二叉树。 满二叉树 (Full Binary Tree):每个节点都有…

【Java初学基础】⭐Object()顶级父类与它的重要方法equals()

object类常见方法/*** native 方法&#xff0c;用于返回当前运行时对象的 Class 对象&#xff0c;使用了 final 关键字修饰&#xff0c;故不允许子类重写。*/ public final native Class<?> getClass() /*** native 方法&#xff0c;用于返回对象的哈希码&#xff0c;主…

用深度学习(LSTM)实现时间序列预测:从数据到闭环预测全解析

用深度学习&#xff08;LSTM&#xff09;实现时间序列预测&#xff1a;从数据到闭环预测全解析 时间序列预测是工业、金融、环境等领域的核心需求——小到预测设备温度波动&#xff0c;大到预测股价走势&#xff0c;都需要从历史数据中挖掘时序规律。长短期记忆网络&#xff08…

gpu-z功能介绍,安装与使用方法

GPU-Z 功能介绍、安装与使用方法 一、核心功能 硬件信息检测 识别显卡型号、制造商、核心架构&#xff08;如NVIDIA Ada Lovelace、AMD RDNA 3&#xff09;、制造工艺&#xff08;如5nm、7nm&#xff09;。显示显存类型&#xff08;GDDR6X、HBM2e&#xff09;、容量、带宽及显…

数据搬家后如何处理旧 iPhone

每年&#xff0c;苹果都会推出新款 iPhone&#xff0c;激发了人们升级到 iPhone 17、iPhone 17 Pro、iPhone 17 Pro Max 或 iPhone Air 等新机型的热情。但在获得新 iPhone 之前&#xff0c;有一件重要的事情要做&#xff1a;将数据从旧 iPhone 转移到新设备。虽然许多用户都能…

Java关键字深度解析(上)

这是一份全面的Java关键字实战指南 目录 1.数据类型关键字:内存布局与性能优化 1.1 基础类型的内存密码 byte-内存的极简主义者 int-Java世界的万能钥匙 long - 时间与ID的守护者 1.2 引用类型的架构设计 String-不是关键字但胜于关键字 2.访问修饰符:企业级权限控制 …

C语言深度解析:指针数组与数组指针的区别与应用

目录 1 引言&#xff1a;从名字理解本质区别 2 指针数组&#xff1a;灵活管理多个指针 2.1 基本概念与声明方式 2.2 内存布局与特性 2.3 典型应用场景&#xff1a;字符串数组与多维度数据管理 2.3.1 静态分配示例&#xff1a;字符串数组 2.3.2 动态分配示例&#xff1a;…

Node.js 高级应用:负载均衡与流量限制

在当今高并发的网络应用环境中&#xff0c;如何有效地分配服务器资源并保护系统免受恶意攻击是开发者必须面对的重要问题。Node.js 作为一款广受欢迎的服务器端 JavaScript 运行时环境&#xff0c;提供了丰富的工具和模块来应对这些挑战。本文将深入探讨如何在 Node.js 中实现负…

信任链验证流程

信任链验证流程 (The Chain of Trust)整个过程就像一场严格的接力赛&#xff0c;每一棒都必须从可信的上一位手中接过接力棒&#xff08;信任&#xff09;&#xff0c;验证无误后&#xff0c;再跑自己的那段路&#xff0c;并把信任传递给下一棒现在&#xff0c;我们来详细解读图…

黄昏时刻复古胶片风格人像风光摄影后期Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色教程这套 黄昏时刻复古胶片风格人像风光摄影后期 Lr 调色方案&#xff0c;以落日余晖为核心色彩元素&#xff0c;加入复古胶片质感&#xff0c;让画面充满温暖与怀旧氛围。整体色调偏向橙红与青绿的互补对比&#xff0c;天空的夕阳光影与人像肤色相互映衬&#xff0c;既有胶…

硬件驱动——I.MX6ULL裸机启动(3)(按键设置及中断设置

重点&#xff1a;1.GIC&#xff1a;&#xff08;Generic Interrupt Controller&#xff09;通用中断控制器&#xff0c;是ARM架构中用于管理中断的核心模块&#xff0c;主要用于现代多核处理器系统。它负责接收&#xff0c;分发并分发中断请求&#xff0c;减轻CPU负担&#x…

用deepseek对GPU服务器进行压力测试

利用 DeepSeek 模型对 GPU 服务器进行压力测试&#xff0c;核心思路是通过模拟高负载的模型推理 / 微调任务&#xff0c;验证 GPU 服务器在计算、显存、网络等维度的承载能力&#xff0c;同时观察稳定性与性能瓶颈。以下是具体的测试方案&#xff0c;涵盖测试环境准备、核心测试…

ARM(7)IMX6ULL 按键控制(轮询 + 中断)优化工程

一、硬件介绍1. 开关功能定义共 3 个开关&#xff08;两红一黄&#xff09;&#xff0c;功能分工明确&#xff1a;中间开关&#xff1a;复位按钮左边开关&#xff1a;低功耗按钮右边开关&#xff1a;用户独立控制的试验按键&#xff08;核心控制对象&#xff09;2. 核心电平逻辑…

【QT随笔】什么是Qt元对象系统?Qt元对象系统的核心机制与应用实践

【QT随笔】什么是Qt元对象系统&#xff1f;Qt元对象系统的核心机制与应用实践 之所以写下这篇文章&#xff0c;是因为前段时间自己面试的时候被问到了&#xff01;因此想借此分享一波&#xff01;&#xff01;&#xff01;本文主要详细解释Qt元对象系统的概念、作用及实现机制…

从技术视角解析加密货币/虚拟货币/稳定币的设计与演进

随着加密货币行情的持续走高&#xff0c;除了资产价值&#xff0c;我想试着从底层程序设计与架构角度解析比特币、以太坊、稳定币以及新兴公链的核心技术方案。作者在2018年设计实施了基于区块链技术的金融项目&#xff0c;并荣获了国家课题进步奖&#xff0c;对加密货币及场景…