SimpleNet_ A Simple Network for Image Anomaly Detection and Localization
SimpleNet 是一种高效且直接的图像异常检测(Anomaly Detection)与定位(Localization)框架。其核心思想在于在特征空间中进行“异常模拟”,而非在像素空间。通过一个简单的“生成-判别”过程,它学会了区分正常特征与异常特征,从而避免了传统方法中的许多弊端,实现了高精度和高效率。
它主要有以下四部分内容:
- 一个预训练的特征提取器,用于生成局部特征(a pre-trained Feature Extractor that generates local features)
- 一个浅层特征提取器,用于将局部特征转化到目标区域( a shallow Feature Adapter that transfers local features to-wards target domain )
- 一个简单的异常特征生成器,通过给正常特征添加高斯噪声来伪造异常特征( a simple Anomaly Feature Generator that counterfeits anomaly features by adding Gaussian noise to normal features )
- 二元异常识别器,用于区分异常特征和正常特征( a binary Anomaly Discriminator that distinguishes anomaly features from normal features )
相关的工作:
- 基于重建的方法:有可能过度编码而不能重建异常样本
- 基于合成的方法:生成人工异常,但合成样本不真实
- 基于嵌入的方法:使用预训练特征+统计方法,但存在域偏差和计算开销大问题
作用模式:
- 特征提取器
从图像中提取具有丰富语义信息的局部特征块(patch features)
2. 特征适配器
将预训练特征投影到目标域
3. 异常特征生成器
对正常特征添加高斯噪声生成异常特征
4. 判别器
区分正常/异常特征
针对这篇论文提出的方法,我们其实很容易就能理解
针对图像进行添加噪声,其实并不一定能取得很好的效果,这点其实很容易理解,因为噪声是十分随机而不固定的,而且十分容易产生不自然的异常,而异常图片的异常点其实是相当自然的,在特征空间上的变化也更连续化。
- 像素空间的噪声: 是低级、随机、无语义的(如高斯噪声、椒盐噪声)。它无法模拟诸如“狗身上长了一个轮子”这种高级语义异常。
- 特征空间的噪声: 特征向量编码了高级语义信息。在其之上添加扰动,相当于对语义内容进行“干扰”或“扭曲”,这种扭曲更有可能模拟出语义层面的异常变化。SimpleNet正是利用了这一点,用最简单的方式(高斯噪声)在特征空间实现了有效的异常模拟。
对于这篇论文,我产生了自己的思路,或许不够好,但也有一定的参考价值
我们知道了训练集的特征空间,那么反过来思考,只要有异常,那么特征空间一定会有噪声,如果我们把特征空间的噪声识别出来,其实也是识别异常图片的过程
那么我们该如何识别特征空间的异常呢?
我的思考是这样的,如果把所有正常样本的特征空间训练成零矩阵,那么行列式的值就能作为判别标准。
但是AI告诉我,这种方式的识别并不有效,更有效的方式或许是欧几里得距离。如果欧几里得距离超出一定范围,那么就说明图像异常。
AI为我指明了道路,有一篇论文完美契合我的思路,下一步就该认真研读它了:
《CFA: Coupled-hypersphere-based Feature Adaptation for Anomaly Detection》
- 标题: SimpleNet_ A Simple Network for Image Anomaly Detection and Localization
- 作者: Wang1r
- 创建于 : 2025-08-21 12:00:00
- 更新于 : 2025-10-07 19:47:10
- 链接: https://wang1rrr.github.io/2025/08/21/SimpleNet_ A Simple Network for Image Anomaly Detection and Localization 阅读笔记/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。