【2023工业图像异常检测文献】SimpleNet

SimpleNet:ASimpleNetworkforImageAnomalyDetectionandLocalization

1、Background

图像异常检测和定位主要任务是识别并定位图像中异常区域

工业异常检测最大的难题在于异常样本少,一般采用无监督方法,在训练过程中只使用正常样本

解决工业异常检测主要有三种方法,分别是 基于重建的方法基于合成的方法基于嵌入的方法

基于重建(生成)的 AD

  • 通过比较原始数据和重建后的数据之间的差异,可以检测出异常区域。
  • 自编码器(Autoencoder)或生成对抗网络(GAN)。
  • 会导致 过拟合 现象,重建或生成异常的数据,与原始数据无法进行区分,以至于误检。

基于合成的 AD

  • 通过在正常的训练数据上添加噪声合成异常样本来训练模型。
  • 在正常图像数据上应用某种形式的变换或噪声,以模拟异常。这些变换可能包括随机裁剪和粘贴图像块(CutPaste)、添加高斯噪声、进行图像扭曲等。
  • 主要组成模块:合成异常样本、特征提取(CNN等)、训练分类器(SVM、神经网络等)。
  • 基于合成的异常检测方法通过训练在无异常图像上生成的合成异常来估计正常和异常之间的决策边界,但是, 合成的异常图像不够真实 。来自合成数据的特征可能偏离正常特征很远,使用这种负样本进行训练可能导致正态特征空间的边界松散,这意味着分布中特征空间可能包含不明显的缺陷。

基于嵌入的 AD

  • 通过将图像特征映射到一个嵌入空间来检测异常。使用ImageNet预训练卷积神经网络(CNN)提取广义正态特征。然后采用多元高斯分布、归一化流、记忆库等统计算法嵌入正态特征分布。通过将输入特征与学习分布或记忆特征进行比较来检测异常。
  • 预训练模型:使用大规模数据集(如ImageNet)预训练一个深度神经网络,如卷积神经网络(CNN)。这个网络用于从图像中提取特征。
  • 特征提取:将预训练的模型应用于新的图像数据,提取高级特征。这些特征捕捉了图像的重要视觉信息。
  • 特征嵌入:使用特定的技术(如主成分分析PCA、t-SNE、自编码器等)将提取的特征映射到一个低维嵌入空间。在这个空间中,相似的数据点(如正常图像的特征)彼此靠近,而不同的数据点(如异常图像的特征)则相距较远。
  • 学习正常数据分布:在训练阶段,只使用正常图像的数据来训练模型,从而学习正常数据在嵌入空间中的分布。这可以通过多种方式实现,例如:
    • 统计方法:如多元高斯分布,用于建模正常特征的分布。
    • 内存库方法:存储正常样本的特征,以便在测试时比较新样本与存储的特征。
    • 流模型:如归一化流,将数据映射到一个新的分布,通常假设为高斯分布。
  • 然而,工业图像通常具有与ImageNet不同的分布,直接使用这些有偏差的特征可能会导致不匹配问题。此外,统计算法往往存在 计算复杂度高、内存消耗大 的问题。

为了缓解上述问题,我们提出了一种新的异常检测和定位网络,称为 SimpleNet 。 SimpleNet 利用了基于合成和基于嵌入的方式,并做了一些改进。

首先,我们建议使用特征适配器来产生面向目标的特征,而不是直接使用预训练的特征来减少域偏差。

其次,我们提出在特征空间中对正常特征施加噪声来生成异常特征,而不是直接在图像上合成异常特征。

我们认为,通过适当校准噪声的尺度,可以获得紧密有界的正态特征空间。

第三,我们通过训练一个简单的鉴别器来简化异常检测过程,该鉴别器比上述基于嵌入的方法采用的复杂统计算法计算效率高得多。

具体来说,SimpleNet 使用预训练的主干进行常规特征提取,然后使用特征适配器将特征转移到目标域。然后,通过在适应的正态特征上加入高斯噪声,简单地生成异常特征,在这些特征上训练一个由几层 MLP 组成的简单判别器来判别异常。

2、Method

SimpleNet 由一个特征提取器、一个特征适配器、一个异常特征生成器和一个鉴别器组成。

