本文最后更新于:2024年5月7日 下午
本文记录一篇生成异常数据用于自监督学习的异常检测工作 —— MemSeg。
基本信息
项目 | 内容 | 备注 |
---|---|---|
方法名称 | MemSeg | |
论文题目 | MemSeg: A semi-supervised method for image surface defect detection using differences and commonalities | |
论文连接 | https://arxiv.org/pdf/2205.00908v1.pdf | |
开源代码 | https://github.com/TooTouch/MemSeg | |
发表时间 | 2022 | |
方法类别 | 深度学习 -> 基于特征 -> 自监督学习 | |
Detection AU-ROC | 99.56% | |
Segmentation AU-ROC | 98.84% | |
Segmentation AU-PRO | - | |
FPS | 31.3 | |
核心思想 | 人工生成异常图像,用于训练自监督的分割网络,为限制网络泛化能力加入了记忆模块,利用注意力机制降低特征冗余,再利用U-Net跳跃连接做二轮的特征融合。一系列的操作将不同尺度信息充分融合又不冗余,实现检测及定位。 |
论文框架
上图为 MemSeg 整体架构,主要由 异常模拟、记忆模块和空间注意力组成。
异常模拟
监督学习分割网络关键在于生成异常数据,使用惯用套路,生成 mask,将其他图像叠加在 Mask 上,按照透明度融合在一起:
$$
I_n’=\delta\left(M\odot I_n\right)+\left(1-\delta\right)\left(M\odot I\right)
$$
生成的异常样本在特征空间中的表现:
记忆模块
输入为批大小为N的记忆样本(由正常图像随机选取所得),输入预训练好的编码器后得到三种尺寸不同的输出特征,分别为:N×64×64×64、N×128×32×32和N×256×16×16。由记忆样本得到的输出特征记作MI。
冻结ResNet的 block1/2/3 的参数保证高维特征与记忆信息统一,其余部分仍可训练。训练及推理阶段,通过原文公式(下式),比较距离。
$$ DI=\bigcup_{i=1}^N\|MI_i-II\|_2 $$取距离最小的特征作为 $x$ 图像的特征:
$$ DI^{*}=\operatorname*{arg}_{DI_{i}\in DI}\sum_{x\in DI_{i}} $$N个存储信息中,每个包括块1/2/3生成的三张特征图,将输入的三张特征图与N中所有的三个特征图比较找出距离最小的N中的三张特征图。将输入的三张特征图与和其距离最小的三张特征图连接形成CI。后经多尺度特征融合块,经U-Net跳跃连接(这里可以将一些模拟的可分性不强的异常特征去除,保证模拟的真实性。)进入解码器。
为什么不直接使用CI输入到空间注意模块进行计算呢?
作者解释道: 由于串联后不经过任何操作,输入到空间注意模块不可避免的会有特征冗余的问题,同时导致计算效率低下,一种合适的特征融合手段可以有效解决这些问题。
空间注意力
计算特征空间注意力权重:
$$ \begin{gathered} M_{3}=\frac{1}{C_{3}}\sum_{i=1}^{C_{3}}DI_{3i}^{*} \\ M_{2}=\frac{1}{C_{2}}\Big(\sum_{i=1}^{C_{2}}DI_{2i}^{*}\Big)\odot M_{3}^{U} \\ M_{1} =\frac{1}{C_{1}}\Big(\sum_{i=1}^{C_{1}}DI_{1i}^{*}\Big)\odot M_{2}^{U} \end{gathered} $$训练
L1 损失和 focal 损失。L1 比 L2 保留更多边缘信息。focal 缓解样本不平衡问题,使模型专注于分割本身而不是样本的情况。
推断
直接端到端从输入图像到异常得分结果前向传播即可。
原始论文
参考资料
- MemSeg: A semi-supervised method for image surface defect detection using differences and commonalities
- https://github.com/TooTouch/MemSeg
- https://arxiv.org/pdf/2205.00908v1.pdf
- https://zhuanlan.zhihu.com/p/531151430
- https://blog.csdn.net/qq_41804812/article/details/124565553
文章链接:
https://www.zywvvd.com/notes/study/deep-learning/anomaly-detection/memseg/memseg/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付