RealNet:从数据生成到模型训练的最新工业异常检测 | CVPR 2024 - 晓飞的算法工程笔记
内容提要
论文介绍了RealNet自监督异常检测框架,包括异常合成、特征选择和重构残差选择。通过实验展示了RealNet在处理实际异常检测挑战方面的能力。论文构建了合成工业异常数据集SIA。
延伸解读
异常合成:从数据增强到扩散模型
现有自监督异常检测方法多依赖数据增强或外部数据合成异常,但合成异常与真实异常存在分布差异,限制模型泛化。RealNet提出的SDAS基于DDPM对正常样本分布建模,在采样中引入扰动项,生成低概率密度区域的样本,模拟老化、结构变化等自然异常。通过标量s控制异常强度,s越大异常越明显,s趋近0则生成正常图像。相比CutPaste、NSA、DRAEM等方法,SDAS生成的异常更连续,能处理复杂结构异常,且仅需正常图像训练。
特征选择:应对预训练偏差与计算成本
基于预训练特征重构的异常检测面临特征冗余和预训练偏差问题,且最佳特征子集因类别而异。RealNet的AFS模块利用合成异常图像和掩码,通过AFS损失评估每个特征图识别异常区域的能力,选择损失最小的m_k个特征图进行重构。AFS在每层预训练特征上执行一次并缓存索引,减少了层内冗余,扩大了感受野,同时灵活控制模型大小和计算开销。与手动选择部分层所有特征的传统方法相比,AFS自适应选择子集,提升了特征代表性和可区分性。
残差选择:提升异常区域召回率
重构残差中,不同分辨率的特征捕捉不同尺度的异常,细微纹理异常仅能通过低级特征残差有效捕获。RealNet的RRS模块对全局重构残差进行全局最大池化和全局平均池化,分别选取TopK残差,结合两者以增强对不同尺度异常的捕获能力。RRS丢弃缺乏异常信息的残差,减少漏检,提高异常区域召回率。最终将选定的残差输入判别器,映射到图像级分辨率获得异常得分,使用交叉熵损失监督训练。
SIA数据集:促进自监督异常检测研究
为方便SDAS生成异常图像的重用,论文构建了合成工业异常数据集SIA,包含来自MVTec-AD、MPDD、BTAD和VisA四个数据集的36个类别,每个类别生成10,000张256×256的异常图像,异常强度s在0.1到0.2之间均匀采样。SIA可通过图像混合方便地用于合成异常图像,并作为广泛使用的DTD数据集的有效替代品,促进自监督异常检测方法的应用。
Q&A
RealNet框架的主要组成部分是什么?
RealNet框架主要由可控强度扩散异常合成(SDAS)、异常感知特征选择(AFS)和重构残差选择(RRS)三个核心组件组成。
SDAS如何生成异常样本?
SDAS通过对正常样本的分布进行建模,并在抽样过程中引入扰动项,生成更接近自然分布的多样化异常样本,并灵活控制异常强度。
RealNet在异常检测中的优势是什么?
RealNet能够有效利用大规模预训练模型进行异常检测,同时保持计算开销在合理范围内,并在多个数据集上超越现有的最先进方法。
合成工业异常数据集SIA的特点是什么?
SIA包含36,000张异常图像,涵盖36个工业产品类别,旨在促进自监督异常检测方法的应用。
异常感知特征选择(AFS)模块的作用是什么?
AFS模块用于预训练特征选择,减少特征维度和消除预训练偏差,同时管理重构成本,从而提高异常检测性能。
重构残差选择(RRS)模块如何提高异常检测的效果?
RRS模块选择包含最多异常信息的重构残差子集,以生成异常得分,从而实现对异常区域的最大回忆率。