论文精读:Towards Total Recall in Industrial Anomaly Detection

工业异常检测

Patchcore是截至2022年在AD数据集上表现最好的缺陷检测模型

  • 本文深入浅出的让你看懂原理,解析顶会论文挺耗费时间的给个赞呗~

背景:

在工业图像的异常检测中,最大的问题就是冷启动的问题。

  • 首先,在训练集中都是正常的图片,模型很容易捕获到正常图像的特征,但是很难捕获到异常缺陷的样本(这类样本很少,获取也难)

  • 其次,分布漂移。正常图像和异常图像分布是不一样的,模型学习的是正常图像的数据分布,而异常图像的数据分布和正常图像不一样

AD数据集上的偏差:
在这里插入图片描述


AD数据集介绍一下:

在这里插入图片描述



在这里插入图片描述



尝试解决:

  1. 如果基于分类的思想进行缺陷检测,很难,因为发生错误的地方不易察觉,小到一条划痕、大到一个组件直接消失

在这里插入图片描述

  1. 最近,采样预训练的模型是个好方法,但是不可避免ImageNet上训练的分类模型不适应目标分布
  2. 核心点:特征匹配。在训练集和测试集提取不同大小的深度特征表示。但是ImageNet的高层抽象的特征匹配有限

本篇文章采取的方法是基于密度的异常检测方法:


GAP:全局平均。

会定义一个anomaly score

就是你训练正常的数据,捕获正常图像的特征,然后有一个异常的数据进来,就会和正常数据产生一个差异,通过整个差异来判断是否是异常。


其实这篇文章也是站着巨人的肩膀上:

SPADE:


在这里插入图片描述

PaDim:


在这里插入图片描述

这篇文章提出3个方法:

  1. 在测试时,最大化提取正常数据的信息
  2. 减少ImageNet上的类别偏差
  3. 保持高的推理速度


总体流程:


在这里插入图片描述

Locally patch features 局部块特征


在这里插入图片描述

patchcore采用ImageNet的预训练模型

fi代表网络 ; i i i代表样本 ; j j j代表网络层级

局部特征提取


采用ResNet-50 / WideResNet-50 进行特征提取,由4个残差块组成。

一般来说,获取提取的特征是在ResNet最后一层获取,但是存在两个问题

  1. 损失太多的信息
  2. 深度抽象的特征对当前的分类任务存在较大的偏差,因为冷启动带来的问题,缺陷特征很少,很难推测出来


解决:

  1. 创建一个存储块:memory bank,存储patch features(可理解为块特征)
  2. 不从Resnet最后一层获取特征,而是从中间获取

什么是中间特征:


在这里插入图片描述

  1. 为了不损失空间的分辨率和有用的特征,采用局部邻居聚合的方法来增加感受野,然后合并特征


    h是高度,w是宽度,c是通道 , patchsize是块大小

在这里插入图片描述

  • 针对位置(h,w)的特征处理:

先放图片理解:

特征提取:
在这里插入图片描述
扫描所有的:


在这里插入图片描述

  • 再提取下一层,再合并,形成一个local patch:


    在这里插入图片描述
  • 多个local patch合并:


    在这里插入图片描述
  1. 提取邻居的特征集合
    在这里插入图片描述
  2. 合并邻居的特征集合,组成单个feature map

在这里插入图片描述

  1. 局部特征集合

在这里插入图片描述

  1. 最后遍历完整个数据集,取并集,得到特征存储块

在这里插入图片描述



Coreset Subsampling


基于贪心策略的子采样方法
在这里插入图片描述


流程解释:

  1. M是我们需要的特征集,整个特征集不能太大(放在内存里面的),尽可能小弟coreset能代表绝大多数的数据特征
  2. 遍历所有的图像,获得经过ResNet提取后的特征,还是太多,得优化
  3. l是设定的coreset的特征子集个数,是个超参数
  4. 关键:如果选才能满足1中的要求? 就是,每次选一个coresset( M C M_C MC)中的点,在M中找一个最近又最远(贪心策略)的点,抽出来
  5. 解释一下什么是最近又最远:在最近的范围内找到最远的点,也就是在局部找到一个最远的点,即最优解。如果不这样,搜索计算量巨大NP难的问题

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

  • 这波很妙,也很关键!

对比一波传说中的随机采样:
在这里插入图片描述

  • 兄弟,吊打啊!


Detection and Localization

测试集的数据进来