异常特征生成器仅在训练期间使用,因此 SimpleNet 在推理时遵循单流方式。

在训练阶段,将正常样本输入到预先训练的特征提取器中,以获得局部特征。

然后,利用特征适配器将预先训练的特征适配到目标域中。

通过将高斯噪声添加到自适应特征中来合成异常特征。

自适应特征和异常特征分别用作正样本和负样本来训练最终的鉴别器。

异常特征生成器在推断时被移除。

在这里插入图片描述

pseudo-code

在这里插入图片描述

3、Experiments

Backbone 使用的是 WideResnet50 。

SimpleNet 又好又快。。。

在这里插入图片描述

4、Conclusion

  1. 提出了用于异常检测和定位的方法称为 SimpleNet,并且该方法简单而高效,适用于工业场景。
  2. SimpleNet 由 4 个结构简单的神经网络模块组成,分别是 特征提取器特征适配器异常特征生成器异常鉴别器
  3. SimpleNet 在 MVTec AD 基准测试中实现了最高的性能和最快的推理速度,超越了之前的最先进方法。

[REFERENCE]
CVPR2023:SimpleNet:一个简单的图像异常检测和定位网络
CVPR 23 | 更快更准更简单!工业异常检测最新SOTA:SimpleNet
更快更准更简单的工业异常检测最新SOTA:SimpleNet

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【CSS in Depth 2 精译_034】5.4 Grid 网格布局的显式网格与隐式网格(下)

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…

Qt-QTextEdit的输入类控件(30)

目录 描述 相关属性 相关信号 使用 文本内容改变时触发 选中内容时发生改变 光标位置发生改变时触发 可复制,可撤销,可恢复发生改变时触发 undo撤销 redo恢复 copy复制 描述 这是一个多行输入框 有两个很像的,需要注意一下&…

边缘计算网关在工业中的应用

在工业4.0和智能制造的浪潮中,边缘计算网关扮演着至关重要的角色。AIoTedge边缘计算网关,作为工业互联网的关键组件,通过其强大的数据处理能力和智能分析功能,正在改变工业生产的面貌。 边缘计算网关的定义与角色 边缘计算网关是…

Python学习——【4.3】数据容器:str字符串

文章目录 【4.3】数据容器:str字符串一、再识字符串二、字符串的下标(索引)三、字符串的常用操作四、字符串的遍历五、字符串的特点 【4.3】数据容器:str字符串 一、再识字符串 虽然之前已经学习过字符串,但此处我们需…

自制工具 | 局域网文本、文件传输与共享,跨设备剪切板(预览版)

本文将介绍一款自制文本和文件传输工具,可实现局域网内文本/文件传输与共享。支持传输文本,可一键复制、粘贴,文本字数无限制,以缩略形式展示。支持传输文件,文件大小无限制。工作在局域网,含操作校验&…

买家账号被feng?探讨亚马逊、Lazada和速卖通的解决方案

账号登录的安全注意事项 当亚马逊买家账号在多个手机或电脑上进行登录时,这些设备的独特硬件网络参数,如设备型号、地区码、监管码、主板码、WIFI地址等,均会被亚马逊系统读取并记录。特别是在风控加强期间,平台会深入分析这些参…

MemFire Cloud,让Coding更丝滑

作为一个开发者,每天与代码打交道的你,是否总觉得开发流程太繁琐?后端搭建复杂,接口设计麻烦,甚至连数据库配置都让你心烦不已。别担心,今天要给你推荐一个真正能让开发变得丝滑的工具——MemFire Cloud。如…

【Python数据分析】pandas apply自定义函数+分组操作+分析案例

文章目录 1.apply()1.1函数 操作series对象1.2 apply()函数 > 操作DataFrame对象1.3 向量化函数1.4 apply()函数的案例-泰坦尼克号数据集1.5 apply()函数 结合 lambda表达式使用. 2. 分组操作2.1 分组 聚合操作2.2 分组 转换2.3 分组 过滤2.4 DataFrameGroupby df的分组对…

Java面试题大全(全网最全,持续更新)中级(2)

1. 集合与泛型 1.1. 什么是泛型?泛型的优势是什么? 泛型允许类、接口和方法在定义时不指定具体的类型,在使用时再指定类型。优势: 提高代码复用性。提供类型安全,避免强制类型转换带来的 ClassCastException。 pub…

