这是浙大&优图提出的~~,作者解决了现有扩散模型框架无法应对多类异常检测任务并提出了DiAD扩散模型框架用于多类异常检测。具体而言,作者在SD去噪网络的基础上引入了语义引导网络(Semantic-Guided Network)保持输入图像和重构图像的语义一致性,并且还提出了空间感知特征融合模块(Spatial-aware Feature Fusion Block)将不同尺度的特征相融合。最终本文实现了在保持与输入图像语义信息一致的前提下将异常区域重构成正常图像,同时实现SoTA。第一个基于扩散模型的多类异常检测工作

论文:https://arxiv.org/abs/2312.06607

项目主页:

 https://lewandofskee.github.io/projects/diad

项目代码:

 https://github.com/lewandofskee/DiAD

背景和动机

在工业生产过程中,工业异常检测是一个重要的环节,旨在及时发现和排除产品的制造异常,确保产品质量和安全性。近年来,随着计算机视觉和图像处理技术的快速发展,视觉技术被广泛应用于工业异常检测中。一般的单类异常检测算法分别为不同类别的物体训练不同的模型,非常消耗内存,并且也不适用于正常样本表现出大的类内多样性的情况,本文作者致力于用统一的框架从不同的物体类别中检测异常。

现有的基于计算机视觉的工业异常检测技术包括基于特征的、基于重构的和基于合成的技术。最近,扩散模型因其强大的生成能力而闻名,因此本文作者希望通过扩散模型将异常区域重构成正常。然而如下图1所示,直接将扩散模型应用于多类异常检测会存在几点问题:对于DDPM来说,应用于多类异常检测会出现类别错误的情况,因为在加入1000步噪声后,图像已变成随机高斯噪声,因为没有其他限制条件,DDPM在去噪过程中从随机高斯噪声中去噪最终获得随机类别的图像。LDM通过交叉注意力引入了条件约束,在多类异常检测应用场景中,LDM可以通过引入类别条件解决了DDPM在多类异常检测任务中类别错误的问题;然而LDM仍然无法解决在随机高斯噪声下去噪并保持图像语义信息一致性的问题,比如钉子的方向、齿轮的方位等。因此,现有的扩散模型尽管展现了其强大的生成能力,但是无法很好的解决多类异常检测的任务。

DiAD~_人工智能

图1:上图展示了DDPM、LDM和Ours扩散模型去噪网络的框架,下图展示了三种模型对于同样的输入异常图像的重构效果

所以本文作者提出了DiAD来解决多类异常检测任务。在MVTec-AD、VisA等数据集上在图像和像素级别的AUROC、AP、F1max和PRO共七个指标上实现了新的SoTA,超越了UniAD、RD4AD等模型。

网络结构

DiAD~_数据集_02

图2:DiAD模型框架

语义引导网络(Semantic-Guided Network)

DiAD~_数据集_03

空间感知特征融合模块(Spatial-aware Feature Fusion Block)

DiAD~_去噪_04

图3:空间感知特征融合模块

异常分数计算

DiAD~_人工智能_05

实验结果

MVTec-AD数据集实验结果

DiAD~_人工智能_06

图4:MVTec-AD数据集上多类异常检测实验结果,对应的指标分别为图像级别AUROC/AP/F1max。     

DiAD~_去噪_07

图5:MVTec-AD数据集上多类异常检测实验结果,对应的指标分别为像素级别AUROC/AP/F1max。

VisA数据集实验结果

DiAD~_异常检测_08

图6:VisA数据集上多类异常检测实验结果,cls表示图像级别的结果而seg表示像素级别的结果。

总结

本文作者解决了现有扩散模型框架无法应对多类异常检测任务并提出了DiAD扩散模型框架用于多类异常检测。具体而言,作者在SD去噪网络的基础上引入了语义引导网络(Semantic-Guided Network)保持输入图像和重构图像的语义一致性,并且还提出了空间感知特征融合模块(Spatial-aware Feature Fusion Block)将不同尺度的特征相融合。最终本文实现了在保持与输入图像语义信息一致的前提下将异常区域重构成正常图像,同时实现SoTA。