代码链接
摘要
摘要写作总结:
1.提出 两个关键点 (视觉语言模型【模型】+ 少量工业异常检测【方向】)
2.想要解决的问题
3.针对上述问题,本文提出了一种什么【方法】的什么【应用方面】方法【模型名】
4.具体讲方法的步骤
5.实验结果(挑好的讲)
1.视觉语言模型 有助于解决 少量工业异常检测中需要设计大量提示信息的问题。
2.传统提示学习方法不适用于异常检测这种单类情况(正常/不正常),适用于多类别问题(比如区分狗,猫,鸟等问题)
3.提出PromptAD(方法:单类提示学习即正常/不正常,应用方面:小样本异常检测)
4.PomptAD步骤:
- 语义拼接: 把正常提示(比如“这是一个正常的物体”)和异常提示的后缀(比如“有缺陷的”)拼接到一起,生成大量的异常提示(类似“这是有缺陷的物体”),用到异常检测(单类环境)下的提示学习
- 显式异常边界: 为了解决异常样本少的问题,提出“显式异常边界”。设置超参数来控制正常图片的特征 和 异常提示(文字描述异常的特征)的特征之间的距离,让模型更容易区分正常特征和异常特征
【设超参数为0.5,正常特征点为(0,0),则正常特征点跟异常提示特征点的距离要超过0.5,异常提示特征点可以是(0,0.5)】
5.实验结果:
在 MVTec和VisA的少样本异常检测的12种情况中,promptAD在其中11种情况中排名第一,即少样本异常检测效果很好。
【对每个数据集(MVTec和VisA)有三种测试情况:1.1-shot(1张正常图片训练)2. 2-shot(2张正常图片训练)3. 4-shot(4张正常图片训练)每种训练方式都会测试 图像级别(整张图片是否异常)和像素级别(图片中的哪些部分是异常的)的异常测试性能每个数据集有 3(3种测试情况)✖ 2(2种测试级别)=6种测试情况】有两个数据集-》有6✖2(2个数据集)=12种测试情况】
实验
实验开头写作总结:
1.对比实验:明确跟哪些方法比,在什么设置下,有几种结果(图像级和像素级)
2.融合实验:我们通过烧烛实验验证了所提出的什么【模块】对什么的改善,并展示了不同【模型方法】的影响
3.Dataset.(数据集设置)明确使用哪几个数据集+ 介绍数据集中的情况+ 说明训练集和测试集的情况
4.评价指标 和 实现细节: 评价指标:简单介绍用的评价指标。 实现细节:介绍用的参数默认值,用了哪个模型和它的什么参数
1.明确PromptAD
- 跟最新方法比,在1,2和4张正常图片设置下,包括图像级和像素级的结。
- 跟多正常图片和全正常图片方法比,体现PromptAD强大的少样本检测能力
2.烧蚀实验:
- SC和EAM对提示学习的改善
- 不同CLIP转换方法 和 超参数 的影响
3.Dataset.:
- MVTec和VisA 作为基准。两个基准测试都有多个只有一个对象的子集
介绍数据集常用话术:
MVTec包含15个对象,每张图像7002 - 9002像素,
VisA包含12个对象,每张图像大约1.5K × 1K像素。
MVTec contains 15 objects with 7002 − 9002 pixels per image, and VisA contains 12 objects with roughly 1.5K × 1K pixels per image.
- 异常检测是单类任务(正常/不正常),训练集只包含正常样本,测试集有正常样本和有图像级和像素级注释的异常样本。注释每个对象的异常类别。
- Evaluation metrics.
AUROC:We follow the literature [4] in reporting the Area Under the Receiver Operation Characteristic (AUROC) for both image-level and pixel-level anomaly detection.Implementation details
Implementation details. 使用超参数τ的默认值+CLIP开源模型和预训练参数+基于LAION-400M数据集预训练的CLIP模型+优化后的ViT-B/16+(视觉编码器)
实验写作总结:
1.Image-level Comparison Results(图像级对比结果):
+ 【模型名】与当前方法的图像级对比实验结果如表几所示,其中【修改设置的方法名】修改了哪些设置
+ 说明除本方法外,值较好的两种方法。
+ 本方法比值较好的两种方法 在值上的提升,只提好的.如果本方法使用的提示少或者样本少,补充在后面。
5.1. Image-level Comparison Results(图像级对比结果)
表1。基于MVTec和VisA基准的AUROC图像级异常检测比较。最好和次好的结果分别用粗体和下划线标出。†表示基于clip的方法。
AUROC:表示ROC曲线下的面积【ROC表示在不同阈值下的性能,横轴:False Positive Rate (FPR):假正率,表示被错误分类为正类的负类样本的比例。
纵轴:True Positive Rate (TPR):真正率,也叫召回率,表示被正确分类为正类的正类样本的比例。】
假设你有一个模型用来检测图片是否异常,你得到了以下结果:
在某个阈值下,真正率(TPR)是 0.8,假正率(FPR)是 0.2。
在另一个阈值下,真正率(TPR)是 0.9,假正率(FPR)是 0.3。
如果你把所有这些点画在图上,就得到了 ROC 曲线。这条曲线下的面积就是 AUROC。如果 AUROC 接近 1,说明你的模型在各种阈值下都能很好地分类
-
PromptAD与当前方法的图像级对比实验结果如表1所示,其中SPADE[11]、PaDiM[12]和PatchCore[39]是传统全样本方法在少样本设置下的重新配方。
-
CLIP模型对于少样本设置有益:WinCLIP和RWDA(引入了CLIP)在少样本设置下的AUROC值不错(>93),其余方法(除PromptAD外)AUROC值都不好(<90)
-
PromptAD在MvTec和Visa两个数据集的(1,2,4少样本)3种设置下的AUROC的值跟WinCLIP和RWDA的AUROC(引入了CLIP)的最大值都有一定的提升:MvTec中提升了1.3%, 1.3%, 1.4%(1,2,4),Visa中提升了2.9%, 2.7%, 1.8%(1,2,4)。【另外说明:PromptAD使用的提示数量比WinCLIP+和RWDA少】
2.Pixel-level Comparison Results(像素级对比结果):
像素级比较实验结果如表几所示。
+ 写数据比较好的(排第一或第二),排第一跟第二比看增加多少,排第二跟第一比看少了多少
异常定位定量结果如图几所示。
+ 看异常定位对不对,精准不精准
5.2. Pixel-level Comparison Results(像素级对比结果)
像素级比较实验结果如表4所示。
The pixel-level comparative experimental results are recorded in Table 4.
- 引入CLIP模型带来的影响不大:基于CLIP的方法(如WinCLIP+)和其他方法在像素级AUROC差别不大。
- PromptAD在MvTec和Visa的1-shot,2-shot的像素级AUROC是最高,且比WinCLIP高0.7(MvTec 1-shot),0.2(MvTec 2-shot),0.3(Visa 1-shot),0.3(Visa 2-shot)
- 在4-shot,PromptAD在Visa上排第一,在Mvtec上排第二,比第一少了0.5。
- 一样本异常定位定量结果如图3所示。
The quantitative results of anomaly localization are shown in Figure 3.
- 在一样本设置下,PromptAD和 PatchCore,WinCLIP相比,对物体和纹理的异常定位更好。能够精确定位一些小的异常区域。
//3.跟其他什么类型方法相比(可有)
5.3. Compared With Many-shot Methods(跟全样本方法对比)
- 表格2的内容:少样本设置下的PromptAD和全样本/多样本设置的其他方法相比较,红色数值是低于1样本的,蓝色数值是低于4样本的
- 说明结果:PromptAD的少样本检测性能比较好(超过一些全样本的方法的结果)
明确优于哪些方法,差于哪些方法:PromptAD>MKD和P-SVDD,但<最新的PatchCore和SimpleNet
4.Ablation Study(消融实验)
+ 明确 在哪几个数据集上实验,针对哪些的影响,在什么设置 对模型整体性能的影响
+ 分模块写,各个模块对于模型的影响:先说失去这个模块会有什么影响,再写实验结果中没有这个模块的影响和增加这个模型的影响。
5.4. Ablation Study(消融实验)
- 在MVTec和VisA,针对不同方法的不同模块【语义连接(SC)+显式异常边界(EMA)+视觉引导异常检测(VAD)】,在1样本设置下对PromptAD整体性能的影响。消融研究结果记录在表3中。
We verify the impact of different modules of different proposed methods on the overall performance of PromptAD under 1-shot setting on MVTec and VisA .
Results of the ablation study are recorded in Table 3.
表3.单针消融研究的图像水平/像素水平结果(AUROC)。PAD和VAD分别是提示引导和视觉引导的异常检测,SC是语义拼接,EAM是显式异常边缘。
-
语义连接(SC):SC的作用{没有SC,传统语义连接会失去用于对比的负面提示。因为负面提示对于对比学习很重要,失去负面提示,提示学习效果会很大降低。}
+实验结果体现没有SC的影响{在表3中,可以看到没有SC时,在MVTec和Visa上的图像和像素AUROC结果不是很好}[个人觉得表3没有体现没有SC的影响,没有SC表格应该是✖,✔,✔和✔,✔,✔两个数据的对比,表3中只有✖,✖,✖和✖,✖,✔]
+实验结果体现有SC的影响{基础模型(✖,✖,✖)和使用SC(✔,✖,✖)在MVTec(和VisA)的图像级/像素级结果分别提高了8.9%/3.9%(8.7%/5.0%)-》提升提示学习在异常检测中的适用性} -
显式异常边界(EAM):EAM的作用{因为训练阶段没有异常样本-》正常提示和异常提示之间没有明确的边界。EAM用超参数控制正常和异常提示特征间的距离。}
+实验体现有EAM的影响{只使用SC(✔,✖,✖)和加上EAM(✔,✔,✖)对比,MVTec(和VisA)的图像级/像素级结果分别提高了0.9%/0.8%(1.9%/1.3%) -
视觉引导异常检测(VAD):VAD的作用{PAD(SC+EAM)会忽略局部细节,不利于像素级的检测-》引入侧重于局部细节的VAD}+
+PAD的作用和VAD的作用:PAD提升图像级,VAD提升像素级{在MVTec(和VisA)上,只有PAD的模型(✔,✔,✖)跟基础模型(✖,✖,✖)相比,图像级的提升(9.8/10.6)比像素级的提升(4.7/6.3)更高;只有VAD的模型(✖,✖,✔)跟基础模型(✖,✖,✖)相比,在MVTec上像素级的提升(5.4)比图像级的提升(3.6)更大,在Visa上图像级和像素级提升差不多}
+PAD和VAD都有的最终效果{MVTec(和VisA)的图像级/像素级结果达到94.6%/95.9%(86.9%/96.7%)}
5.不同CLIP变换的结果
+ CLIP模型的研究进展
+ 介绍表格 是在哪几个数据集上做的,在什么设置下做的,对比哪些方法,展示的是什么测量值(图像级/像素级)
+ 简单介绍 不同模型对于CLIP的改进
+ 详细对比表格中的结果
(1.原始模型结果 2.转化模型结果 3.使用论文方法后的结果【体现论文方法的有效性】写哪些模型使用论文方法后性能提升了,如果有降低的也可以写一个小点作为缺陷)
5.5. 不同CLIP变换的结果
- CLIP无法直接完成提示引导的定位任务-》一些论文尝试CLIP转换
表5所示。在0-shot/1-shot设置下,MVTec和VisA使用不同CLIP转换的像素级结果(AUROC)。 - 介绍表格内容{在0-shot(使用1000个提示)/1-shot(用PromptAD提示方法)设置下,MVTec和VisA使用不同CLIP转换的像素级结果(AUROC)}
- 不同CLIP模型对于CLIP的改进{MaskCLIP在CLIP上的改进:降低QKV的注意力+在视觉编码器的每一层之后嵌入局部特征 ; CLIP+Linear在CLIP上的改进:对齐局部特征与提示特征(在每个块之后为视觉编码器添加一个可学习的线性层)
- 详细对比表格中的结果{
+CLIP中相反的视觉激活->原始CLIP检测结果不好(0-shot设置下对MVTec/Visa的像素级测试值:22.5%/24.6%,低于随机预测(50.0%))
+转化注意力后效果好:MaskCLIP和VV-CLIP分别在MVTec/Visa上提升了63.0%/55.9%(Visa)和64.2%/58.3%(Visa),且VV-CLIP的性能提升更多(可能因为保留了一部分信息交互)}
+PromptD的有效性{加了PromptAD方法后的MaskCLIP和VV-CLIP分别在MVTec/Visa上提升了6.1%/10.7%,5.8%/8.9%,加了PromptAD方法后CLIP模型在MVTec/Visa上提升了57.4%/55.8%}
+Prompt的一点缺陷{PromptAD加入CLIP+Linear后效果下降(可能因为PormptAD和Linear线性层相互干扰)
6.超参数分析(如果有需要调整的超参数,这个部分是有必要)
+ 写研究哪几个超参数的影响
+ 分别解释这些超参数 分别是什么的超参数,有什么作用
+ 不同的超参数对模型方法的影响
5.6. Hyper-parameter Analysis(超参数分析)
- 研究 N,L,λ对PromptAD的影响。
We complete the effect of N , L and λ on PromptAD.
- 分别解释 N,L,λ分别是什么的超参数,有什么作用
+λ是损失Lalgin的超参数,用于控制map和LAPs特征分布的对齐程度
+N是NPs的个数
+L为异常提示后缀的个数,N ×L为lap的个数
VisA在单样本设置下使用不同的N和L的图像级/像素级结果。
- 不同的N和L对PromptAD的影响:图4演示了N和L对PromptAD的影响。
+图像级上,N的影响不大,L影响较大{N=1,N=4的图像级结果没什么差异,L越大图像级的值越高}
+像素级上,N和L影响都较小,较大的L像素级的值有一点提升
在MVTec[4]在1样本设置使用不同的超参数λ的图像级/像素级结果 - 不同的λ对PromptAD的影响:图5记录了不同λ下的图像级/像素级结果。
+当λ越接近0,结果越差-》map和LAPs的分布需要对齐,但不能过度对齐,会降低异常提示的多样性,会降低模型对异常图像特征的感知
7.可视化结果
+ 为了量化【模型】的效果,我们将【可视化的部分】可视化。详细讲可视化哪些内容
+ 展示可视化的结果,表现模型方法的有效性
+ 不同的超参数对模型方法的影响
5.7. Visualization Results(可视化结果)
- 为了量化PromptAD的效果,我们将L2归一化后的视觉和文本特征可视化。{具体,可视化3 NPs, 3×13 MAPs, 和 3×10 LAPs + 100个图像级/像素级正常视觉特征}
To quantify the effect of PromptAD, we visualize the visual and textual features after L2 normalization.
使用T-SNE在单样本设置下的特征可视化结果。
NP text feature 正常特征
MAP text feature表示手动异常提示(手动把异常后缀放到正常特征后)
LAP text feature表示可学习异常特征(模型在学习过程中自动生成的异常提示特征)
Normal visual feature 正常视觉特征
- 展示可视化的结果,表现PromptAD的有效性{图6为可视化结果。
+正常特征(红蓝)和异常特征(橙绿)分的很开
+正常特征和正常视觉特征重复率高
+正常提示特征分布的较开,和正常视觉特征的整体分布贴合 }