word批量裁剪图片,并调整图片大小,不锁定纵横比

在word中有若干图片待处理,裁剪出指定内容,调整成指定大小。如下是待处理的图片: 这时,选择视图,选择宏,查看宏 选择创建宏 添加cut_picture代码如下,其中上、下、左、右裁剪的橡塑尺寸根据自己…

李飞飞创业公司World Labs:引领AI新方向的“大世界模型”

引言 随着人工智能的不断进步,AI领域涌现了许多新兴技术和研究方向。在这其中,李飞飞创办的World Labs凭借其独特的“空间智能”和“大世界模型”(Large World Model, LWM)理念,迅速成为焦点。尤其是在获得了2.3亿美元…

系统架构设计师教程 第10章 10.5 软件架构演化评估方法笔记

10.5 软件架构演化评估方法 ★★★☆☆ 10.5.1 演化过程已知的评估 目的在于通过对架构演化过程进行度量,比较架构内部结构上的差异以及由此导致的外部质量属性上的变化,对该演化过程中相关质量属性进行评估。 1.评估流程 架构演化评估的基本思路是将架…

IDEA快速查看类中有那些方法的快捷键

IDEA快速查看类中有那些方法的快捷键 1.显示类结构弹出窗口 你可以使用以下快捷键来快速查看当前类的方法和成员: Windows/Linux: Ctrl F12 macOS: Option F12 或 ⌥ F12 这会打开一个弹出窗口,显示当前类的结构,包括方法、字段、构造函…

派可数据:解锁数据潜力,驱动业务价值新增长

前 言 当前,企业数字化转型经过初始探索阶段,各行各业进入高速发展百花齐放的创新应用新阶段。创新应用阶段的核心是企业应用先进的数字技术和工具,对企业多年在全领域积累的各类数据,包括财务、业务、生产、设计、设备、工艺等结…

车载应用的多功能需求与公安、金融等行业的应用特点

随着科技的快速发展,车载应用的功能需求也日益多样化。除了基本的视频监控功能外,现代车载应用还需满足一系列高级功能,如无线网络视频监控、GPS卫星定位、车辆调度、语音报站、行驶信息记录以及多媒体娱乐广告播放等。这些功能在公安、金融等…

Vue 实战教程:从 0 到 1 手把手打造新手友好的聊天应用,附完整开源代码,快速上手前端开发!(包含发送消息、发送表情包、发送文件、下载文件、截图等功能)

b站视频演示效果&#xff1a; 效果图&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8" /><title>简单聊天功能示例</title><!-- 引入 Vue.js&#xff08;通过 …

深度优先搜索算法及其matlab程序详解

#################本文为学习《图论算法及其MATLAB实现》的学习笔记################# 深度优先搜索算法(DepthFirst Search),简记DFS算法,是图论中的首要算法,其思想方法渗透到图论中的许多算法之中,尤其是DFS算法在求生成树、割点、块和平面图嵌入算法中起着极为关键的作用。…

开源ids snort (windows版)

Snort-IPS-on-Windows-main资源-CSDN文库 GitHub - eldoktor1/Snort-IPS-on-Windows: A comprehensive guide to installing and configuring Snort IPS on Windows, ensuring robust network security 解压后安装 npcap-1.75.exe Snort_2_9_20_Installer.x64.exe 安装后cm…

MiniMind环境搭建训练推理测试

引子 写了那么多篇大模型环境搭建推理部署的blog&#xff0c;如果没记错有几篇就是因为GPU资源hold不住&#xff0c;没有无法得到最终结果的&#xff08;智谱AI GLM-4V-9B视觉大模型环境搭建&推理-CSDN博客&#xff09;。我个人一直觉得大模型发展最终还是要走向端侧&…

8591 计算next值

### 思路 1. **录入字符串**&#xff1a;读取用户输入的字符串个数 n&#xff0c;然后逐个读取每个字符串。 2. **计算NEXT值**&#xff1a;对于每个字符串&#xff0c;计算其NEXT数组。 3. **输出NEXT值**&#xff1a;输出每个字符串对应的NEXT数组。 ### 伪代码 function g…