2022/10/17-10/22周报

周报内容:

  1. CVPR2022论文一篇
  2. 使用PP-YOLOE+M模型进行PCBA板缺陷检测
  3. 下周工作计划

学习产出:

一、论文笔记

Self-Supervised Predictive Convolutional Attentive Block for Anomaly Detection

1.介绍

现有的CNN框架能提取到一个层次化的特征,从low-level(边、角)到high-level(语义特征,如车轮、鸟头等),但是缺乏一种把这些局部特征整合起来的能力。因此提出SSPCAB进行一个重建自监督学习任务来学习这些局部特征的整体结构

原始特征经过该block达到增强特征的效果(让特征在正常和异常图上的差异变大,只在正常图像上训练)它使我们能够在神经网络中的任何层 (不仅在输入处) 掩盖信息,并且它可以集成到广泛的神经体系结构中,非常通用。

思路:

当该block整合到一个基于正常训练样本训练的CNN中时,SSPCAB将只学习正常样本的全局结构,而当在测试时出现异常数据样本时,模块可能会提供较差的重建。因此,我们可以检测重建的质量,并利用重建结果来区分正常和异常样本。

2.具体结构

SSPCAB由一个被整流线性单元 (ReLU) 激活的masked卷积层一个通道注意模块这里用SE组成

2022/10/17-10/22周报_第1张图片

图一 自我监督预测卷积注意力块 (SSPCAB)

(1)masked卷积

思想:利用像素处周围的像素值预测此处的值,增加模型对相对位置信息的把握能力。

一个包含四个子核在输入张量X的某个位置执行的卷积运算仅考虑这四个子核所在位置的输入值。四个子核的输出做sum作为M位置(mask)的输出感受野的中心为 M,大小为1输出张量Z的空间尺寸与输入张量X的空间尺寸相同。

2022/10/17-10/22周报_第2张图片

 图二 masked卷积核结构

(2)通道注意模块

Masked卷积的输出由模块处理,计算每个通道的注意分数采用SE模块对信道方向的特征响应进行自适应重新校准增加SSPCAB的建模能力,并在整个框架的输入和输出之间实现非线性处理。

首先,在每个通道进行全局池化将特征块的每个通道的特征矩阵求平均值,这样每个通道只有一个值。再将这些值经过一个ReLU激活的FC层,和一个sigmoid激活的FC层得到一组channel attention权重,将该权重加载到原始特征图各个通道上输出,保持输入输出维度不变

(3)重建损失

使用自监督学习方法重构masked区域来训练block。

我们将自监督重建损失定义为输入和输出之间的均方误差 (MSE)

 当将SSPCAB集成到各种具有其自身损失函数的神经模型F中时,我们的损失可以简单地添加到相应的损失中

3.实验

(1)数据集

MVTec AD包含来自10个对象类别和5个纹理类别的图像,总共有15个类别。有3629无缺陷训练图像和1725张有或没有缺陷的测试图像。

(2)初步结果

在DRAEM和CutPaste上加入SSPCAB进行实验,效果有所提高。

在基本架构之上添加基于MAE损失的掩蔽卷积层后,我们观察到显着的性能提升,用MSE替换MAE损失函数时,性能进一步提高。且通道注意(CA)模块的效果更好。

(3)消融实验结果

SSPCAB放在网络的不同位置

结论:放在后面好一点

使用不同大小的mask M

结论:区别不明显

4.借鉴之处

该块需要整合到 使用正常样本训练的模型中,而我们的模型训练集为缺陷样本。

《Anomaly Detection for Solder Joints Using β-VAE》论文((14条消息) 2022/9/26-9/30 周报_嘿!947的博客-CSDN博客)

中提到的模型就需要使用正常样本进行训练,如果后期正常样本充足,可尝试作为备选方案。

二、基于PP-YOLOE+的PCBA缺陷检测

1. 原样板进行了拍摄、裁剪、标注。模型测试结果有所提升,但不排除是数据泄露造成的。

2. 对原样板加工产生缺陷。

三、下周工作计划

对处理过的样板进行标注和数据增强,保留一些未训练过的样本进行测试(之前用的是飞桨数据集进行裁剪处理后的图片)。  并增加新的缺陷类型——拉尖。

你可能感兴趣的:(深度学习,人工智能)