【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.rhkb.cn/news/432474.html

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

相关文章

ROC、TPR、FPR的含义

1、ROC(Receiver Operating Characteristic) ROC(Receiver Operating Characteristic)曲线是一种用于评估分类模型性能的工具。它通过绘制真阳性率(True Positive Rate, TPR)与假阳性率(False…

uni-app - - - - - 实现锚点定位和滚动监听功能(滚动监听功能暂未添加,待后续更新)

实现锚点定位和滚动监听功能 1. 思路解析2. 代码示例 效果截图示例: 点击左侧menu,右侧列表数据实现锚点定位 1. 思路解析 点击左侧按钮,更新右侧scroll-view对应的scroll-into-view的值,即可实现右侧锚点定位滚动右侧区域&am…

Chroma 向量数据入门

Chroma 是 AI 原生的开源矢量数据库。Chroma 使知识、事实和技能可插入 LLM,从而可以轻松构建 LLM 应用程序。Chroma 是 AI 原生的开源矢量数据库。Chroma 使知识、事实和技能可插入 LLM,从而可以轻松构建 LLM 应用程序。 🌟Chroma是一个文档…

简单的mybatis batch插入批处理

简单的mybatis batch插入批处理 1.需求 公司的权限管理功能有一个岗位关联资源的分配操作,如果新增一个岗位,有时候需要将资源全部挂上去,原有的是for循环插入资源信息,发现有时候执行速度过慢,所以此处想修改为批处…

Spring Cloud Gateway 之动态uri 自定义过滤器

背景:第三方公司 请求本公司入参和出参一样的同一个接口,根据业务类型不一样需要不同业务微服务处理 ,和第三方公司协商在请求头中加入业务类型方便我公司在网关成分发请求。 1:在spring cloud gateway yml 中加入路由 重点是 -…

数据结构之搜索二叉树

目录 一、什么是搜索二叉树 基本概念 特点 注意事项 二、搜索二叉树的C实现 2.0 构造与析构 2.1 插入 2.2 查找 2.3 删除 2.3.1 无牵无挂型 2.3.2 独生子女型 2.3.3 儿女双全型 三、搜索二叉树的应用 3.1 key搜索 3.2 key/value搜索 一、什么是搜索二叉树 搜索二…

数值计算 --- 平方根倒数快速算法(中)

平方根倒数快速算法(中) --- 向Greg Walsh致敬! 在前面的介绍中,我们已经知道了这段代码的作者Greg Walsh在函数的最后使用了NR-iteration,且只用了一次NR-iteration就能达到比较理想的精度。这样一来,选择正确的初值就显得尤为重…

云原生|浅谈云原生中的对象存储之MinIO 的使用

一、什么是对象储存 对象存储(Object Storage)以对象的形式存储和管理数据,这些对象可以是任何类型的数据,例如 PDF,视频,音频,文本或其他文件类型。对象存储使用分布式存储架构,数据…

C语言贪吃蛇小游戏演示和说明

C语言贪吃蛇小游戏演示和说明 设计贪吃蛇游戏的主要目的是让大家夯实C语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言。 游戏开始后,会在中间位置出现一条只有三个节点的贪吃蛇,并随机出现一个食物&am…

数据结构练习题————(二叉树)——考前必备合集!

今天在牛客网和力扣上带来了数据结构中二叉树的进阶练习题 1.二叉搜索树与双向链表———二叉搜索树与双向链表_牛客题霸_牛客网 (nowcoder.com) 2.二叉树遍历————二叉树遍历_牛客题霸_牛客网 (nowcoder.com) 3.二叉树的层序遍历————102. 二叉树的层序遍历 - 力扣&am…

寿司检测系统源码分享

寿司检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

一文了解高速工业相机

超高速相机是工业相机的一种,一般高速相机指的是数字工业相机,其一般安装在机器流水线上代替人眼来做测量和判断,通过数字图像摄取目标转换成图像信号,传送给专用的图像处理系统。 超高速工业相机的采集速率> 50Gb/s&#xff…

window系统DockerDesktop 部署windows容器

目录 参考文献1、安装Docker Desktop1.1 下载安装包1.2 安装教程1.3 异常解决 2、安装windows容器2.1 先启动DockerDesktop 软件界面2.2 检查docker版本2.3 拉取windows镜像2.4 网盘下载windows镜像 参考文献 windows容器docker中文官网 Docker: windows下跑windows镜像 1、安…

软件测试标准流程(思维导图版)

一套标准的流程在实际工作落地并执行起来,针对管理可起到很好的作用。 针对效率可在工作中不断的执行,执行后不断的进行优化,再次执行,在不断的工作实践中慢慢完善最终适用于整个团队。 这就是标准流程的作用与实际的好处&#…

华为申请鸿蒙甄选、鸿蒙优选商标,加词的注意!

近日华为在35类广告销售上申请鸿蒙智选、鸿蒙优选、鸿蒙精品,鸿蒙甄选等商标,后面所加的词智选、优选、精品、甄选等基本上是属于通用词。 这样在35类拿到鸿蒙通用词商标,需要先拿到“鸿蒙“商标,经普推知产商标老杨检索发现&…

【Linux】yum、vim、gcc使用(超详细)

目录 yum 安装软件 卸载软件 查看安装包 安装一下好玩的命令 vim vim基本操作 模式切换 命令集 vim批量注释 vim配置 gcc 函数库 小知识点: Linux中常见的软件安装方式 --------- 下载&&安装 a、yum/apt b、rpm安装包安装 c、源码安装 y…

周家庄智慧旅游小程序

项目概述 周家庄智慧旅游小程序将通过数字化手段提升游客的旅游体验,依托周家庄的自然与文化资源,打造智慧旅游新模式。该小程序将结合虚拟现实(VR)、增强现实(AR)和人工智能等技术,提供丰富的…

vue嵌套路由刷新页面空白问题

问题描述 在vue项目开发中遇到这样一个问题,在history模式下通过页面点击路由跳转可以打开页面,但是在当前页面刷新就空白了,如下: 点击路由跳转页面是有的 刷新页面就空白 代码 {path: "/home",name: "home&qu…

SQL常用数据过滤 - EXISTS运算符

SQL查询中的EXISTS运算符用于检查查询子句是否存在满足特定条件的记录,如果有一条或者多条记录存在,则返回True,否则返回False。 语法结构 SELECT column_name(s)FROM table_nameWHERE EXISTS(SELECT column_name FROM table_name WHERE co…

React学习笔记(2.0)

React事件绑定 语法:在对应标签上书写on事件(比如onClick,onChange),注意和原生的事件区分,React的事件首字母要大写。 const handleChange(e:any)>{console.log(e);console.log(change事件触发);// e不是原生事件…