A Unified Model for Multi-class Anomaly Detection

多类别异常检测的统一模型 

文章链接:点这里

源码链接:点这里

 研究目的

1.解决多类别异常检测的挑战

现有的异常检测方法通常需要为每个类别单独训练模型,如Figure1图(c)所示,这种方法在类别数量增加时会消耗大量资源,并且在处理具有较大类内多样性的数据时表现不佳。本文提出了一种统一的多类别异常检测模型UniAD,旨在通过一个模型处理多个类别的异常检测任务,如Figure1图(d)所示,同时避免为每个类别单独训练模型的弊端。

任务设置如Figure1图(d)所示,训练数据涵盖多个类别的正常样本,学习到的模型需要在没有任何微调的情况下完成所有这些类别的异常检测。

值得注意的是,类别信息(即类别标签)在训练和推理阶段都是不可访问的,这大大减轻了数据准备的难度。然而,解决这样的任务相当具有挑战性。

无监督异常检测的基本原理是对正常数据的分布进行建模,并找到一个紧凑的决策边界,如Figure1图(a)所示。在多类别情况下,我们希望模型能够同时捕捉所有类别的分布,以便它们可以共享同一个边界,如Figure1图(b)所示。但如果我们关注某个特定类别,比如Figure1图(b)中的绿色类别,其他类别的所有样本都应被视为异常,无论它们本身是正常的(即蓝色圆圈)还是异常的(即蓝色三角形)。从这个角度来看,如何准确建模多类别分布变得至关重要。 

2.避免“ 雷同捷径 ” (identical shortcut)问题

在多类别异常检测中,传统的重建网络可能会陷入“ 雷同捷径 ”,即无论输入是正常样本还是异常样本,模型都能很好地重建,从而导致无法有效检测异常。本文通过提出新的方法改进特征重建过程,避免这一问题。

 在Figure2中,构建了MLP、CNN和Transformer(带有查询嵌入)来重建由预训练骨干网络提取的特征。重建误差表示异常的可能性。可以发现,流行的重建网络在本研究的挑战性任务中表现不佳,通常会陷入“雷同捷径”,即直接复制输入内容而忽略其内容

研究方法

针对以上问题提出本文的研究方法:

  • 重新审视特征重建:分析了MLP、CNN和Transformer在多类别异常检测中的表现,发现这些方法容易陷入“雷同捷径”,即直接复制输入作为输出,导致异常检测性能下降。
  • 提出UniAD框架:UniAD由邻居掩码编码器(NME)和分层查询解码器(LQD)组成。通过以下三项改进避免模型学习“雷同捷径”:

1、分层查询解码器(LQD):在每一层中引入可学习的查询嵌入,帮助模型建模多类别数据的复杂分布。
2、邻居掩码注意力(NMA):在注意力模块中掩码邻居token,防止从输入特征到重建输出的信息泄露。
3、特征抖动(FJ):向输入特征添加扰动,促使模型通过去噪任务学习正常样本的分布。

  • 实验验证:在MVTec-AD和CIFAR-10数据集上进行实验,验证UniAD在异常检测和异常定位任务上的性能,并与现有方法进行对比。

 UniAD框架的详细设计

  • 邻居掩码注意力模块NMA
  • 分层查询解码器LQD
  • 特征抖动策略FJ

 如Figure3所示,UniAD由邻居掩码编码器(NME)和分层查询解码器(LQD)组成。首先,由固定的预训练骨干网络提取的特征token通过NME进一步整合,生成编码器嵌入。然后,在LQD的每一层中,可学习的查询嵌入依次与编码器嵌入和前一层的输出(第一层为自融合)融合。特征融合通过邻居掩码注意力(NMA)完成。LQD的最终输出被视为重建特征。我们还提出了特征抖动(FJ)策略,向输入特征添加扰动,促使模型通过去噪任务学习正常分布。最后,通过重建差异获得异常定位和检测的结果。

