这篇论文介绍了一种基于无监督的图像重建的异常检测结构
这张图是它的一个主要结构,首先在训练阶段,输入一张正常图像I,然后通过伪异常图像生成技术得到IA,然后将其转换为灰度图IgA,提取边缘信息得到IeA,之后输入到重建网络中。它们的这个网络采用的是基于UNet型的编码器-解码器网络。训练阶段的目标是使重建图像IR尽可能接近I
在测试阶段,提取输入图像的灰度边缘Ie,通过重建网络生成RGB图像IR,然后用比较函数对两张图像对比以得到异常图像A
接下来这张图展示了伪异常图像的生成和边缘图像的提取。首先是伪异常图像,对于局部来说,这里他用了DRAEM里的技术来模拟异常,异常纹理来自外部数据集DTD。对于全局来说,它使用了Cutpaste技术破坏图像,然后在训练过程中,作者以一定的概率去激活这两种之一。然后将损坏的图像转换为灰度图
对于边缘图像的获取来说,作者使用了3x3的卷积核来分别进行形态学上的膨胀和腐蚀,然后进行相减来获得边缘图像
然后是关于重建网络,作者说对于异常检测来说,添加跳跃连接是有风险的,因为这些浅层编码特征可以直接传输到最终解码层,这增加了模型生成身份图的风险,但是由于他们的编码特征和解码的内容非常不同,输入是灰度边缘图,输出是RGB图,然后根据实验结果看来,他们发现使用跳跃连接可以提高他们的性能。
接下来作者他们设计了一个异常评估函数来比较原始图像和重建图像。这个函数考虑了色差和梯度差异。
对于色差来说,他们将原始图像和重建图像转换成CIELAB颜色空间,它由三部分组成,L为感知的亮度,a和b代表人类视觉的四种独特颜色。然后这个是它的色差函数,Ir是重建图像,I是原始图像,fmean用来平滑最终结果
对于梯度差异,他们使用了多尺度梯度幅度相似性,也就是这个MSGMS,MSGMS通过图像金字塔计算原始图像和重建图像在不同尺度上的梯度幅度相似性,然后取平均值,fmean用来平滑结果最后的评估函数由这两部分组成。
下边是他们使用不同的评估函数的一个效果图。
最后就是他们在MVTec上的实验结果,上边是图像级的,下边是像素级的,然后作者他们的实验结果在最右边,从结果来看,整体效果还是不错的。
这是他们的一个检测效果图,左边是输入图像,然后重建图像,异常图像,最后是groudtruth