在这里插入图片描述

  • 按照patch feature的思想,一个一个patch到coreset里面去找对比anomaly score,看是不是异常的,是异常的,ok,红色标出来; 不是,也ok,平平淡淡才是真!

最近邻

每个query进来都要找最近的邻居,又是一波骚操作

  • 假设领域内邻居数为3
    在这里插入图片描述
    公式如下:

    又是一波最小又最大,解释一下:
  1. 每个query进来,首先找最近距离最近的领域质心(蓝色标记,非数据点)
    在这里插入图片描述
  2. 找到距离query最近的质心后,锁定该领域

在这里插入图片描述

  1. 然后在该领域内计算距离最远的数据点,用该距离计算anomaly score,判断是否异常,得到结果

在这里插入图片描述

效果

在这里插入图片描述

  • 目前为止最好的异常检测模型!
    在这里插入图片描述

超参数调整

在这里插入图片描述


都是DL秃头人,解析顶会论文写到博客挺耗费时间的给个赞呗~~

  • 124
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
### 回答1: "朝着工业异常检测的全面回忆迈进"是指致力于实现在工业生产过程中对异常情况的全面回溯和记录。这样的系统可以帮助企业快速识别和解决异常情况,提高生产效率和质量。实现这样的系统需要采集大量的生产数据,并利用先进的算法进行处理和分析。同时,还需要建立可靠的数据存储和管理系统,确保数据的完整性和安全性。总的来说,实现工业异常检测的全面回溯需要跨学科的协作和技术的支持。 ### 回答2: 在工业系统中,异常检测是一个非常关键的任务,一旦异常被检测到,可以及时采取措施来避免生产线的停滞和工业事故的发生。为了提高异常检测的准确性和效率,研究人员正在不断尝试将人类的记忆方式应用到机器学习中,实现“完全回忆”。 目前,工业异常检测中常用的方法是基于统计学的方法,但这些方法的缺点是需要大量的数据和专业知识,而且无法处理复杂和多变的数据。相反,人类的大脑能够准确地理解环境中的各种信号,并快速地做出反应。为了实现这种类似于人类的记忆功能,人工智能领域提出了不同的方法,如深度学习、神经网络等。 其中,深度学习已经被证明是在工业异常检测中最有效的方法之一,尤其是在处理大量数据时。深度学习模型可以通过输入工业数据和异常数据进行训练,在预测生产过程中的异常时表现出色。但是,为了实现“完全回忆”,还需要解决模型在面对新型异常时的适应问题。 一个可能的解决方案是构建一个基于迁移学习的模型,该模型可以从已有的异常数据中学习到经验,并在发现新型异常时自动适应。此外,研究人员可以尝试使用更加先进的人工智能技术,如注意力机制和增强学习,来提高模型的准确性和可靠性。 总之,通过应用类似于人类记忆功能的深度学习模型和其他人工智能技术,工业异常检测可以更加准确、高效,并可以实现“完全回忆”。这将对工业生产的安全和效率有着积极的影响。 ### 回答3: 近年来,随着物联网技术的快速发展,大量的传感器数据被收集并用于工业异常检测。异常检测是工业生产中非常重要的一个环节,它能帮助企业实时识别和处理生产过程中的异常情况,从而提高生产效率、降低成本、提升产品质量。但工业环境下存在各种噪声、复杂运行条件和复杂的生产过程等挑战,因此确保工业异常检测的精确性至关重要。 为了实现更精确的工业异常检测,研究人员提出了“全面回忆”的概念,旨在通过利用所有可用信息来识别一些异常情况。具体来说,全面回忆从三个方面着手:一是从数据收集开始,尽可能多地收集机器的输出数据。二是利用深度学习等技术有效地处理这些数据,从而进行分类和聚类分析。三是结合专家领域知识,利用额外的信息来完成异常识别和分析。 实现全面回忆的目标需要考虑多个方面的技术挑战。首先,需要设计创新的数据集、流水线和算法,以捕获复杂工业环境中的多方面信息和随时间变化的变化情况。其次,需要利用大规模的计算机资源来实现高效的数据处理和模型训练。此外,还需要设计到位的专家领域知识建模和融合策略,以确保高准确度和高鲁棒性的异常检测。 总之,全面回忆是工业异常检测研究领域的一个重要方向,它将为挖掘大量生产数据提供强有力的支持,有望为工业生产的智能化和智能化水平提高做出重要贡献。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值