(1)概述
提出了一种名为Virtual-logit Matching (ViM) 的新颖的OOD评分方法,以应对OOD样本中表现出的巨大多样性,该方法结合了来自特征空间的类不可知得分和分布内 (ID) 类相关logit。这个方法不需要模型重新训练,而且还保留了ID分类的准确性。不需要额外的OOD数据,因此避免了对引入的OOD样本的bias。
从具有自然类分布的OpenImage数据集 为ImageNet-1K 模型建立了一个新的OOD基准,OpenImage-O。它包含17,632个手动过滤的图像,并且比最近的ImageNet-O [15] 数据集大7.8倍。
(2)具体内容
Logit包含类相关信息,但在特征空间中存在类不可知信息,无法从logit中恢复。我们研究了两个案例 (零空间和主空间),并讨论了分别依赖它们的两个OOD分数 (NuSA和残差)。
NuSA和残差都不考虑特定于单个ID类的信息,即它们是类不可知的。结果,这些分数忽略了与每个ID类的特征相似性,并且不知道输入最类似于哪个类。
因此,为了统一用于OOD检测的类不可知和类相关信息,我们通过虚拟logit匹配 (缩写为ViM) 提出了一个OOD评分。流水线如图1所示,其中有三个步骤,分别在特征、logit和概率处操作。
具体来说,对于特征x,(1) 针对主子空间P(由训练集X定义)提取特征的残差; (2) 通过每个模型常数 α重新缩放将残差的范数转换为虚拟logit; (3) 输出虚拟logit的softmax概率作为ViM分数。如果分数大于阈值 τ,则为OOD。另外,为了匹配虚拟logit的比例,我们通过统一采样K个训练实例,来计算训练集中虚拟logit的平均范数以及训练集中最大logit的平均值。
有两个因素会影响ViM得分: 如果其原始logit较大,则它的OOD示例较少; 而如果残差的范数较大,则更有可能是OOD。
(3)实验
OOD Datasets:四个OOD数据集 (OpenImage-O、Texture、iNaturalist、ImageNet-O) 用于对算法进行全面基准测试。
评估指标:
AUROC:计算接收器工作特性曲线下面积的无阈值度量。较高的值表示更好的检测性能。
FPR95:FPR @ TPR95的简称,它是当真阳性率为95% 时的假阳性率。FPR95越小越好。
实验设置:
使用预训练的BiT-S-R101 × 1模型和预训练的ViT-B/16模型。不需要重新训练,因此ID精度不受影响。
基线方法:
将ViM与不需要微调的八个基线进行了比较:MSP、Energy、ODIN、MaxLogit、KL Matching、Residual†、ReAct 和Mahalanobis
实验结果:
由于ViT模型是在ImageNet-21K数据集上预先训练的,因此它所看到的语义比BiT模型大得多。OOD表现相对饱和。因此在大多数OOD数据集上,ViT明显优于BiT,但ViT在纹理数据集上的竞争力较低。因为较高层的ViT比ResNets.更倾向于维护空间位置信息。ViT对本地补丁的响应很高。然而,具有相似局部斑块但不显示整个对象的纹理图像被视为ImageNet的OOD
局限性:
ViM在具有小残差的OOD数据集 (例如iNaturalist) 上显示出较少的性能增益;
ViM虽然不需要训练,但也说明会受到原始网络的特征质量的限制。
(4)借鉴之处
可用于检测数据集中是否有分布外的异常图像
Self-Supervised Predictive Convolutional Attentive Block for Anomaly Detection
(1)概述
自监督预测卷积注意力块 (SSPCAB)旨在学习使用上下文信息预测 (或重建) masked信息。为了获得高度准确的重建结果,学习发现的局部模式的全局结构。我们将块设计为具有扩张的masked滤波器的卷积层,然后是通道注意模块。该块配备有其自身的损失函数,其目的是使masked输入和预测输出之间的重建误差最小化。
SSPCAB由一个被整流线性单元 (ReLU) 激活的masked卷积层组成 [46],然后是一个挤压和激励 (SE) 模块 [24]。
(2)具体结构
Masked卷积:
我们的掩蔽卷积由子核表示。每个核都位于距感受野中心的掩蔽区域的距离 (膨胀速率) d ∈ N处。
内核在输入张量X的某个位置执行的卷积运算仅考虑来自子内核所在位置的输入值,其他信息被忽略。卷积运算结果被求和为一个数字,结果值表示与masked向量M位于同一位置的预测。引入了许多c掩码卷积滤波器,从而预测来自M不同通道的掩码信息。在学习和预测输入的每个空间位置的重建时,我们在输入周围添加零填充,并将步幅设置为1,使输入中的每个像素都用作屏蔽信息,并且输出张量Z的空间尺寸与输入张量X的空间尺寸相同。最后,输出张量通过ReLU激活。
通道注意模块:
屏蔽卷积的输出由通道注意模块处理,该模块计算每个通道的注意分数。我们采用SE模块对信道方向的特征响应进行自适应重新校准,增加SSPCAB的建模能力,并在整个框架的输入和输出之间实现非线性处理。
重建损失:
为应用掩蔽滤镜的每个位置重建掩蔽区域,提供相应的重建作为输出。令G表示SSPCAB函数,我们将自监督重建损失定义为输入和输出之间的均方误差 (MSE):
当将SSPCAB集成到各种具有其自身损失函数的神经模型F中时,我们的损失可以简单地添加到相应的损失中。
(3)实验
数据集:
MVTec AD:包含来自10个对象类别和5个纹理类别的图像,总共有15个类别。有3629张无缺陷训练图像和1725张有或没有缺陷的测试图像。
Avenue:视频异常检测的流行基准。它包含16个训练视频和21个测试视频。训练视频仅包含正常样本,测试视频包含正常和异常样本。
ShanghaiTech :视频异常检测,由330培训和107测试视频组成。
评估指标:
图像异常检测:通过绘制真阳性率 (TPR) 与假阳性率 (FPR) 得到的ROC曲线,并计算曲线下的面积 (AUROC) 。
视频异常检测:我们根据曲线下面积 (AUC) 评估异常事件检测方法,如果帧内至少有一个像素异常,则通过将帧标记为异常来计算。
实验内容:
选择一些基础模型,使用其官方代码,继承超参数。除非另有说明,否则我们将在所有基础模型中用SSPCAB替换倒数第二卷积层。
Avenue上进行初步实验
两种替代损失函数:平均绝对误差 (MAE) 和均方误差 (MSE)
在屏蔽卷积之后要添加的几种类型的注意:通道注意 (CA)、空间注意(SA)、和两者都有(CA+SA)
以 [18] 的外观卷积自动编码器为基准,为了在基本体系结构之上测试各种SSPCAB配置,不配置过度,我们删除了其他组件(如光流,跳过连接,对抗训练,掩码重建和二进制分类器),仅使用普通的自动编码器。
初步结果:
在基本架构之上添加基于MAE损失的掩蔽卷积层后,我们观察到显着的性能提升,用MSE替换MAE损失函数时,性能进一步提高。且通道注意(CA)模块的效果更好。
总结:
实证结果表明,SSPCAB学习使用上下文信息预测 (或重建) masked信息,在几乎所有情况下都带来了性能改进。初步结果表明,屏蔽卷积和渠道注意力都有助于提高性能。此外,在sspcab的帮助下,我们能够在Avenue和ShanghaiTech上获得新的最先进水平。
(4)借鉴之处
该注意块可以引入模型,使用上下文信息预测 (或重建) masked信息,提升模型性能。
(1)数据集:
飞桨PCBA原数据集(600张)+自建经裁剪的数据集(39张)
缺陷分类:
skewing 倾斜
tombstoning 吊桥效应(经过红外线或热风熔焊后,偶尔会出现一端焊牢而另一端被拉起的浮开现象)
solder_bridge 焊料桥接(指组装之线路板经焊接后,在不该有通路的地方,常会出现不当地銲锡导体,而着成错误的短路。)
open_solder
short
(2)具体实现
模型选择:
我们使用PP-YOLOE+进行训练,包含骨干网络CSPRepResNet,特征融合CSPPAN,轻量级ETHead,改进的动态匹配算法TAL等模块,并使用obj365预训练模型
模型训练:
在./configs/ppyoloe/ppyoloe_plus_crn_m_80e_obj365_pretrained_pcb.yml中进行修改相关配置
训练迭代了16epoch,通过--eval参数开启训练中交替评估
模型评估:
当前模型训练得到的最好的权重保存在:
output/ppyoloe_plus_crn_m_80e_obj365_pretrained_pcb/best_model.pdparams
实验结果:
在经过裁剪后的PCBA板上进行测试,结果还是不理想,考虑是不是裁剪数据集占比太小。
(3)遇到问题
1)在用工业相机对PCBA样板进行拍照时,光源会在板上造成反光,如下图:
措施:换多个角度对PCBA板拍照,让模型充分学习(不知道有没有用)
2)工业相机所用软件截取的图像为BMP格式,转成数据集所需的jpg格式后,清晰度明显下降,可能会造成不良影响
措施:暂无
(1)增加裁剪后数据集占比
(2)对样板进行处理,扩充数据集,提高模型泛化能力
(3)尝试解决图片清晰度问题(调研相关文献)