首页 / 专利库 / 视听技术与设备 / 块状噪声 / 一种表面缺陷检测方法、装置及电子设备

一种表面缺陷检测方法、装置及电子设备

阅读:423发布:2020-05-14

专利汇可以提供一种表面缺陷检测方法、装置及电子设备专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种表面 缺陷 检测方法、装置及 电子 设备,其中,表面缺陷检测方法包括:获取待检测图像;通过将待检测图像输入预先训练得到的 深度学习 网络模型,得到待检测图像对应的无缺陷的重建图像,深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型;将重建图像与待检测图像作差,得到差值图像;在差值图像中,若存在差值大于预设差值的区域,则确定在待检测图像中的对应区域存在表面缺陷。通过本方案,可以提高表面缺陷的检出率。,下面是一种表面缺陷检测方法、装置及电子设备专利的具体信息内容。

1.一种表面缺陷检测方法,其特征在于,所述方法包括:
获取待检测图像;
通过将所述待检测图像输入预先训练得到的深度学习网络模型,得到所述待检测图像对应的无缺陷的重建图像,所述深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型;
将所述重建图像与所述待检测图像作差,得到差值图像;
在所述差值图像中,若存在差值大于预设差值的区域,则确定在所述待检测图像中的对应区域存在表面缺陷。
2.根据权利要求1所述的方法,其特征在于,所述深度学习网络模型的训练方式,包括:
获取样本训练集,所述样本训练集中包括多个无缺陷的训练样本图像;
使用高斯噪声、零掩模噪声和状噪声中的至少一种对所述样本训练集中的各训练样本图像进行加噪处理,得到各训练样本图像分别对应的加噪图像;
将各所述加噪图像输入预设训练模型进行训练,得到所述深度学习网络模型。
3.根据权利要求2所述的方法,其特征在于,所述获取样本训练集,包括:
获取原始训练样本图像,所述原始训练样本图像包括无缺陷样本图像;
按照亮度变换、对比度变换和尺度变换中的至少一种对所述原始训练样本图像进行变换扩充;
将所有变换扩充后的训练样本图像和所有所述原始训练样本图像一起构成第一数量的训练样本图像;
将第一数量的所述训练样本图像按照预设尺寸进行裁剪分块,得到第二数量的训练样本图像;
将所述第二数量的训练样本图像作为所述样本训练集。
4.根据权利要求2所述的方法,其特征在于,所述将各所述加噪图像输入预设训练模型进行训练,得到所述深度学习网络模型,包括:
将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像;
计算所述输出图像与该加噪图像对应的训练样本图像之间的逐像素点的像素均方误差及梯度均方误差;
基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值;
判断所述总误差函数值是否小于或等于误差阈值,若是,则确定所述深度学习网络模型训练完成;否则根据所述总误差函数值,调整所述深度学习网络模型的网络参数,并返回执行所述将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像。
5.根据权利要求4所述的方法,其特征在于,所述基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值,包括:
基于所述逐像素点的像素均方误差及梯度均方误差,利用总误差函数,计算得到总误差函数值,其中,所述总误差函数为:
所述m为输入的加噪图像对应的训练样本图像上的像素点个数,所述 为
逐像素点的像素均方误差,所述x'为所述输出图像上第i个像素点的像素值,所述x为输入的加噪图像对应的训练样本图像上第i个像素点的像素值,所述 为逐像
素点的梯度均方误差,所述 为所述输出图像上第i个像素点的梯度值,所述 为输入的加噪图像对应的训练样本图像上第i个像素点的梯度值。
6.一种表面缺陷检测装置,其特征在于,所述装置包括:
获取模块,用于获取待检测图像;
重建图像获得模块,用于通过将所述待检测图像输入预先训练得到的深度学习网络模型,得到所述待检测图像对应的无缺陷的重建图像,所述深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型;
作差模块,用于将所述重建图像与所述待检测图像作差,得到差值图像;
确定模块,用于在所述差值图像中,若存在差值大于预设差值的区域,则确定在所述待检测图像中的对应区域存在表面缺陷。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,还用于:
获取样本训练集,所述样本训练集中包括多个无缺陷的训练样本图像;
所述装置,还包括:
加噪模块,用于使用高斯噪声、零掩模噪声和块状噪声中的至少一种对所述样本训练集中的各训练样本图像进行加噪处理,得到各训练样本图像分别对应的加噪图像;
训练模块,用于将各所述加噪图像输入预设训练模型进行训练,得到所述深度学习网络模型。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,具体用于:
获取原始训练样本图像,所述原始训练样本图像包括无缺陷样本图像;
按照亮度变换、对比度变换和尺度变换中的至少一种对所述原始训练样本图像进行变换扩充;
将所有变换扩充后的训练样本图像和所有所述原始训练样本图像一起构成第一数量的训练样本图像;
将第一数量的所述训练样本图像按照预设尺寸进行裁剪分块,得到第二数量的训练样本图像;
将所述第二数量的训练样本图像作为所述样本训练集。
9.根据权利要求7所述的装置,其特征在于,所述训练模块,具体用于:
将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像;
计算所述输出图像与该加噪图像对应的训练样本图像之间的逐像素点的像素均方误差及梯度均方误差;
基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值;
判断所述总误差函数值是否小于或等于误差阈值,若是,则确定所述深度学习网络模型训练完成;否则根据所述总误差函数值,调整所述深度学习网络模型的网络参数,并返回执行所述将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像。
10.根据权利要求9所述的装置,其特征在于,所述训练模块在实现所述基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值时,具体用于:
基于所述逐像素点的像素均方误差及梯度均方误差,利用总误差函数,计算得到总误差函数值,其中,所述总误差函数为:
所述m为输入的加噪图像对应的训练样本图像上的像素点个数,所述 为
逐像素点的像素均方误差,所述x'为所述输出图像上第i个像素点的像素值,所述x为输入的加噪图像对应的训练样本图像上第i个像素点的像素值,所述 为逐像
素点的梯度均方误差,所述 为所述输出图像上第i个像素点的梯度值,所述 为输入的加噪图像对应的训练样本图像上第i个像素点的梯度值。
11.一种电子设备,其特征在于,包括处理器和存储器,其中,
所述存储器,用于存放计算机程序
所述处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-5任一所述的方法步骤。

