当前位置:网站首页>A fastandrobust convolutionalneuralnetwork-based defect detection model inproductqualitycontrol-阅读笔记
A fastandrobust convolutionalneuralnetwork-based defect detection model inproductqualitycontrol-阅读笔记
2022-07-17 13:58:00 【wyypersist】
A fast and robust convolutional neural network-based defectdetection model in product quality control
产品质量控制中基于卷积神经网络的快速鲁棒缺陷检测模型
//2022.7.15日下午15:13开始阅读笔记
论文速览
1.作者做了什么?
提出了一个两级联合的缺陷检测框架。
2.文章做的事情有什么意义?
在DAGM公开数据集中得到了最先进的效果。
3.文章做出了哪些贡献?
3.1 提出了一种两级联合的缺陷检测框架。
3.2 实现了在DAGM公开数据集中的最好的效果。
3.3 实现每秒钟27张图像的快速实时检测。
4.作者用的什么方法做的?
采用了CNN进行特征提取,然后全局检测框架对图像进行分类,一共分为6个类别;
对每个类别的图像,使用滑动窗口策略对每张图像进行采样,然后将采样之后的样本送入到每个类被特定的子网络中进行检测是否有缺陷存在;
在实现细节中:
为了防止第二个执行缺陷检测任务的子网络的过拟合出现,采用了数据增强的策略。
从每幅图像中手动提取22个大小为128x128像素的缺陷块,然后使用旋转/镜像的变换将这些块的数量增加8倍。
对无缺陷样本来说,为了缓解无缺陷块和缺陷块之间样本大小的不平衡,我们执行了滑动窗口方法,滑动窗口大小为128×128像素,沿x轴和y轴移动64像素,将图像块的数量增加了49倍。
这样,第二个CNN的训练集现在每个类有34300个无缺陷块和18656个缺陷块。
论文地址
发表期刊:The International Journal of Advanced Manufacturing Technology
IF因子:3.563
分区:JCR Q2
发表年份:2017
论文贡献
在我们的工作中,我们提出了一种精心设计的联合检测CNN架构来解决缺陷检测问题。该网络可以自动提取有用的鲁棒特征,其工作过程包括两个方面,即对于图像样本,首先根据其背景纹理信息确定样本类别,然后指示其是否包含缺陷区域。我们的模型在验证阶段工作速度非常快,并实现了令人满意的正确缺陷检测率。
论文内容
1.介绍
广泛使用缺陷检测方法对光学条件比较敏感。
在我们的工作中,我们提出了一种精心设计的联合检测CNN架构来解决缺陷检测问题。该网络可以自动提取有用的鲁棒特征,其工作过程包括两个方面,即对于图像样本,首先根据其背景纹理信息确定样本类别,然后指示其是否包含缺陷区域。我们的模型在验证阶段工作速度非常快,并实现了令人满意的正确缺陷检测率。
2.方法
2.1 CNN简介(略)
2.2 数据集
DAGM数据集。

图1所示的DAGM数据集包含大小为512×512像素的6类图像样本。每个类别由1000个无缺陷图像和150个缺陷图像组成,每个图像在纹理背景上只有一个标记的缺陷区域。该数据集极具挑战性,主要有两个原因:
同一类别中有缺陷的背景纹理差异很大;
一些缺陷区域非常小,一些非常类似于背景纹理;
选择70%作为训练集,选择30%作为验证集。
3.模型实现
实现了一个联合检测框架:一部分是全局帧分类部分和子帧分类部分。
全局帧分类部分主要是对输入的图像进行分类,子帧分类部分主要是对全局分类部分的输出作为输入然后判断其中是否包含的目标缺陷区域。

