(无监督)基于无监督学习的模板缺陷检测方法研究

       本文方法:基于重建

概述:

        深度学习中,对抗生成网络(GAN)和自编码器(AE)在图像修复与图像重建方面效果很强大,可以用于无监督学习,训练GAN网络使其学习无缺陷图像内部的特征。,当模型输入缺陷图像时,GAN模型会修复图像,通过对比修复好的图像与初始图像进行对比,实现缺陷检测。

        步骤:(1)设计图像重构网络模型,基于GAN和VAE的图像重构模型,GAN可以图像去模糊,但在训练时可能会发生崩溃,VAE在编码器下编码生成潜在向量,服从高斯分布同时保留了特征,VAE生成的图像模糊,潜在向量可以很好地还原图像,不会导致训练崩溃。

(2)多模态的无监督木地板检测算法。多模态是指通过高斯金字塔产生了不同分辨率规模的网络输入。

高斯金字塔:

        无监督学习:基于正常样本的学习,使得网络学习到具有正常样本的分布,当输入网络有缺陷的图像时因为网络对缺陷部分不敏感,使得产生和正常样本不一样的结果。现阶段主要方法是AE和GAN。

        GAN:建立重建网络,通过修复样本中的区域,在输入样本和重建样本之间进行比较,检测出准确的缺陷区域。

        GAN通过生成器与判别器的博弈,使得在判别器的判别学习下,生成器能够学到数据的真实分布。生成器(G)的学习目标是使得噪声生成的图像尽可能骗过判别器,判别器的学习目标是区分开生成器生成图像和真实图像,模型训练目标是生成图像可以骗过判别器,判别器无法准确判定输入的生成图像。

         自编码器:常用于异常检测,采用尽可能多的正常样本去学习自编码模型,对于正常样本,因为自编码器学习过很多,故可以很好地完成重建任务,但是对于缺陷样本,因其没见过,所以重建质量不会太好。通过重建误差可以区分出好坏。自编码器容易受到噪声影响,需要给它加上各种约束。

        自编码器是输入一张图像经过编码器生成一组编码,编码的大小通常小于输入图像大小,类似数据降维 ,对数据可以进行线性和非线性降维,与PCA对比如下:

         变分是一种概率图模型。

文章设计的模型:

         编码器学习图像的内在分布,学习到图像分布的均值和标准差,前四层为卷积层,最后一层为全连接层,输出两个结果一个为均值,一个为方差,这两个参数表示图像的潜在分布。

        生成器又称作解码器,第一个看作解码器的输入,从上面两个参数分布中进行随机采样得到隐变量,第二个输入是随机生成1024维向量,也就是GAN的生成器输入。

        判别器,又称分类器,对生成器生成的图像和真实图像进行区分真实图像为1 ,生成器图像为0,输入包含三部分xz,xr,x。 

损失函数:三部分组成

 编码器的损失函数:

 第一个参数表示重建误差,为了让生成图像更接近真实图像,比较常用的有L1损失函数、L2损失函数;第二个参数相当于正则化项。

生成器的损失函数:

 判别器的损失函数:

 模型训练完后,好品与坏品的重建图

 

多尺度:

这个代码是phase by transform的python实现, notebook可以直接下到本地运行,进行缺陷检测深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值