说明书全文

一种表面缺陷检测方法、装置及电子设备

技术领域

[0001] 本发明涉及目标检测技术领域,特别是涉及一种表面缺陷检测方法、装置及电子设备。

背景技术

[0002] 表面缺陷检测即判断产品表面是否存在斑点、凹坑、色差、划痕、缺损等缺陷,产品表面缺陷具有种类繁多、形态多变、位置不固定以及背景纹理多样化等特点。在工业领域,表面缺陷直接影响着产品的美观、性能等属性,因此,产品的表面质量至关重要,传统的表面缺陷检测是在生产线上配备质检员,由质检员对产品表面进行质检,通过人眼观察判断产品表面是否存在缺陷。然而,这种人工检测的方式效率低下、人工耗时大,且易出现检测错误。
[0003] 随着机器学习的发展,基于机器学习的表面缺陷检测方法已取代了人工检测。但是,机器学习要求样本图像必须为包含有缺陷的样本图像,并且需要通过人工标定的方式标定缺陷在产品上的位置,然而,由于包含有缺陷的样本图像数量有限,并不能保证覆盖可能出现的所有类型的缺陷,因此,上述方法无法检测出样本图像中未出现过的缺陷。

发明内容

[0004] 本发明实施例的目的在于提供一种表面缺陷检测方法、装置及电子设备,以提高表面缺陷的检出率。具体技术方案如下:
[0005] 第一方面,本发明实施例提供了一种表面缺陷检测方法,所述方法包括:
[0006] 获取待检测图像;
[0007] 通过将所述待检测图像输入预先训练得到的深度学习网络模型,得到所述待检测图像对应的无缺陷的重建图像,所述深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型;
[0008] 将所述重建图像与所述待检测图像作差,得到差值图像;
[0009] 在所述差值图像中,若存在差值大于预设差值的区域,则确定在所述待检测图像中的对应区域存在表面缺陷。
[0010] 可选的,所述深度学习网络模型的训练方式,包括:
[0011] 获取样本训练集,所述样本训练集中包括多个无缺陷的训练样本图像;
[0012] 使用高斯噪声、零掩模噪声和状噪声中的至少一种对所述样本训练集中的各训练样本图像进行加噪处理,得到各训练样本图像分别对应的加噪图像;
[0013] 将各所述加噪图像输入预设训练模型进行训练,得到所述深度学习网络模型。
[0014] 可选的,所述获取样本训练集,包括:
[0015] 获取原始训练样本图像,所述原始训练样本图像包括无缺陷样本图像;
[0016] 按照亮度变换、对比度变换和尺度变换中的至少一种对所述原始训练样本图像进行变换扩充;
[0017] 将所有变换扩充后的训练样本图像和所有所述原始训练样本图像一起构成第一数量的训练样本图像;
[0018] 将第一数量的所述训练样本图像按照预设尺寸进行裁剪分块,得到第二数量的训练样本图像;
[0019] 将所述第二数量的训练样本图像作为所述样本训练集。
[0020] 可选的,所述将各所述加噪图像输入预设训练模型进行训练,得到所述深度学习网络模型,包括:
[0021] 将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像;
[0022] 计算所述输出图像与该加噪图像对应的训练样本图像之间的逐像素点的像素均方误差及梯度均方误差;
[0023] 基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值;
[0024] 判断所述总误差函数值是否小于或等于误差阈值,若是,则确定所述深度学习网络模型训练完成;否则根据所述总误差函数值,调整所述深度学习网络模型的网络参数,并返回执行所述将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像。
[0025] 可选的,所述基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值,包括:
[0026] 基于所述逐像素点的像素均方误差及梯度均方误差,利用总误差函数,计算得到总误差函数值,其中,所述总误差函数为:
[0027]
[0028] 所述m为输入的加噪图像对应的训练样本图像上的像素点个数,所述为逐像素点的像素均方误差,所述x'为所述输出图像上第i个像素点的像素值,所述x为输入的加噪图像对应的训练样本图像上第i个像素点的像素值,所述为逐像素点的梯度均方误差,所述 为所述输出图像上第i个像素点的梯度值,所述 为输入的加噪图像对应的训练样本图像上第i个像素点的梯度值。
[0029] 第二方面,本发明实施例提供了一种表面缺陷检测装置,所述装置包括:
[0030] 获取模块,用于获取待检测图像;
[0031] 重建图像获得模块,用于通过将所述待检测图像输入预先训练得到的深度学习网络模型,得到所述待检测图像对应的无缺陷的重建图像,所述深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型;
[0032] 作差模块,用于将所述重建图像与所述待检测图像作差,得到差值图像;
[0033] 确定模块,用于在所述差值图像中,若存在差值大于预设差值的区域,则确定在所述待检测图像中的对应区域存在表面缺陷。
[0034] 可选的,所述获取模块,还用于:
[0035] 获取样本训练集,所述样本训练集中包括多个无缺陷的训练样本图像;
[0036] 所述装置,还包括:
[0037] 加噪模块,用于使用高斯噪声、零掩模噪声和块状噪声中的至少一种对所述样本训练集中的各训练样本图像进行加噪处理,得到各训练样本图像分别对应的加噪图像;
[0038] 训练模块,用于将各所述加噪图像输入预设训练模型进行训练,得到所述深度学习网络模型。
[0039] 可选的,所述获取模块,具体用于:
[0040] 获取原始训练样本图像,所述原始训练样本图像包括无缺陷样本图像;
[0041] 按照亮度变换、对比度变换和尺度变换中的至少一种对所述原始训练样本图像进行变换扩充;
[0042] 将所有变换扩充后的训练样本图像和所有所述原始训练样本图像一起构成第一数量的训练样本图像;
[0043] 将第一数量的所述训练样本图像按照预设尺寸进行裁剪分块,得到第二数量的训练样本图像;
[0044] 将所述第二数量的训练样本图像作为所述样本训练集。
[0045] 可选的,所述训练模块,具体用于:
[0046] 将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像;
[0047] 计算所述输出图像与该加噪图像对应的训练样本图像之间的逐像素点的像素均方误差及梯度均方误差;
[0048] 基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值;
[0049] 判断所述总误差函数值是否小于或等于误差阈值,若是,则确定所述深度学习网络模型训练完成;否则根据所述总误差函数值,调整所述深度学习网络模型的网络参数,并返回执行所述将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像。
[0050] 可选的,所述训练模块在实现所述基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值时,具体用于:
[0051] 基于所述逐像素点的像素均方误差及梯度均方误差,利用总误差函数,计算得到总误差函数值,其中,所述总误差函数为:
[0052]
[0053] 所述m为输入的加噪图像对应的训练样本图像上的像素点个数,所述为逐像素点的像素均方误差,所述x'为所述输出图像上第i个像素点的像素值,所述x为输入的加噪图像对应的训练样本图像上第i个像素点的像素值,所述为逐像素点的梯度均方误差,所述 为所述输出图像上第i个像素点的梯度值,所述 为输入的加噪图像对应的训练样本图像上第i个像素点的梯度值。
[0054] 第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,其中,[0055] 所述存储器,用于存放计算机程序
[0056] 所述处理器,用于执行所述存储器上所存放的计算机程序时,实现本发明实施例第一方面所述的任一方法步骤。
[0057] 本发明实施例提供的一种表面缺陷检测方法、装置及电子设备,通过将获取的待检测图像输入预先训练得到的深度学习网络模型,得到该待检测图像对应的无缺陷的重建图像,将重建图像与待检测图像作差,得到差值图像,在差值图像中,若存在差值大于预设差值的区域,则确定在待检测图像中的对应区域存在表面缺陷,其中,深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型。由于深度学习网络模型是由无缺陷的训练样本图像训练得到的,相较于包含有缺陷的样本图像,无缺陷的训练样本图像更易获取到,且数量多,则将待检测图像输入深度学习网络模型后,可以得到该待检测图像对应的无缺陷的重建图像,由于有缺陷的图像与无缺陷的图像相比,缺陷部分具有较大差异,因此,通过将重建图像与待检测图像作差,如果差值图像中存在差值大于预设差值的区域,即可确定在待检测图像中的对应区域存在表面缺陷,不受样本图像的限制,有表面缺陷即会导致重建图像与待检测图像之间差异明显,这样,既增加了检测出未知的表面缺陷类型的可能性,又提高了表面缺陷的检出率。
附图说明
[0058] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059] 图1为现有技术的缺陷检测流程示意图;
[0060] 图2为现有技术的基于深度学习的表面检测方法流程示意图;
[0061] 图3为本发明实施例的表面缺陷检测方法的流程简图;
[0062] 图4为本发明实施例的表面缺陷检测方法的流程示意图;
[0063] 图5为本发明实施例的深度学习网络模型训练的流程示意图;
[0064] 图6为本发明实施例的数据构造示意图;
[0065] 图7为本发明实施例的深度学习网络模型的训练过程的流程简图;
[0066] 图8为本发明实施例的测试过程的流程简图;
[0067] 图9a为现有技术的DBNs训练中预训练的流程示意图;
[0068] 图9b为现有技术的DBNs训练中网络模型展开的流程示意图;
[0069] 图9c为现有技术的DBNs训练中网络模型微调的流程示意图;
[0070] 图10为现有技术的RBM模型的结构示意图;
[0071] 图11a为现有技术的SDAE训练中预训练的流程示意图;
[0072] 图11b为现有技术的SDAE训练中网络模型展开的流程示意图;
[0073] 图11c为现有技术的SDAE训练中网络模型微调的流程示意图;
[0074] 图12为现有技术的DAE计算流程示意图;
[0075] 图13为现有技术的SDAE计算流程示意图;
[0076] 图14为本发明实施例的表面缺陷检测装置的结构示意图;
[0077] 图15为本发明实施例的电子设备的结构示意图。