如图2所示,用于图像分类的全局帧分类部分由11层组成。对于速记法,体系结构可以用C(32,3,3)-S(2,2,2)-C(64,3,3)-C(64,3,3)-S(2,2,2)C(128,3,3)-C(128,3,3)-S(128,3,3)-S(2,2,2)-F C(1024)-F C(1024)F C(6),其中C(n,3,3)表示具有核大小为3×3的n个滤波器的卷积层,S(2,2)表示在两个维度中具有2×2的子采样因子的池层,F C(n)表示一个由n个神经元组成的完全连接层。为了降低模型的计算成本,首先将整个512×512像素的图像降采样为128×128像素,然后作为输入馈入网络。我们还应用了填充策略,即在每次卷积后在特征映射的边界周围填充零,从而导致每个通道中的输出形状不变。在所有池层中采用的池策略是最大池,它对小失真具有鲁棒性。最后,最后一个完全连接层生成输出向量,每个输出向量包含6个单元,对应于图像样本的类数,这6个值分别表示通过softmax回归函数对每个图像的类隶属概率的估计。
除了最后一个完全连接的层之外,第二子帧检测部分与架构中的第一部分非常相似,该层输出2个值的向量,指示输入图像是否有缺陷。与第一部分不同,第二部分以从原始512×512像素图像中提取的128×128像素大小的图像块作为输入。通过图3所示的滑动窗口方法执行提取。滑动窗口的大小为128×128像素,在整个图像上以64像素的步幅沿行和列移动。通过这种方式,我们可以从一幅原始图像中提取49个小块。因此,我们需要训练6个子网络,每个子网络将一个类中的无缺陷和有缺陷块作为输入。
全局帧分类部分与子帧检测部分一起工作,用于缺陷检测。给定一个图像,第一部分决定该样本属于哪个类。然后,将该图像分成49个块,并根据第一部分的输出将其馈送到属于第二部分的子网络之一。如果检测到任何块有缺陷,则整个图像被标记为有缺陷。
4.训练细节
训练验证分割后,训练集的样本量较小。然而,在第一个全局框架分类部分的训练过程中没有观察到过拟合。主要原因是背景纹理在这6个类别中彼此差异很大,因此第一部分很容易区分它们。实际上,在第一个子网络中,均匀分布的样本在数量上具有足够的样本大小,以防止过度拟合。在第二个子网络中,缺陷图像在每个类别中只占很小的比例(约13%),并且每个缺陷图像中只有一个小区域被标记为缺陷。因此,为了防止第二个子网络集过拟合,我们对训练数据应用了有效的数据增强策略。对于每类训练集中的缺陷图像,我们首先采用采样方法,从每幅图像中手动提取22个大小为128×128像素的缺陷块。接下来,我们通过包括旋转和镜像的变换将这些块的数量增加了8倍。对于无缺陷样本,为了缓解无缺陷块和缺陷块之间样本大小的不平衡,我们执行了滑动窗口方法,滑动窗口大小为128×128像素,沿x轴和y轴移动64像素,将每幅图像中提取的图像块数量增加到了49块。这样,第二个CNN的训练集现在每个类有34300个无缺陷块和18656个缺陷块。
我们选择交叉熵函数作为模型的损失函数。在训练过程中,采用50个样本的小批量随机梯度下降来更新权重参数。我们还将动量和学习率衰减纳入随机梯度下降优化器,每次迭代中权重的更新规则如下:

其中i是迭代指数,w是权重超参数,μ是动量系数,v是当前速度矢量,lr是学习率,d是学习率的衰减参数,和∇g是每次迭代时小批次上相对于w的梯度平均值。在我们的实验中,我们将μ和d设置为0.9和0.012,这样我们可以观察到更快的收敛速度和更少的训练误差。
每层中的权重参数根据N的截断随机正态分布初始化∼(0,2 n),其中n表示两层之间的连接数。我们将每个层的偏差值初始化为0,并根据He等人的工作选择ReLU激活函数[19]。


此外,我们引入了L2正则化,该正则化在损失函数中添加了权重衰减项,以惩罚训练期间的较大权重,并避免过度拟合。正则化系数λ设置为5×10−在我们的实验中。除此之外,在训练阶段,我们将概率为0.5的退出策略[21]应用于倒数第二个和倒数第三个完全连接的层,这也有助于避免过度拟合。为了加快训练过程,还采用了批量归一化[22],它可以解决内部协变量移位问题。
5.结果
我们在DAGM缺陷数据集上按照双重程序验证了我们的方法,并实现了99.8%的总体检测精度,优于Daniel等人[15]发布的最佳性能,Daniel等人设计了12类CNN网络。
每秒可以检测27张图像。
6.总结
提出了一种两级联合的缺陷检测框架,在DAGM公开数据集中取得了最好的检测效果。
//本文仅作为日后复习之用,并无他用。
边栏推荐
- Efficient space-based computing technology for satellite communication in 6g
- LeetCode 2315. Statistical asterisk (string)
- Today's sleep quality record 79 points
- The difference between journal log and oplog log
- The case has been solved --- no matter how to change the code from the logic of MQ consumption, it will not take effect
- Future applications and technical challenges of backscatter communication
- Rotation in unity3d
- SAP S4 material management inventory module mard database table reading technical details
- Satellite network capacity improvement method based on network coding
- 37. Flex layout
猜你喜欢

Scala在Idea中的配量

Explanation of tree chain dissection idea + acwing 2568 Tree chain dissection (DFS sequence + mountain climbing method + segment tree)

博弈论(depu)与投资(40/100)

PowerCLI 脚本性能优化

vulnhub inclusiveness: 1

LeetCode 2319. Judge whether the matrix is an X matrix

发明闪存能赚多少钱?这是一个日本的狗血故事

How much money can you make by inventing flash memory? This is a Japanese dog blood story

Over fitting and under fitting

Ppde Q2 welcome | welcome 22 AI developers to join the propeller developer technical expert program!
随机推荐
Over fitting and under fitting
Tencent cloud server uses image to deploy WordPress personal website!
Detailed explanation of multiple linear regression
Model comparison of material inventory management between sap ECC and s4hana material
军品研制过程所需文件-进阶版
[csp-j 2021] summary
Mobile keyboard (simulation question)
Win10的环境变量配置
How can enterprise telecommuting be more efficient?
Win10安装Apache Jena 3.17
Cmake常用命令(五)
Efficient space-based computing technology for satellite communication in 6g
Second classification learning is extended to multi classification learning
leetcode-08
nodeJS中promise对象对结果简便输出办法(建议使用异步终极方案 async+await)
2022/7/15
博弈论(depu)与投资(40/100)
The case has been solved --- no matter how to change the code from the logic of MQ consumption, it will not take effect
After summarizing the surface based knowledge of the database
Modify the default path of jupyter see this article!