在全注意力机制中,一个token可以看到自己,因此很容易通过简单复制来重建。此外,考虑到特征token是由CNN骨干网络提取的,邻居token必须共享许多相似性。因此,我们提出在计算注意力图时掩码邻居token的信息,迫使网络通过更远距离的token来理解当前点的信息,从而避免信息泄漏并提高模型的泛化能力。

主要创新点

  • 提出了统一的多类别异常检测框架UniAD:通过一个模型处理多个类别的异常检测任务,避免了“一类一模型”的局限性。

  • 有效避免“雷同捷径”问题:通过分层查询解码器、邻居掩码注意力和特征抖动策略,显著提高了模型在多类别异常检测中的性能,解决了传统方法在统一设置下容易陷入“雷同捷径”的问题。

讨论 

 在本研究中,主要处理了不同类型的对象,而没有进行区分。它没有使用可能帮助模型更好地拟合多类别数据的类别标签。如何将统一模型与类别标签结合应进一步研究。在实际使用中,正常样本也不像MVTec-AD中那样一致,通常表现出一定的多样性。

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

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

相关文章

封装neo4j的持久层和服务层

目录 持久层 mp 模仿: 1.抽取出通用的接口类 2.创建自定义的repository接口 服务层 mp 模仿: 1.抽取出一个IService通用服务类 2.创建ServiceImpl类实现IService接口 3.自定义的服务接口 4.创建自定义的服务类 工厂模式 为什么可以使用工厂…

2024各地低空经济政策汇编资料

