论文主要内容
本文提出了一个名为 SimpleNet 的简单高效的网络,用于无监督图像异常检测和定位。SimpleNet 在性能和推理速度上均超越了当前最先进的方法,成为连接学术研究与工业应用的桥梁。
三种异常检测的思路
1. 基于重建误差的方法(Reconstruction-based Methods)
- 思路:通过深度网络(如自编码器)重建正常数据,利用像素级重建误差作为异常评分。异常区域重建差异较大,因此可检测异常。
- 缺点:
- 如果解码器性能过强,可能重建异常区域,导致误检。
- 对具有类似纹理或边缘的异常区域表现较差。(细节方面)
2. 基于合成样本的方法(Synthesizing-based Methods)
- 思路:通过在正常样本上合成异常样本并训练分类器,划分正常和异常样本分布。
- 缺点:
- 合成样本往往与真实异常差距较大。
- 异常样本的情况太多,合成所有可能的异常样本几乎不可能。
3. 基于特征嵌入的方法(Embedding-based Methods)
- 思路:利用预训练的 CNN 提取特征并嵌入到高维分布中,通过比较特征分布差异来检测异常。
- 缺点:
- 工业图像与预训练模型的分布差异会导致特征偏差。
- 统计算法(如多元高斯分布)计算复杂,存储消耗大。
SimpleNet
1. 特征提取器(Feature Extractor)
- 基于预训练网络(如 WideResNet50)提取本地特征,避免从零开始训练。
- 输出图像中各位置的局部特征。
2. 特征适配器(Feature Adaptor)
- 解决特征嵌入方法分布不一致的问题
- 将预训练的特征调整为目标领域的特征,减少领域偏差。
- 通常使用简单的全连接层实现。
3. 异常特征生成器(Anomalous Feature Generator)
- 比合成异常样本的方法更具有鲁棒性
- 在训练阶段,通过向正常特征添加高斯噪声生成异常特征。
- 保证异常特征分布与正常特征分布在嵌入空间中明显分离。
4. 判别器(Discriminator)
- 作为正常性评分器,区分正常与异常特征。
- 简单的两层多层感知机(MLP),提高计算效率。
损失函数
SimpleNet 的训练目标通过一个截断的 L 1 L_1 L1 损失函数实现:
l h , w = max ( 0 , t + − D ψ ( q h , w ) ) + max ( 0 , − t − + D ψ ( q h , w − ) ) l_{h,w} = \max(0, t^+ - D_\psi(q_{h,w})) + \max(0, -t^- + D_\psi(q^-_{h,w})) lh,