具体实施方式

[0078] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0079] 传统的表面缺陷检测方法与传统的机器视觉算法流程类似,如图1所示,一般将拍摄得到的图片进行预处理,然后设计滤波器提取特征,对提取的特征进行分析处理确定阈值,经过形态学等处理检测出缺陷。自从机器学习广泛应用后,表面缺陷检测领域也开始大量使用机器学习的方法,例如基于深度学习的表面检测方法,基于深度学习的表面检测方法流程如图2所示,深度学习能够自动提取特征,而不需要人工设计特征,能够学习图像更加抽象的表达,进一步提高缺陷检测精度
[0080] 基于深度学习的表面检测方法需要预先对深度学习网络进行训练,要求进行训练的样本图像必须为包含有缺陷的样本图像,然而,由于包含有缺陷的样本图像数量有限,并不能保证覆盖可能出现的所有类型的缺陷,因此,基于深度学习的表面缺陷检测方法并不能检测出样本图像中未出现过的缺陷。
[0081] 因此,为了提高表面缺陷的检出率,本发明实施例提供了一种表面缺陷检测方法、装置及电子设备。
[0082] 下面,首先对本发明实施例所提供的一种表面缺陷检测方法进行介绍。
[0083] 本发明实施例所提供的一种表面缺陷检测方法的执行主体可以为一种电子设备,该电子设备用于实现图像处理、目标识别等功能,可以为具有逻辑处理能的摄像机、远程处理器等,电子设备中至少包括可以完成逻辑处理的芯片。实现本发明实施例所提供的一种表面缺陷检测方法的方式可以为设置于执行主体中的软件硬件电路逻辑电路中的至少一种。
[0084] 本发明实施例提供了一种表面缺陷检测方法,表面缺陷检测方法的流程简图如图3所示。主要步骤包括:针对训练图像构建数据集;利用构建的数据集训练深度学习网络模型;将测试图像输入训练好的深度学习网络模型,模型输出;对模型输出进行后处理,得到表面缺陷检测的结果。
[0085] 下面,对如图3所示的表面缺陷检测方法进行更为详细的介绍,如图4所示,该表面缺陷检测方法可以包括如下步骤:
[0086] S401,获取待检测图像。
[0087] 待检测图像为需要进行表面缺陷检测的图像,待检测图像可以为数据库中已存储的产品图像,也可以为对产品进行实时拍摄得到的图像,这里所提及的产品为泛指的产品,并不局限于某一种类型的产品,可以为例如手机、便携式计算机、布匹、筷子等等。
[0088] S402,通过将待检测图像输入预先训练得到的深度学习网络模型,得到待检测图像对应的无缺陷的重建图像。
[0089] 其中,深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型。深度学习网络模型可以为卷积神经网络模型,卷积神经网络是一种前馈神经网络,卷积神经网络中的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络一般由卷积层、池化层、非线性层和全连接层等网络层组成,当然,本实施例中的深度学习网络模型还可以为全卷积神经网络模型,即不包含全连接层的卷积神经网络。
[0090] 由于深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型,则将待检测图像输入深度学习网络模型后,所得到的重建图像为接近于与待检测图像对应的无缺陷的样本图像的图像,且重建图像中的产品图就是待检测图像中的产品图,两者唯一区别在于重建图像中的产品图无缺陷,而待检测图像中的产品图可能存在缺陷。当然,由于受深度学习网络模型的训练精准度影响,重建图像中有可能包含有缺陷,但是缺陷已深度弱化,与待检测图像中的缺陷仍然存在较大差异。
[0091] 可选的,深度学习网络模型的训练方式如图5所示,具体可以包括如下步骤:
[0092] S501,获取样本训练集。
[0093] 其中,样本训练集中包括多个无缺陷的训练样本图像。样本训练集为无缺陷的训练样本图像构成的集合,无缺陷的训练样本图像可以为采集的原始无缺陷的样本图像,也可以为对采集的原始无缺陷的样本图像进行数据构造得到的图像。
[0094] 可选的,S501具体可以为:获取原始训练样本图像,其中,原始训练样本图像包括无缺陷样本图像;按照亮度变换、对比度变换和尺度变换中的至少一种对原始训练样本图像进行变换扩充;将所有变换扩充后的训练样本图像和所有原始训练样本图像一起构成第一数量的训练样本图像;将第一数量的训练样本图像按照预设尺寸进行裁剪分块,得到第二数量的训练样本图像;将第二数量的训练样本图像作为样本训练集。
[0095] 获取样本训练集时,需要对训练样本图像进行数据构造,数据构造主要分为两块,如图6所示,一个是数据扩充,另一个是对扩充后的数据进行分块。
[0096] 由于无缺陷的样本图像的数量较大,并且场景、类型等区别也较大,获取的原始训练样本图像可能仅仅有十几二十张,并且在同一场景中不同时刻的亮度、对比度等属性不同,则会导致难以覆盖所有可能存在的情况,因此,为了提高检测的准确性,可以按照亮度变换、对比度变换和尺度变换中的至少一种对原始训练样本图像进行变换扩充,得到变换扩充后的训练样本图像。可以将所有变换后的训练样本图像和原始训练样本图像一起构成第一数量的训练样本图像,这样,就将训练样本图像扩充了几倍,有效的扩大了样本的覆盖。
[0097] 并且,一般工业上用于表面缺陷检测的图像尺寸都比较大,例如图像的尺寸可能为1280*1024,为了解决大尺寸图像上表面缺陷检测的问题,可以按照预设尺寸对第一数量的训练样本图像进行裁剪分块,例如预设尺寸为250*250,则可以从第一数量的训练样本图像中选取若干点,以这些点为中心,裁剪250*250大小的图像,最终得到若干个大小为250*250的图像作为第二数量的训练样本图像;还可以是以均匀采样的方式进行裁剪,即从第一数量的训练样本图像的左上开始,每隔25个像素采集250*250范围的图像作为第二数量的训练样本图像。
[0098] S502,使用高斯噪声、零掩模噪声、块状噪声中的至少一种对样本训练集中的各训练样本图像进行加噪处理,得到各训练样本图像分别对应的加噪图像。
[0099] 由于在实际场景中,不可避免的存在噪声,而样本训练集中的训练样本图像往往是在不确定的噪声下采集的,因此,为了保证深度学习网络的稳定性,可以在各训练样本图像上加入噪声,从而使得深度学习网络模型能够更好的学习到无缺陷样本的数据分布。加入的噪声对最终深度学习网络模型影响比较大,如何设计噪声也是比较关键的,为了提高深度学习网络模型的泛化能力,更大程度的应对不同的噪声,从受污染的输入中重构出纯净的输入,因此,在加入噪声时,可以针对各训练样本图像,使用高斯噪声、零掩模噪声、块状噪声中的至少一种对该训练样本图像进行加噪处理。加入噪声的方式与噪声的类型相关,例如,在加入零掩膜噪声时,可以随机地将训练样本图像中预设比例的像素点设置为0,加入其他类型的噪声的方式这里不再一一赘述。
[0100] S503,将各加噪图像输入预设训练模型进行训练,得到深度学习网络模型。
[0101] 在得到加噪图像之后,即可进行深度学习网络模型的训练,加噪图像经过深度学习网络模型后可以得到输出图像。对预设训练模型进行训练得到深度学习网络模型的方式,可以是传统的卷积神经网络的训练方式。
[0102] 如何训练深度学习模型是整个表面缺陷检测方法的关键,加入噪声的加噪图像经过卷积神经网络得到加噪图像的输出图像,为了能够使得输出图像更加接近原始的训练样本图像,可以根据预设的误差最优化策略进行模型训练,预设的误差最优化策略可以为最优化输出图像与训练样本图像之间的像素均方误差,也可以为最优化输出图像与训练样本图像之间的逐像素点的像素均方误差及梯度均方误差,还可以为最优化其他类型的误差,这里不再一一赘述。
[0103] 可选的,S503具体可以包括以下步骤:
[0104] 步骤A,将各加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像。
[0105] 在第一次得到输出图像时,加噪图像输入的可以是一个初始深度学习网络模型,初始深度学习网络模型可以为基本的或者业内最为常用的网络模型。
[0106] 步骤B,计算输出图像与该加噪图像对应的训练样本图像之间的逐像素点的像素均方误差及梯度均方误差。
[0107] 步骤C,基于逐像素点的像素均方误差及梯度均方误差,计算总误差函数值。
[0108] 可选的,步骤C具体可以为:基于逐像素点的像素均方误差及梯度均方误差,利用总误差函数,计算得到总误差函数值。
[0109] 其中,总误差函数为:
[0110]
[0111] m为输入的加噪图像对应的训练样本图像上的像素点个数, 为逐像素点的像素均方误差,x'为输出图像上第i个像素点的像素值,x为输入的加噪图像对应的训练样本图像上第i个像素点的像素值, 为逐像素点的梯度均方误差,为输出图像上第i个像素点的梯度值, 为输入的加噪图像对应的训练样本图像上第i个像素点的梯度值。
[0112] 步骤D,判断总误差函数值是否小于或等于误差阈值,若是,则确定深度学习网络模型训练完成;否则根据总误差函数值,调整深度学习网络模型的网络参数,并返回执行步骤A。
[0113] 本实施例中误差最优化策略为最优化输出图像与训练样本图像之间的逐像素点的像素均方误差及梯度均方误差方式,一方面,从像素值的角度使得输出图像尽可能的与训练样本图像接近,另一方面,从边缘梯度的角度使得输出图像更接近训练样本图像。有缺陷的图像中往往存在许多纹理信息及边缘信息,包括缺陷本身也是具有边缘信息的,因此,加入梯度的信息能够更好的检测表面缺陷。
[0114] 具体的,深度学习网络模型的训练过程如图7所示,在训练图像x中添加噪声,然后基于添加了噪声的训练图像对卷积神经网络进行训练,得到重建图像x',并将重建图像作为训练图像重新进行训练。可以采用类似SDAE(Stacked Denosie Autoencode,堆叠降噪自动编码器)的方法在训练数据上加入噪声,使得深度学习网络模型能够更好的学习到无缺陷样本的数据分布。深度学习网络模型的训练过程,可以在已有的深度学习网络平台上进行,也可以通过搭建的程序框架实现,这里不做限定。
[0115] S403,将重建图像与待检测图像作差,得到差值图像。
[0116] 重建图像与待检测图像作差即为重建图像中的像素点与待检测图像中的对应像素点分别作差,对于灰度图,可以是像素值直接作差,对于RGB图,可以是三通道分量分别作差,像素值相同或者RGB三通道分量相同的像素点在作差之后差值接近于0,而像素值或者RGB三通道分量差别较大时,在作差之后差值较大,因此,可以通过差值的大小来判断是否存在缺陷。为了计算简便,在得到差值图像后,可以将差值图像中的各差值进行归一化处理,将所有差值都归一化至0~1的范围内。
[0117] 测试过程的流程简图如图8所示,对于待检测图像,将待检测图像输入训练好的深度学习网络模型中获得重建图像,将重建图像与待检测图像做差,获得一张差值图像,有缺陷的区域会有较大的差异,没有缺陷的区域差异较小,因此,可以通过值的大小来判断该区域是否存在缺陷。
[0118] S404,在差值图像中,若存在差值大于预设差值的区域,则确定在待检测图像中的对应区域存在表面缺陷。
[0119] 由于重建图像为无缺陷的图像,而待检测图像中可能存在表面缺陷,通过将重建图像与待检测图像作差,差值较小的区域说明待检测图像中该区域无缺陷,而差值较大的区域说明待检测图像中该区域存在表面缺陷,为了提高检测的准确性,可以设置一预设差值,如果存在差值大于预设差值的区域,则说明待检测图像中该区域存在表面缺陷。
[0120] 在确定待检测图像中存在表面缺陷之后,还可以采用SVM(Support Vector Machine,支持向量机)、回归模型softmax、ANN(Artificial Neural Networks,人工神经网络)等分类器,识别表面缺陷的类别,分类器识别表面缺陷类别的具体识别方法这里不再赘述。
[0121] 目前涉及到无监督的表面缺陷检测方法主要是采用监督学习方式进行预训练,然后结合有监督的方法对网络进行微调,其中,无监督学习中训练集样本的特性未知,也就是说没有对样本进行标记。完全采用无监督的方法主要分为两种方法,一种采用DBNs(Deep Belief Networks,深度置信网络),另一种采用SDAE。
[0122] DBNs的训练过程如下:仅采用无缺陷的样本图像,逐层训练堆叠的RBM(Restricted Boltzmann Machines,受限玻尔兹曼机),如图9a所示;同样采用无缺陷的样本图像将网络模型展开,然后进行微调,如图9b、图9c所示。
[0123] DBNs通过训练其神经元间的权重,可以让整个神经网络按照最大概率来生成训练数据。DBNs的组成元件是RBM。在RBM中,神经元是随机的,且只有未激活和激活两种状态,一般用二进制的0和1表示,取值根据概率统计法则决定。RBM具有一个可见层,一个隐藏层,如图10所示,其层内无连接,这种结构使得RBM在给定可见层单元状态时,各隐藏层单元的激活条件独立;反之在给定隐藏层单元状态时,可见层单元的激活条件也独立。
[0124] 当给定可见单元状态时,各隐藏层单元的激活状态之间是条件独立的,由此可得第j个隐藏层单元的激活概率为:
[0125]
[0126] 根据RBM的对称结构,同理可得第i个可见层单元的激活概率为:
[0127]
[0128] 其中,hi表征第i个隐藏层单元,vi表征第i个可见层单元,Wij、bj和cj为RBM网络参数,需拟合给定的训练数据,用极大似然法最大化上述公式,一般采用CD(Contrastive Divergence,对比分歧)算法进行优化。
[0129] SDAE的训练过程如下:(1)训练第一个DAE(Denoising Auto-encoder,降噪自动编码器)网络,采用最优梯度下降法优化,计算得到训练样本在隐藏层的输出值;(2)将(1)的结果作为第二个DAE网络训练的输入值,同样采用最优梯度下降法来优化,并计算DAE网络输出值,用同样的方法训练第3个DAE网络和第4个DAE网络;将上面的4个DAE网络展开连接成新的网络,且分成编码和解码两部分,用(1)和(2)得到的权值给网络赋初值;(4)将输入值作为SDAE网络的目标输出,同样用最优梯度下降法来优化,得到最终的网络权值。以输入样本图像为64*64的灰度图为例,SDAE的输入层是4096维,4个隐藏层维度分别为1000、500、250、200、50。首先按照图11a的形式创建网络并得到相应的预训练权值;然后再按图11b的形式展开;最后把输入样本图像作为网络的目标输出,按图11c对权值做进一步的微调,微调的过程可以采用BP(Back Propagation,反向传播)算法。
[0130] DAE与传统的AE(Auto-encoder,自动编码器)具有相同的结构,只是在样本输入时加入了某种类型的噪声,其学习目标是从受污染的输入中重构出纯净的输入。其计算过程如图12所示,计算过程如下。
[0131] 设输入样本为X,污染后的随机映射样本为 则DAE的编码输出为:
[0132]
[0133] 重构后的解码输出为:
[0134] Z=gθ'(Y)=s(W'Y+b')
[0135] 其参数、结构与基本的AE完全相同,不同点在于损失函数:
[0136] L2(X,Z)=C(σ2)||X-Z||2,线性解码器
[0137] 或,
[0138] LH(X,Z)=H(B(X)||B(Z)),非线性解码器
[0139] 其中,W、b、W'、b'为DAE网络参数。损失函数虽然仍旧是最小化纯净输入信号X和重构Y之间的误差,或者说是最大化纯净输入信号和重构信号之间的共有信息,但与传统的AE不同的是,重构信号Y是由受污染信号 重构得到的。
[0140] 样本X每训练一次,都会根据噪声发生器 产生一个不同的
[0141] 为了得到更高级的特征表达,用深度网络结构的形式,把DAE逐层堆叠起来,形成一个由DAE上下连接而成的模型结构,即为SDAE。在训练时,前一层的输出作为后一层的纯净输入,逐层进行训练。其学习过程如图13所示。
[0142] 上述两种方法从训练方法上来看,均要分成两步进行,先逐层训练,得到网络模型,再将训练得到的网络模型展开进行微调,过程比较繁琐。而在本发明实施例中,深度学习网络模型的训练过程并不需要分步进行,直接通过训练即可得到深度学习网络模型,而不需要再进行展开微调,简化了训练过程。
[0143] 应用本实施例,通过将获取的待检测图像输入预先训练得到的深度学习网络模型,得到该待检测图像对应的无缺陷的重建图像,将重建图像与待检测图像作差,得到差值图像,在差值图像中,若存在差值大于预设差值的区域,则确定在待检测图像中的对应区域存在表面缺陷,其中,深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型。由于深度学习网络模型是由无缺陷的训练样本图像训练得到的,相较于包含有缺陷的样本图像,无缺陷的训练样本图像更易获取到,且数量多,则将待检测图像输入深度学习网络模型后,可以得到该待检测图像对应的无缺陷的重建图像,由于有缺陷的图像与无缺陷的图像相比,缺陷部分具有较大差异,因此,通过将重建图像与待检测图像作差,如果差值图像中存在差值大于预设差值的区域,即可确定在待检测图像中的对应区域存在表面缺陷,不受样本图像的限制,有表面缺陷即会导致重建图像与待检测图像之间差异明显,这样,既增加了检测出未知的表面缺陷类型的可能性,又提高了表面缺陷的检出率。
[0144] 相应于上述方法实施例,本发明实施例提供了一种表面缺陷检测装置,如图14所示,该表面缺陷检测装置包括:
[0145] 获取模块1410,用于获取待检测图像。
[0146] 重建图像获得模块1420,用于通过将所述待检测图像输入预先训练得到的深度学习网络模型,得到所述待检测图像对应的无缺陷的重建图像,所述深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型。
[0147] 作差模块1430,用于将所述重建图像与所述待检测图像作差,得到差值图像。
[0148] 确定模块1440,用于在所述差值图像中,若存在差值大于预设差值的区域,则确定在所述待检测图像中的对应区域存在表面缺陷。
[0149] 可选的,所述获取模块1410,还可以用于:获取样本训练集,所述样本训练集中包括多个无缺陷的训练样本图像。
[0150] 所述装置,还可以包括:
[0151] 加噪模块,用于使用高斯噪声,零掩模噪声,块状噪声中的至少一种对所述样本训练集中的各训练样本图像进行加噪处理,得到各训练样本图像分别对应的加噪图像;
[0152] 训练模块,用于将各所述加噪图像输入预设训练模型进行训练,得到所述深度学习网络模型。
[0153] 可选的,所述获取模块1410,具体可以用于:获取原始训练样本图像,所述原始训练样本图像包括无缺陷样本图像;按照亮度变换、对比度变换和尺度变换中的至少一种对所述原始训练样本图像进行变换扩充;将所有变换扩充后的训练样本图像和所有所述原始训练样本图像一起构成第一数量的训练样本图像;将第一数量的所述训练样本图像按照预设尺寸进行裁剪分块,得到第二数量的训练样本图像;将所述第二数量的训练样本图像作为所述样本训练集。
[0154] 可选的,所述训练模块,具体可以用于:将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像;计算所述输出图像与该加噪图像对应的训练样本图像之间的逐像素点的像素均方误差及梯度均方误差;基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值;判断所述总误差函数值是否小于或等于误差阈值,若是,则确定所述深度学习网络模型训练完成;否则根据所述总误差函数值,调整所述深度学习网络模型的网络参数,并返回执行所述将各所述加噪图像输入预设卷积神经网络,得到该加噪图像的输出图像。
[0155] 可选的,所述训练模块在实现所述基于所述逐像素点的像素均方误差及梯度均方误差,计算总误差函数值时,具体可以用于:基于所述逐像素点的像素均方误差及梯度均方误差,利用总误差函数,计算得到总误差函数值。
[0156] 其中,所述总误差函数为:
[0157]
[0158] 所述m为输入的加噪图像对应的训练样本图像上的像素点个数,所述为逐像素点的像素均方误差,所述x'为所述输出图像上第i个像素点的像素值,所述x为输入的加噪图像对应的训练样本图像上第i个像素点的像素值,所述为逐像素点的梯度均方误差,所述 为所述输出图像上第i个像素点的梯度值,所述 为输入的加噪图像对应的训练样本图像上第i个像素点的梯度值。
[0159] 应用本实施例,通过将获取的待检测图像输入预先训练得到的深度学习网络模型,得到该待检测图像对应的无缺陷的重建图像,将重建图像与待检测图像作差,得到差值图像,在差值图像中,若存在差值大于预设差值的区域,则确定在待检测图像中的对应区域存在表面缺陷,其中,深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型。由于深度学习网络模型是由无缺陷的训练样本图像训练得到的,相较于包含有缺陷的样本图像,无缺陷的训练样本图像更易获取到,且数量多,则将待检测图像输入深度学习网络模型后,可以得到该待检测图像对应的无缺陷的重建图像,由于有缺陷的图像与无缺陷的图像相比,缺陷部分具有较大差异,因此,通过将重建图像与待检测图像作差,如果差值图像中存在差值大于预设差值的区域,即可确定在待检测图像中的对应区域存在表面缺陷,不受样本图像的限制,有表面缺陷即会导致重建图像与待检测图像之间差异明显,这样,既增加了检测出未知的表面缺陷类型的可能性,又提高了表面缺陷的检出率。
[0160] 为了提高表面缺陷的检出率,本发明实施例还提供了一种电子设备,如图15所示,该电子设备包括处理器1501和存储器1502,其中,
[0161] 所述存储器1502,用于存放计算机程序;
[0162] 所述处理器1501,用于执行所述存储器1502上所存放的计算机程序时,实现如上述表面缺陷检测方法的任一步骤。
[0163] 上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0164] 上述处理器可以是通用处理器,包括GPU(Graphics Processing Unit,图形处理器)、CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0165] 本实施例中,该电子设备的处理器通过读取存储器中存储的计算机程序,并通过运行该计算机程序,能够实现:通过将获取的待检测图像输入预先训练得到的深度学习网络模型,得到该待检测图像对应的无缺陷的重建图像,将重建图像与待检测图像作差,得到差值图像,在差值图像中,若存在差值大于预设差值的区域,则确定在待检测图像中的对应区域存在表面缺陷,其中,深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型。由于深度学习网络模型是由无缺陷的训练样本图像训练得到的,相较于包含有缺陷的样本图像,无缺陷的训练样本图像更易获取到,且数量多,则将待检测图像输入深度学习网络模型后,可以得到该待检测图像对应的无缺陷的重建图像,由于有缺陷的图像与无缺陷的图像相比,缺陷部分具有较大差异,因此,通过将重建图像与待检测图像作差,如果差值图像中存在差值大于预设差值的区域,即可确定在待检测图像中的对应区域存在表面缺陷,不受样本图像的限制,有表面缺陷即会导致重建图像与待检测图像之间差异明显,这样,既增加了检测出未知的表面缺陷类型的可能性,又提高了表面缺陷的检出率。
[0166] 另外,相应于上述实施例所提供的表面缺陷检测方法,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述表面缺陷检测方法的任一步骤。
[0167] 本实施例中,计算机可读存储介质在运行时执行本发明实施例所提供的表面缺陷检测方法的应用程序,因此能够实现:通过将获取的待检测图像输入预先训练得到的深度学习网络模型,得到该待检测图像对应的无缺陷的重建图像,将重建图像与待检测图像作差,得到差值图像,在差值图像中,若存在差值大于预设差值的区域,则确定在待检测图像中的对应区域存在表面缺陷,其中,深度学习网络模型为基于包含多个无缺陷的训练样本图像的样本训练集,预先训练得到的深度学习网络模型。由于深度学习网络模型是由无缺陷的训练样本图像训练得到的,相较于包含有缺陷的样本图像,无缺陷的训练样本图像更易获取到,且数量多,则将待检测图像输入深度学习网络模型后,可以得到该待检测图像对应的无缺陷的重建图像,由于有缺陷的图像与无缺陷的图像相比,缺陷部分具有较大差异,因此,通过将重建图像与待检测图像作差,如果差值图像中存在差值大于预设差值的区域,即可确定在待检测图像中的对应区域存在表面缺陷,不受样本图像的限制,有表面缺陷即会导致重建图像与待检测图像之间差异明显,这样,既增加了检测出未知的表面缺陷类型的可能性,又提高了表面缺陷的检出率。
[0168] 对于电子设备以及计算机可读存储介质实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0169] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0170] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0171] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