互联网各领域资料分享专区(不定期更新): Sheet 前言 由于内容较多,且不便于排版,为避免资源失效,请用手机点击链接进行保存,若链接生效请及时反馈,谢谢~ 正文 链接如下(为避免资源失效&#x…

基于JAVA的幼儿园管理系统的设计与实现源码(springboot+vue+mysql)

项目简介 幼儿园管理系统实现了以下功能: 基于JAVA的幼儿园管理系统的设计与实现的主要使用者管理员可以管理系统基本信息;管理轮播图、系统简介、教师管理、课程管理、幼儿活动管理、餐饮管理、留言管理等功能;前台用户注册登录&#xff0…

智能车摄像头开源—8 元素处理

目录 一、前言 二、无元素状态 三、直线与弯道 四、十字与环岛 1、十字识别处理 2、环岛识别处理 五、坡道 六、障碍物 七、斑马线 八、入库 九、出界停车 一、前言 在写这篇文章之前,考虑了很久到底该写到什么程度,但思来想去,不同…

LC-随机链表的复制、排序链表、合并K个升序链表、LRU缓存

随机链表的复制 为了在 O(n) 时间复杂度内解决这个问题,并且使用 O(1) 的额外空间,可以利用以下技巧: 将新节点插入到原节点后面:我们可以将复制节点插入到原节点后面。例如,如果链表是 A -> B -> C&#xff0c…

编码格式大全:类型 特点及其在网络安全中的作用

目录 说明: 1. Base64 Base64编码的字符集通常包括: Base64的工作原理: Base64编码在安全渗透中的应用场景 常见的Base64编码绕过场景 如何防范Base64绕过攻击 2. URL编码(Percent Encoding) URL编码与安全渗透的关系 示…

BGP分解实验·18——BGP选路原则之权重

在本地对进入的NLRI做权重设置,从而对过滤特定的路由进行优选。严格来说,权重值并不能算是路径属性,因为它并处传递,所能影响的仅仅限于本地路由器。 实验拓扑如下: 完成实验拓扑的基础实验,R1的配置如下…

pandas(13 Caveats Gotchas和SQL比较)

前面内容:pandas(12 IO工具和稀松数据) 目录 一、Caveats警告 & Gotchas预见 1.1 在Pandas中使用if/Truth语句 1.2 位运算布尔 1.3 isin操作 1.4 重新索引reindex和 loc&iloc 使用注意事项 1.5 loc和iloc 二、Python Pandas 与SQL的比较 2.1 数…

FPGA的星辰大海

编者按 时下风头正盛的DeepSeek,正值喜好宏大叙事的米国大统领二次上岗就业,OpenAI、软银、甲骨文等宣布投资高达5000亿美元“星际之门”之际,对比尤为强烈。 某种程度上,,是低成本创新理念的直接落地。 包括来自开源社区的诸多赞誉是,并非体现技术有多“超越”,而是…

AI大模型的文本流如何持续吐到前端,实时通信的技术 SSE(Server-Sent Events) 认知

写在前面 没接触过 SSE(Server-Sent Events),AI大模型出来之后,一直以为文本流是用 WebSocket 做的偶然看到返回到报文格式是 text/event-stream,所以简单认知,整理笔记博文内容涉及 SSE 认知,以及对应的 D…

大学信息安全技术 期末考试复习题

一、单选题(一) 1、在以下人为的恶意攻击行为中,属于主动攻击的是( )A A.数据篡改及破坏 B.数据窃听 C.数据流分析 D.非法访问 2、数据完整性指的是( &#x…

CES 2025 上的创新方案——无电池智能纸尿裤-AP4470

这款纸尿裤采用了可重复使用的组件,通过检测液体的存在来增强老年人和婴儿的护理,即使电极上滴了几滴液体也是如此。 其原理为尿液中的水分作为电解液,将尿布里安装的两种导电性材料作为正负极,充当电池,从而产生300m…

C++17中的LegacyContiguousIterator(连续迭代器)

文章目录 特点内存连续性与指针的兼容性更高的性能 适用场景与C接口交互高性能计算 支持连续迭代器的容器示例代码性能优势缓存局部性指针算术优化 注意事项总结 在C17标准里,LegacyContiguousIterator(连续迭代器)是一类特殊的迭代器。它不仅…

小白win10安装并配置yt-dlp

需要yt-dlp和ffmpeg 注意存放路径最好都是全英文 win10安装并配置yt-dlp 一、下载1.下载yt-dlp2. fffmpeg下载 二、配置环境三、cmd操作四、yt-dlp下视频操作 一、下载 1.下载yt-dlp yt-dlp地址 找到win的压缩包点下载,并解压 2. fffmpeg下载 ffmpeg官方下载 …

【线性代数】2矩阵

1.矩阵的运算 1.1.定义 矩阵行列式数表数行数和列数可以不相等行数和列数必须相等1.2.加法与数乘 矩阵的数乘:所有元素都乘这个数 矩阵的加法:对应位置处元素相加 🦊已知,求 1.3.乘法 矩阵乘法三步法 ①能不能乘:内定乘 ②乘完是何类型:外定型 ③中的元素是什么:左…

【Leetcode 952】按公因数计算最大组件大小

题干 给定一个由不同正整数的组成的非空数组 nums ,考虑下面的图: 有 nums.length 个节点,按从 nums[0] 到 nums[nums.length - 1] 标记;只有当 nums[i] 和 nums[j] 共用一个大于 1 的公因数时,nums[i] 和 nums[j]之…

DeepSeek-R1 大模型本地部署指南

文章目录 一、系统要求硬件要求软件环境 二、部署流程1. 环境准备2. 模型获取3. 推理代码配置4. 启动推理服务 三、优化方案1. 显存优化技术2. 性能加速方案 四、部署验证健康检查脚本预期输出特征 五、常见问题解决1. CUDA内存不足2. 分词器警告处理3. 多GPU部署 六、安全合规…

家里WiFi信号穿墙后信号太差怎么处理?

一、首先在调制解调器(俗称:猫)测试网速,网速达不到联系运营商; 二、网线影响不大,5类网线跑500M完全没问题; 三、可以在卧室增加辅助路由器(例如小米AX系列)90~200元区…

win11系统 Docker Desktop提示Docker Engine stopped解决全过程记录

DockerDesktop安装指南以及Windows下WSL2和 Hyper-V相关问题追查 【已解决】win10系统 Docker 提示Docker Engine stopped解决全过程记录 本篇文章主要记录Docker Desktop安装和使用时出现的问题及解决方法,以及后续使用夜神模拟器,关闭了Hyper-V时&am…

手动埋点的demo

上代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>埋点示例</title> </head><b…