【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

相关推荐
szxinmai主板定制专家2 分钟前
【国产NI替代】基于FPGA的32通道(24bits)高精度终端采集核心板卡
大数据·人工智能·fpga开发
海棠AI实验室5 分钟前
AI的进阶之路:从机器学习到深度学习的演变(三)
人工智能·深度学习·机器学习
机器懒得学习17 分钟前
基于YOLOv5的智能水域监测系统:从目标检测到自动报告生成
人工智能·yolo·目标检测
QQ同步助手31 分钟前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
AIGC大时代34 分钟前
如何使用ChatGPT辅助文献综述,以及如何进行优化?一篇说清楚
人工智能·深度学习·chatgpt·prompt·aigc
流浪的小新39 分钟前
【AI】人工智能、LLM学习资源汇总
人工智能·学习
古希腊掌管学习的神2 小时前
[搜广推]王树森推荐系统——矩阵补充&最近邻查找
python·算法·机器学习·矩阵
martian6652 小时前
【人工智能数学基础篇】——深入详解多变量微积分:在机器学习模型中优化损失函数时应用
人工智能·机器学习·微积分·数学基础
人机与认知实验室2 小时前
人、机、环境中各有其神经网络系统
人工智能·深度学习·神经网络·机器学习
黑色叉腰丶大魔王3 小时前
基于 MATLAB 的图像增强技术分享
图像处理·人工智能·计算机视觉