基于WinClip的文本引导工业缺陷检测方法

来源:投稿 作者:橡皮
编辑:学姐

论文链接:https://arxiv.org/abs/2303.14814

代码链接:尚未开源

0. 背景

视觉异常分类(AC)和分割(AS)分别对工业制造中的缺陷进行分类和定位,预测某图像或某像素是正常还是异常。视觉检测是一个长尾问题,因为物体及其缺陷在颜色、质地和尺寸上差异很大,且涉及广泛的工业领域,包括航空航天、汽车、制药和电子。该领域有两个主要挑战:

首先,缺陷是少见的,且变化范围大,这导致训练数据中缺乏有代表性的异常样本。因此,现有工作主要集中在单类或无监督的异常检测,这只需要正常图像。这些方法通常对正常图像拟合一个模型,并将任何偏离该模型的行为视为异常。当有成百上千的正常图像时,虽然许多方法在公共数据集基准上取得了很高的精确度。但在小样本的设置下,仍有提高性能的空间,特别是与完全监督的上限相比。

其次,先前工作集中在为每项视觉检测任务训练一个定制的模型,这在长尾任务中是不可扩展的。这促使我们对零样本异常分类和分割产生了兴趣。但许多缺陷是相对于正常图像而言的。例如,电路板上缺失的部件最容易相对于所有部件都存在的正常电路板来定义。对于这种情况,至少需要一些正常的图像。因此,除了零样本的情况外,我们还考虑仅有少样本正常照片条件下的异常分类和分割的情况。由于只有很少的正常图像,所以没有分割监督来定位异常情况,这就使得这个问题在整个长尾任务中都是一个挑战。

利用视觉语言注释对进行大规模的训练,能够学到捕捉广泛概念的表达式。不需要额外的微调,文本提示就可以用来从这样的模型中提取知识,用于零/小样本转移到下游任务。受益于开源项目CLIP的泛化能力,并且与完全监督相比,在可见类和不可见类的物体上都显示出有竞争力的小样本性能。

1.本文主要贡献

  1. 引入了一种组合提示集合,它改进了基于初始CLIP的零样本分类,从而改进了零样本设置下的异常分类。

  2. 使用预训练的CLIP模型,并提出了WinCLIP,它可以有效地提取和聚集与语言一致的多尺度空间特征,用于零样本异常分割。本文是第一个探索文本引导的零样本异常分类和分割的工作。

  3. 提出了一种简单的参考关联方法,将其应用于基于图像的多尺度特征图的少镜头异常分割。WinCLIP+结合了文本引导和纯视觉方案,用于少量正常样本的异常识别。

  4. 通过在MVTec AD和VisA基准上进行的大量实验表明,提出的方法WinCLIP/WinCLIP+在零/小样本异常分类和分割方面优于最先进的方法,具有很大优势。

2.网络介绍

通过CLIP文本编码器将各种状态和模板合成并转换为两个文本嵌入,作为类原型。类原型与WinCLIP中零样本AC/AS的CLIP图像编码器的多尺度特征相关。WinCLIP+将小窗口/中窗口补丁上的参考关联(patch/WindowAssociation)应用于基于视觉的异常评分图,这些异常评分图是为具有文本引导评分的小样本AS/AC聚合的。

3.1 方法细节:语言驱动的零样本异常分类

两级设计。 引入了一个二进制零样本异常分类框架CLIP-AC,通过使用CLIP和两个类提示*[c]-"normal [o]"* vs. "*anomalous [o]"*。[o] 是一个对象级别的标签,例如,"bottle"(如果可用),或者简单地说是"object"。此外,还测试了一个单类设计,仅使用正常提示s _:= *"normal [o]"*将异常分数定义为 "−〈f(x), g(s−)〉"。观察到CLIP的简单两类设计已经产生了不错的性能,并且在实验中显著优于一类设计。这表明:

(a)由大型网络数据集预训练的CLIP为异常任务提供了文本和图像之间良好对齐的强大表示。

(b)关于异常的特定定义对于良好性能是必要的。

合成提示集合(CPE)。与对象级分类器不同,CLIP-AC在给定对象的两种状态之间进行分类,即“正常”或“异常”,这是主观的,根据任务有不同的定义。例如,“晶体管缺失”对电路板来说是“异常”,而“破裂”对木材来说是“反常”。为了更好地定义对象的两种抽象状态,提出了一个合成提示集合来生成(a)每个标签的状态词和(b)文本模板的预定义列表的所有组合,而不是自由编写定义。状态词包括大多数对象共享的常见状态,例如,“完美”表示正常/“损坏”表示异常。此外,在事先了解缺陷的情况下,可以选择添加特定于任务的状态词,例如PCB上的“焊接不良”。此外,我们专门为异常任务策划了一个模板列表,例如*"a photo of a [c] for visual inspection"。在获得所有状态和模板的组合后,我们计算每个标签的文本嵌入的平均值,以表示正常类和异常类。注意,CPE不同于CLIP提示集合,后者不解释对象标签(例如,"cat"),只扩充通过试错选择的用于对象分类的模板,包括不适合异常任务的模板,例如"a cartoon [c]"。因此,来自CPE的文本与用于异常任务的CLIP的联合嵌入空间中的图像更加一致。我们将CPE表示为零样本评分模型ascore0: Rd→ [0, 1]* 用于图像嵌入f(x)。

3.2 方法细节:基于WinCLIP的零样本异常分割

