更快更准更简单的工业异常检测新SOTA:SimpleNet

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

来源投稿 作者橡皮
编辑学姐

论文链接https://arxiv.org/pdf/2303.15140.pdf

代码链接https://github.com/DonaldRR/SimpleNet

0.背景

图像异常检测和定位任务旨在识别异常图像并定位异常子区域。检测各种感兴趣的异常现象的技术在工业检测中有着广泛的应用。在工业场景中异常检测和定位尤其困难因为异常样本很少异常可能从细微的变化如薄划痕到大的结构缺陷如缺失零件不等。

目前的方法主要以无监督的方式解决这个问题即在训练过程中只使用正常样本。使用基于重建的方法、基于合成的方法和基于嵌入的方法是解决无监督异常检测问题的三个主要趋势。

基于重建的方法假设仅用正常数据训练的深度网络不能准确地重建异常区域。将逐像素重建误差作为用于异常定位的异常分数。然而这一假设可能并不总是成立的有时网络可以很好地“泛化”从而也可以很好的重建异常输入从而导致错误检测。

基于合成的方法通过对在无异常图像上生成的合成异常进行训练来估计正常和异常之间的决策边界。然而合成的图像不够逼真。来自合成数据的特征可能会偏离正常特征很远使用这种负样本进行训练可能会导致有松散边界的正常特征空间这意味着模糊的缺陷可能会被包括在分布特征空间中。

最近基于嵌入的方法实现了最先进的性能。这些方法使用ImageNet预训练的CNN来提取广义正态特征。然后采用多元高斯分布、归一化流和内存库等统计算法嵌入正态特征分布。通过将输入特征与学习的分布或记忆的特征进行比较来检测异常。然而工业图像通常具有与ImageNet不同的分布。直接使用这些有偏见的特征可能会导致失配问题。

1.主要贡献

提出了一种新的异常检测和定位网络称为 SimpleNet 。SimpleNet 利用了基于合成和基于嵌入的方式并进行了一些改进。首先我们建议使用特征适配器来产生面向目标的特征而不是直接使用预训练的特征这可以减少领域偏差。

提出通过在特征空间中对正常特征施加噪声来生成异常特征而不是直接合成图像上的异常。通过训练一个简单的鉴别器来简化异常检测过程该鉴别器比上述基于嵌入的方法所采用的复杂统计算法具有更高的计算效率。

SimpleNet 基于广泛使用的 WideResnet50 主干在MVTec AD上以77帧/秒的速度运行时实现了99.6%的AUROC在准确性和效率方面都超过了以前发表的最佳异常检测方法。进一步将 SimpleNet 引入到一类新颖性检测任务中以显示其通用性。这些优势使 SimpleNet 弥合了学术研究和工业应用之间的差距。

2.网络介绍SimpleNet

SimpleNet 由一个特征提取器、一个特征适配器、一个异常特征生成器和一个鉴别器组成。异常特征生成器仅在训练期间使用因此SimpleNet在推理时遵循单流方式。在训练阶段将正常样本输入到预先训练的特征提取器中以获得局部特征。然后利用特征适配器将预先训练的特征适配到目标域中。通过将高斯噪声添加到自适应特征中来合成异常特征。自适应特征和异常特征分别用作正样本和负样本来训练最终的鉴别器。异常特征生成器在推断时被移除。

3.方法细节

Feature Extractor 特征提取器

特征提取器用来获取局部特征如同 [Patchcore] 方法。我们将流程重新制定如下

Feature Adaptor 特征适配器

由于工业图像通常与骨干预训练中使用的数据集具有不同的分布我们采用特征适配器G_\theta将训练特征转移到目标域。特征适配器G_\theta将局部特征q_{h,w}投影到自适应特征,w作为

特征适配器可以由简单的神经块组成例如全连接层或多层感知器MLP。我们通过实验发现单个全连接层可以产生良好的性能。

Anomalous Feature Generator 异常特征生成器

下图说明了异常特征对四类MVTec AD的影响。可以看到沿着适应特征的每个维度的标准偏差往往是一致的。因此当区分异常特征和正常特征时特征空间往往是紧凑的。

Discriminator 鉴别器

Loss function and Training 损失方程和训练

一个简单的截断L1损失可推导为

th^+th^-是防止过拟合的截断项。 默认情况下它们设置为0.5和-0.5。训练目标是

我们将在实验部分用广泛使用的交叉熵损失对所提出的截断L1损失函数进行实验评估。训练过程的伪代码如算法1所示:

Inference and Scoring function 推理和评价函数

异常特征生成器在推理时被丢弃。

推理过程中用于异常定位的异常图定义为:

然后对S_{AL}(x_i)进行插值以获得输入样本的空间分辨率并对光滑边界进行σ=4的高斯滤波。由于对于任何大小的异常区域都存在最具响应性的点因此将异常图的最大得分作为每个图像的异常检测得分。

4.实验结果

关注下方《学姐带你玩AI》

回复“异常检测”获取全部论文PDF合集

码字不易欢迎大家点赞评论收藏

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6