论文阅读 -- PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization

#异常检测

PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization

摘要

PaDiM 使用于预先训练的 CNN 来进行分块嵌入,然后使用多元高斯分布来得到正常类别的概率表示.此外,还利用了 CNN 不同层的语义来更高的定位缺陷.

引言

本文提出的方法 PaDiM 利用预训练的 CNN 来提取图片特征,并遵循以下连个规则:

  • 每个 patch 位置都使用一个多元高斯分布来表示
  • 考虑不同层之间语义的相关关系

相关工作

异常检查方法大致可以分为重建的方法和嵌入向量相似性的方法.
重建类方法: 重建类方法最简单的方式是将重构误差作为异常分数来进行异常检测,当然,也有很多更加复杂高端的方法.这类方法虽然富有可解释性和符合直觉,但是生成模型有时对异常区域也能较好的重建导致其有时失灵.

嵌入向量相似性方法: 主体思想是使用神经网络来提取有意义的向量来表示整张或局部图片用以异常检测.这类方法可解释性差,难以明确分出究竟是哪一部分的图像会造成高的异常分.这类方法通常使用测试图片的嵌入表示向量和代表正常训练集的参考向量之间的距离作为异常分数.正常的参考向量可以被视为是一个包含了所有正常图片嵌入表示的球形空间的中心.(即这一族数据的中心.)
SPADE 在整个正常嵌入空间上直接跑来一个 KNN ,取得来不错的效果,不过计算量和数据集大小成正比,显然是不太实用的.

模型方法

在这里插入图片描述

说白了,取最大特征图上的一点上的特征,顺次高层特征图上对应点的特征取出,然后将这所有的特征向量拼接在一起,作为这点的特征向量,那么这个点上有 N 个特征向量, N 为训练集大小, 假设 N 个特征向量服从正态分布,那么把这个正态分布的期望和标准差就作为这个点的最终正常特征.
推理时,将待测图片也计算出特征向量,然后根据马氏距离计算每个点的差异,得到最终的缺陷值.

一些有趣的点:

  1. 构建嵌入特征的时候,实际上特征图的通道上依然有很多冗余信息,作者发现使用 PCA 降维不如使用随机选择= =|||.
  2. 在计算某点的特征的正态分布时,协方差矩阵的计算使用添加来一个正则项 ϵ I \epsilon I ϵI 来保证 协方差矩阵是满秩且可逆的.具体计算公式如下:
    Σ i j = 1 N − 1 ∑ k = 1 N ( x i j k − μ i j ) ( x i j k − μ i j ) T + ϵ I (1) \Sigma_{ij} = \frac{1}{N-1} \sum_{k=1}^N (x_{ij}^k- \mu_{ij})(x_{ij}^k- \mu_{ij})^T + \epsilon I \tag{1} Σij=N11k=1N(xijkμij)(xijkμij)T+ϵI(1)
    实际中 ϵ = 0.01 \epsilon = 0.01 ϵ=0.01
  3. 马氏距离计算方式:
    M ( x i j ) = ( x i j − μ i j ) T Σ i j − 1 ( x i j − μ i j ) (2) M(x_{ij})=\sqrt{(x_{ij}-\mu_{ij})^T \Sigma_{ij}^{-1} (x_{ij}-\mu_{ij})} \tag{2} M(xij)=(xijμij)TΣij1(xijμij) (2)

实验

数据集构建

对于 MVTec AD 使用了 (-10,+10) 的随机旋转和随机裁剪来得到训练和测试集

模型使用

尝试了 ResNet18, Wide ResNet-50-2 和 EfficientNet-B5.
对于 ResNet 系的,选取来前三个block?作为嵌入向量.
对于 EfficientNet-B5,取来7,20,26层作为嵌入向量.

对比实验设置

和 SPADE 比较的时候,是将图片先缩放到 256x256 大小然后用中心裁剪到 224x224.最后对于定位图和图片使用双线性插值+高斯模糊,高斯模糊 σ = 4 \sigma=4 σ=4.
和 VAE 比较时.使用了的训练数据增强是随机转 ± 2 \pm 2 ±2,然后缩放到292大小,然后随机裁剪到282大小,然后使用中心裁剪到256大小.使用 Adam 优化,初始学习率为 1 0 ( − 4 ) 10^(-4) 10(4), batch 大小是32.

结论

消融实验

层间的融合:
其实就是验证单单使用一层特征和每层都用,但是是相加的,以及使用拼接的效果,效果如图:
在这里插入图片描述

降维方法:
两个结论:

  1. 随机选取比PCA好
  2. 随机选取200维减到100维似乎影响并不大

在这里插入图片描述

  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
bi-vldoc是一种用于视觉丰富文档的双向视觉-语言建模方法。 bi-vldoc通过将视觉信息与语言信息结合起来,能够有效地处理视觉丰富的文档。传统的自然语言处理方法通常只处理文本信息,忽视了文档中的视觉元素。而bi-vldoc能够同时考虑文本和图像,并将它们作为输入进行建模,从而更全面地理解和分析文档内容。 bi-vldoc的关键思想是利用双向建模技术。它使用了两个模型:一个是基于视觉的模型,另一个是基于语言的模型。这两个模型相互配合,通过互相补充的方式提高了整体的建模效果。 基于视觉的模型主要用于从图像中提取视觉特征,并将其编码为向量表示。这些向量表示包含了图像的语义信息,能够用于理解图像中的内容。 基于语言的模型主要用于处理文本信息。它能够将文本编码为向量表示,并用于生成关于文本的预测。 在训练时,bi-vldoc使用了大量的带有标注的视觉丰富文档数据集。通过最大化真实标注的概率来训练模型,使其能够根据给定的文档内容生成正确的视觉和语言输出。 bi-vldoc在实际应用中具有广泛的应用前景。例如,在图像描述生成中,它可以根据图像内容生成相关的文本描述。在问答系统中,它可以回答关于图像内容的问题。此外,bi-vldoc还可以应用于文档分类、信息检索等领域,提供更准确和全面的分析和理解能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值