给定CPE的语言引导异常评分模型,提出了用于零样本异常分割的基于窗口的CLIP(WinCLIP)用于零样本异常分割方法,以预测像素级异常。WinCLIP提取具有良好语言对齐和x局部细节的密集视觉特征,然后在空间上应用ascore0来获得异常分割图。具体地,给定分辨率为h×w的图像x和图像编码器f,WinCLIP获得d维特征图FW∈Rh×w×d的映射,如下所示:

1.生成一组滑动窗口{wij}ij,其中每个窗口wij∈{0,1}h×w是一个二进制掩码,对于(i, j)周围的k×k核是局部活动的。

2.收集每个输出嵌入FWij,根据应用每个wij后x的有效面积计算,定义为:FWij: =f(x⊙wij),其中⊙是元素乘积(见下图)。

此外,我们还探索了一个自然密集表示候选者,倒数第二个特征图,即池化前的最后一个特征图。具体来说,对于基于ViT的CLIP的补丁嵌入映射FP(而不是类token [CLS] ),我们明智地应用ascore0补丁进行分割。

然而,我们观察到,这种补丁级别的特征与语言空间不一致,导致了较差的密集预测。我们推测这是由于CLIP中的文本信号没有直接监督这些特征造成的。此外,由于自注意力机制,这些补丁特征已经聚合了全局上下文信息,阻碍了捕获局部细节进行分割。

与倒数第二个特征FP相比,我们注意到WinCLIP的密集特征更符合语言:例如,对于基于ViT的CLIP,FW中的所有特征现在都来自类token,这些类token直接与CLIP预训练中的文本对齐。此外,这些功能通过滑动窗口更加注重局部细节。最后,WinCLIP可以有效地进行计算,尤其是使用ViT架构。具体而言,本方法可以直接受益于在转发之前丢弃所有掩码补丁,其方式与MAE类似。

窗口的谐波聚集。 对于每个局部窗口,零样本异常得分MW0,ij是窗口特征FWij与合成提示集成的文本嵌入之间的相似性。该分数被分布到本地窗口的每个像素。然后,在每个像素,聚合来自所有重叠窗口的多个分数,以通过谐波平均改进分割,对分数进行更多加权,以实现正态性预测(零值)。

多尺度聚合。 内核大小k对应于计算WinCLIP方程中每个位置的周围上下文的数量。它控制着分割中局部细节和全局信息之间的平衡。为了捕捉尺寸从小到大的缺陷,我们聚合了多尺度特征的预测:例如,(a)小尺度:在ViT的补丁尺度中为2×2;对应于像素中的32×32,(b)中尺度:在ViT中为3×3;48×48, 和(c)图像尺度特征:由于自注意力机制而捕获图像上下文的ViT类token。我们还采用谐波平均进行聚合。

3.3 方法细节:WinCLIP+与少量正常样本

对于一个全面的异常分类和分割,文本引导的零样本方法是不够的,因为某些缺陷只能通过视觉参考而不仅仅是文本来定义。例如,MVTecAD中的“金属螺母”具有标记为“上下翻转”的异常类型,只能从正常图像中相对识别。为了更准确地定义和识别异常,我们提出了WinCLIP的扩展:WinCLIP+,通过合并K个正常参考图像D:={(xi,−)}Ki=1。WinCLIP+结合了文本引导和基于视觉的方法的互补预测,以实现更好的异常分类和分割。

首先提出了一个参考关联作为合并给定参考图像的关键模块,它可以简单地存储和检索基于余弦相似性的D的记忆特征R。给定这样的模块和从查询图像中提取的相应(例如,patch-level2)特征F∈Rh×w×d,可以通过以下方式进行异常分割的预测M∈[0,1]h×w:

然后,在从WinCLIP获得的特征图的多个尺度上应用该关联模块。具体而言,在给定小样本的设定下,从三个不同的特征构建了单独的参考记忆:(a)小规模FW的WinCLIP特征,(b)中等规模FWm的WinCLIP特征,以及(c)具有全局上下文的倒数第二个特征FP。尽管FP与文本不一致,但定义正常和异常仍然很有用。

因此,WinCLIP+获得了三个参考记忆:RWs、RWm和RP。然后,对给定查询的异常分割的多尺度预测(4)进行平均,

然后与我们的文本引导预测MW0融合。

为了进行异常分类,结合MW的最大值和WinCLIP零样本分类得分。这两个分数具有互补的信息,特别是(a)一个来自小样本参考的空间特征,以及(b)另一个来自通过语言检索的CLIP知识:

4.实验结果

在MVTec AD和VisA基准上异常分类(AC)性能的比较。报告了每次测量的5个随机种子的平均值和标准偏差。粗体表示最佳性能。

在MVTec-AD上对AUROC(或像素-)现有的多样本AC/S方法进行比较。

MVTec AD在AC中WinCLIP消融的AC性能比较。

MVTec AD和VisA基准上单样本异常分割结果的定性比较。

MVTec AD和VisA基准上异常分割(AS)性能的比较。我们报告了每次测量的5个随机种子的平均值和标准偏差。粗体表示最佳性能。

在MVTec-AD数据集上的k样本异常分类消融实验:

在MVTec-AD数据集上的k样本异常分割消融实验:

在VisA数据集上特定状态下的消融实验:

在亚马逊EC2 G4dn实例上测量的MVTec AD数据集上的异常分类性能及其推断时间的比较。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“CVPR”免费领取500+篇顶会论文合集

码字不易,欢迎大家点赞评论收藏!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值