表面缺陷检测模型的训练方法、表面缺陷检测方法及装置转让专利

申请号 : CN202210234834.3

文献号 : CN114419029B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜鹏超

申请人 : 深圳艾灵网络有限公司

摘要 :

本申请提供一种表面缺陷检测模型的训练方法、表面缺陷检测方法及装置,涉及表面缺陷检查技术领域。该训练方法包括:获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷,对每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像,将多类表面缺陷图像随机粘贴至多组样本图像中,得到样本图像集,采用样本图像集进行模型训练,得到预设工件的表面缺陷检测模型,表面缺陷检测模型用于对预设工件的表面图像进行处理,得到表面图像对应的多种表面缺陷的检测分值,以确定预设工件的表面是否存在对应的表面缺陷。通过本申请可以提高训练得到的表面缺陷检测模型的检测精度。

权利要求 :

1.一种表面缺陷检测模型的训练方法,其特征在于,所述方法包括:获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷;

对所述每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像;

将多类表面缺陷图像随机粘贴至所述多组样本图像中,得到样本图像集;

采用所述样本图像集进行模型训练,得到所述预设工件的表面缺陷检测模型,所述表面缺陷检测模型用于对所述预设工件的表面图像进行处理,得到所述表面图像对应多种表面缺陷的检测分值,以确定所述预设工件的表面是否存在对应的表面缺陷;

所述采用所述样本图像集进行模型训练,得到所述预设工件的表面缺陷检测模型,包括:根据第一优化器,采用所述样本图像集对预设网络模型训练第一预设次数,得到所述预设工件的初始模型,其中,所述第一优化器用于向所述预设网络模型的损失函数添加由所述预设网络模型的所有权重的平方和组成的惩罚项,并乘以预设超参数以控制惩罚力度,以根据所述预设网络模型的损失函数调整所述预设网络模型的参数;

根据第二优化器,采用所述样本图像集对所述初始模型训练第二预设次数,得到所述预设工件的表面缺陷检测模型,其中,所述第二优化器用于让所述初始模型的损失函数收敛到最低,以根据所述初始模型的损失函数调整所述初始模型的参数。

2.根据权利要求1所述的训练方法,其特征在于,所述将多类表面缺陷图像随机粘贴至所述多组样本图像中,得到样本图像集之前,所述方法还包括:对所述多类表面缺陷图像进行缩放处理;

所述将多类表面缺陷图像随机粘贴至所述多组样本图像中,得到样本图像集,包括:将缩放处理前后的所述多类表面缺陷图像随机粘贴至所述多组样本图像中,得到所述样本图像集。

3.根据权利要求1所述的训练方法,其特征在于,所述将多类表面缺陷图像随机粘贴至所述多组样本图像中,得到样本图像集之前,所述方法还包括:对所述多类表面缺陷图像进行复制,使得复制后的所述多类表面缺陷图像的数量达到对应的目标阈值。

4.根据权利要求1所述的训练方法,其特征在于,所述采用所述样本图像集进行模型训练,得到所述预设工件的表面缺陷检测模型之前,所述方法还包括:对所述样本图像集进行数据增强;

所述采用所述样本图像集进行模型训练,得到所述预设工件的表面缺陷检测模型,包括:采用数据增强后的所述样本图像集进行模型训练,得到所述预设工件的表面缺陷检测模型。

5.根据权利要求1‑4任一所述的训练方法,其特征在于,所述表面缺陷检测模型包括:多个特征提取模块、多个特征融合模块,以及预测模块;所述多个特征提取模块用于分别提取多个不同尺寸的特征图,其中,前一个特征提取模块连接后一个特征提取模块,第一个特征提取模块用于接收输入的表面图像;

每个特征融合模块连接两个特征提取模块,以对相邻两种尺寸的特征图进行特征融合,所述多个特征融合连接所述预测模块,所述预测模块用以对融合后的特征图进行处理,得到所述表面图像的缺陷检测结果。

6.一种表面缺陷检测方法,其特征在于,所述方法包括:

获取预设工件的表面图像;

根据所述预设工件的表面缺陷检测模型,对所述表面图像进行处理,得到所述表面图像的第一缺陷检测结果,所述第一缺陷检测结果包括:所述表面图像对应多种表面缺陷的检测分值,所述表面缺陷检测模型为采样上述权利要求1‑5任一所述的训练方法得到的;

根据所述多种表面缺陷的检测分值,以及所述多种表面缺陷对应的预设检测阈值,得到所述预设工件的第二缺陷检测结果,所述第二缺陷检测结果包括:所述预设工件上是否存在对应的表面缺陷的指示信息。

7.根据权利要求6所述的方法,其特征在于,所述第一缺陷检测结果还包括:所述多种表面缺陷的检测框;所述方法还包括:若在预设工件上存在目标表面缺陷,则在所述表面图像上所述目标表面缺陷的检测框所在的位置对所述目标表面缺陷进行标记;

所述第二缺陷检测结果还包括:标记有所述目标表面缺陷的所述表面图像。

8.一种表面缺陷检测模型的训练装置,其特征在于,所述装置包括:样本图像获取模块,用于获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷;

图像区域裁剪模块,用于对所述每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像;

缺陷图像粘贴模块,用于将多类表面缺陷图像随机粘贴至所述多组样本图像中,得到样本图像集;

检测模型训练模块,用于采用所述样本图像集进行模型训练,得到所述预设工件的表面缺陷检测模型,所述表面缺陷检测模型用于对所述预设工件的表面图像进行处理,得到所述表面图像对应多种表面缺陷的检测分值,以确定所述预设工件的表面是否存在对应的表面缺陷;

所述检测模型训练模块,包括:

第一训练单元,用于根据第一优化器,采用所述样本图像集对预设网络模型训练第一预设次数,得到所述预设工件的初始模型,其中,所述第一优化器用于向所述预设网络模型的损失函数添加由所述预设网络模型的所有权重的平方和组成的惩罚项,并乘以预设超参数以控制惩罚力度,以根据所述预设网络模型的损失函数调整所述预设网络模型的参数;

第二训练单元,用于根据第二优化器,采用所述样本图像集对所述初始模型训练第二预设次数,得到所述预设工件的表面缺陷检测模型,其中,所述第二优化器用于让所述初始模型的损失函数收敛到最低,以根据所述初始模型的损失函数调整所述初始模型的参数。

9.一种表面缺陷检测装置,其特征在于,所述装置包括:

表面图像获取模块,用于获取预设工件的表面图像;

第一检测结果获取模块,用于根据所述预设工件的表面缺陷检测模型,对所述表面图像进行处理,得到所述表面图像的第一缺陷检测结果,所述第一缺陷检测结果包括:所述表面图像对应多种表面缺陷的检测分值,所述表面缺陷检测模型为采样上述权利要求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] 获取预设工件的表面图像;
[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] 表面图像获取模块,用于获取预设工件的表面图像;
[0054] 第一检测结果获取模块,用于根据所述预设工件的表面缺陷检测模型,对所述表面图像进行处理,得到所述表面图像的第一缺陷检测结果,所述第一缺陷检测结果包括:所述表面图像对应多种表面缺陷的检测分值,所述表面缺陷检测模型为采样上述实施例任一所述的训练方法得到的;
[0055] 第二检测结果获取模块,用于根据所述多种表面缺陷的检测分值,以及所述多种表面缺陷对应的预设检测阈值,得到所述预设工件的第二缺陷检测结果,所述第二缺陷检测结果包括:所述预设工件上是否存在对应的表面缺陷的指示信息。
[0056] 可选的,所述第一缺陷检测结果还包括:所述多种表面缺陷的检测框;所述装置还包括:
[0057] 缺陷标记模块,用于若在预设工件上存在目标表面缺陷,则在所述表面图像上所述目标表面缺陷的检测框所在的位置对所述目标表面缺陷进行标记;所述第二缺陷检测结果还包括:标记有所述目标表面缺陷的所述表面图像。
[0058] 第五方面,本申请实施例还提供一种计算机设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当所述计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如上述实施例任一所述的表面缺陷检测模型的训练方法及表面缺陷检测方法的步骤。
[0059] 第六方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述实施例任一所述的表面缺陷检测模型的训练方法及表面缺陷检测方法的步骤。
[0060] 本申请的有益效果是:
[0061] 本申请提供一种表面缺陷检测模型的训练方法、表面缺陷检测方法及装置,该训练方法通过获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷,对每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像,将多类表面缺陷图像随机粘贴至多组样本图像中,得到样本图像集,采用样本图像集进行模型训练,得到预设工件的表面缺陷检测模型,表面缺陷检测模型用于对预设工件的表面图像进行处理,得到表面图像对应的多种表面缺陷的检测分值,以确定预设工件的表面是否存在对应的表面缺陷。本申请通过对从样本图像中裁剪出的多类表面缺陷图像进行随机粘贴,以扩充样本图像中包括的表面缺陷的样本数量,以提高训练得到的表面缺陷检测模型的检测精度。

附图说明

[0062] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0063] 图1为本申请实施例提供的一种表面缺陷检测模型的训练方法的流程示意图;
[0064] 图2为本申请实施例提供的另一种表面缺陷检测模型的训练方法的流程示意图;
[0065] 图3为本申请实施例提供的又一种表面缺陷检测模型的训练方法的流程示意图;
[0066] 图4为本申请实施例提供的一种表面缺陷检测模型的结构示意图;
[0067] 图5为本申请实施例提供的一种BottleneckCSP的结构示意图;
[0068] 图6为本申请实施例提供的一种ASPP的结构示意图;
[0069] 图7为本申请实施例提供的再一种表面缺陷检测模型的训练方法的流程示意图;
[0070] 图8为本申请实施例提供的又另一种表面缺陷检测方法的流程示意图;
[0071] 图9为本申请实施例提供的一种表面缺陷检测模型的训练装置的结构示意图;
[0072] 图10为本申请实施例提供的一种表面缺陷检测装置的结构示意图;
[0073] 图11为本申请实施例提供的计算机设备的示意图。

具体实施方式

[0074] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
[0075] 因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0076] 在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
[0077] 此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0078] 需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
[0079] 请参考图1,为本申请实施例提供的一种表面缺陷检测模型的训练方法的流程示意图,如图1所示,该方法包括:
[0080] S11:获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷。
[0081] 本实施例中,预设工件为机械制造过程中生产的五金件产品,多组样本图像可以是针对多类表面缺陷,对已经生产的预设工件进行拍照获取的图像,也可以是对机械制造过程中专门制造多类表面缺陷的样本工件进行拍照获取的图像,每组样本图像中各样本图像上标注有一类表面缺陷,每类表面缺陷在各样本图像中各有差异,多组样本图像中各样本图像上标注有不同类型的表面缺陷。示例的,表面缺陷的类型例如可以为:凹点、未砂全等,未砂全是一种工件在人工打磨过程中未打磨光滑形成的缺陷,未砂全的形状多种多样。
[0082] S13:对每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像。
[0083] 本实施例中,采用标注软件对每组样本图像中各样本图像上的表面缺陷进行标注,确定每个表面缺陷在样本图像中的坐标框,根据每个表面缺陷的坐标框,将每个表面缺陷从对应的样本图像上裁剪下来,得到每组样本图像对应的一类表面缺陷图像。示例的,可以根据坐标框左上角坐标和右下角坐标,将每个表面缺陷从对应的样本图像上裁剪下来。
[0084] S15:将多类表面缺陷图像随机粘贴至多组样本图像中,得到样本图像集。
[0085] 本实施例中,将裁剪得到的多类表面缺陷图像进行复制,并随机粘贴至多组样本图像中,使得多组样本图像上所包括的表面缺陷的类别和数量增加,粘贴了多类表面缺陷图像的多组样本图像构成样本图像集。
[0086] 需要说明的是,在随机粘贴过程中,若表面缺陷图像的粘贴范围超过样本图像的边界,需要对表面缺陷图像的尺寸进行调整。
[0087] 在一种可选实施例中,在将多类表面缺陷图像随机粘贴至多组样本图像中之前,该方法还可以包括:
[0088] 对多类表面缺陷图像进行复制,使得复制后的多类表面缺陷图像的数量达到对应的目标阈值。
[0089] 本实施例中,为了保证模型训练过程中对每类表面缺陷图像都能学习到更多的特征,提高表面缺陷检测模型的鲁棒性,在对多类表面缺陷图像进行复制时,保证多类表面缺陷图像的数量均衡性,以使得复制后的多类表面缺陷图像的数量达到对应的目标阈值。示例的,假设A类表面缺陷图像的数量为2000个,B类表面缺陷图像的数量为1000个,则在复制过程中,对A类表面缺陷图像少复制,对B类表面缺陷图像多复制,保证复制后的A类表面缺陷图像和B类表面缺陷图像的数量均衡。
[0090] S17:采用样本图像集进行模型训练,得到预设工件的表面缺陷检测模型,表面缺陷检测模型用于对预设工件的表面图像进行处理,得到表面图像对应多种表面缺陷的检测分值,以确定预设工件的表面是否存在对应的表面缺陷。
[0091] 本实施例中,样本图像集中的各样本图像标注有表面缺陷的类型和表面缺陷在样本图像中的坐标框,将样本图像集输入至预设的模型中进行训练,使得模型从各样本图像中学习表面缺陷的特征,在训练过程中不断调整模型的参数,直至模型的训练结果满足要求,得到预设工件的表面缺陷检测模型,采用该表面缺陷检测模型,可以对预设工件的表面图像进行处理,以对从预设工件的表面图像中检测到的多种表面缺陷进行打分,得到多种表面缺陷的检测分值,可以根据多种表面缺陷的检测分值,确定预设工件的表面是否存在对应的表面缺陷。
[0092] 本申请实施例提供的表面缺陷检测模型的训练方法,通过获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷,对每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像,将多类表面缺陷图像随机粘贴至多组样本图像中,得到样本图像集,采用样本图像集进行模型训练,得到预设工件的表面缺陷检测模型,表面缺陷检测模型用于对预设工件的表面图像进行处理,得到表面图像对应的多种表面缺陷的检测分值,以确定预设工件的表面是否存在对应的表面缺陷。本申请实施例通过对从样本图像中裁剪出的多类表面缺陷图像进行随机粘贴,以扩充样本图像中包括的表面缺陷的样本数量,以提高训练得到的表面缺陷检测模型的检测精度。
[0093] 在上述实施例的基础上,本申请实施例还提供另一种表面缺陷检测模型的训练方法。
[0094] 请参考图2,为本申请实施例提供的另一种表面缺陷检测模型的训练方法的流程示意图,如图2所示,该方法包括S11、S13、S14、S151和S17,其中S11、S13和S17与上述实施例相同,在此不做赘述。
[0095] 本实施例中,该表面缺陷检测模型的训练方法包括:
[0096] S11:获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷。
[0097] S13:对每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像。
[0098] S14:对多类表面缺陷图像进行缩放处理。
[0099] 本实施例中,通过对裁剪下来的多类表面缺陷图像进行缩小、放大处理,以提升表面缺陷图像的样本丰富度。示例的,可以对在样本图像中尺寸较小的表面缺陷图像进行随机放大处理,例如可以放大1到1.5倍,对在样本图像中尺寸较大的表面缺陷图像进行缩小处理。
[0100] S151:将缩放处理前后的多类表面缺陷图像随机粘贴至多组样本图像中,得到样本图像集。
[0101] 本实施例中,将缩放处理前的多类表面缺陷图像和缩放处理后的多类表面缺陷图像随机粘贴至多组样本图像中,随机粘贴后的多组样本图像构成样本图像集,以丰富样本图像集中表面缺陷图像的数量。
[0102] S17:采用样本图像集进行模型训练,得到预设工件的表面缺陷检测模型。
[0103] 本申请实施例提供的表面缺陷检测模型的训练方法,通过对多类表面缺陷图像进行缩放处理,以进一步增加样本丰富度,提高训练得到的表面缺陷检测模型的检测精度。
[0104] 在上述实施例的基础上,本申请实施例还提供又一种表面缺陷检测模型的训练方法。
[0105] 请参考图3,为本申请实施例提供的又一种表面缺陷检测模型的训练方法的流程示意图,如图3所示,该方法包括S11、S13、S15、S161和S171,其中S11、S13和S15与上述实施例相同,在此不做赘述。
[0106] S11:获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷。
[0107] S13:对每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像。
[0108] S15:将多类表面缺陷图像随机粘贴至多组样本图像中,得到样本图像集。
[0109] S16:对样本图像集进行数据增强。
[0110] 本实施例中,数据增加包括色彩增强和随机拼接。色彩增强用于对样本图像集中各样本图像的饱和度进行增强,随机拼接用于将进行色彩增强后的任意四张样本图像进行拼接,拼接后的每张样本图像中所包括的表面缺陷图像的数量更多。示例的,随机拼接可以采用Mosaic数据增强方法。
[0111] S171:采用数据增强后的样本图像集进行模型训练,得到预设工件的表面缺陷检测模型。
[0112] 本实施例中,将通过色彩增强和随机拼接后的样本图像集输入至模型进行训练,得到预设工件的表面缺陷检测模型,训练过程可以参考前述S17,在此不做赘述。
[0113] 本申请实施例提供的表面缺陷检测模型的训练方法,通过对样本图像集进行数据增强,采用数据增强后的样本图像集进行模型训练,以提高训练得到的表面缺陷检测模型的检测精度。
[0114] 在一种可选实施例中,表面缺陷检测模型包括:多个特征提取模块、多个特征融合模块,以及预测模块;多个特征提取模块用于分别提取多个不同尺寸的特征图,其中,前一个特征提取模块连接后一个特征提取模块,第一个特征提取模块用于接收输入的表面图像;每个特征融合模块连接两个特征提取模块,以对相邻两种尺寸的特征图进行特征融合,多个特征融合连接预测模块,预测模块用以对融合后的特征图进行处理,得到表面图像的缺陷检测结果。
[0115] 本实施例中,多个特征提取模型依次连接,作为表面缺陷检测模型的骨干网络,用于对输入的样本图像进行连续卷积处理,得到多个特征图,多个特征图的尺寸依次下降。
[0116] 多个特征融合模块作为表面检测模型的头结构,每个特征融合模块连接两个特征提取模块,以对相邻两种尺寸的特征图进行特征融合,并输出在不同尺寸的特征图下检测到的多个表面缺陷图像的类别和多个坐标框,由于是在不同尺寸下进行缺陷检测,因此,针对一个表面缺陷图像可以检测到多个尺寸不同的坐标框。
[0117] 需要说明的是,为了实现针对小目标的检测,本实施例提供的表面缺陷检测模型的多个特征提取模块和多个特征融合模块的数量为4个,多个特征融合模块输出的特征图的尺寸分别为输入的表面图像的尺寸的1/4、1/8、1/16、1/32。
[0118] 预测模块用于根据每个表面缺陷图像的多个坐标框进行非极大值抑制,以从每个表面缺陷图像的多个坐标框中找到最佳的目标坐标框,消除其他冗余的坐标框。具体过程为:对所有的坐标框进行打分排序,选中置信度最高的坐标框,遍历其余坐标框,如果其余坐标框和当前置信度最高的坐标框的重叠面积(IOU)大于预设阈值,将其余坐标框删除,从剩余的坐标框中继续选择置信度最高的坐标框执行上述计算过程,直至获取到最终被保留的坐标框,通过交并比计算,得到被保留的坐标框对应的表面缺陷的检测分值,预测模块输出被保留的坐标框、坐标框中表面缺陷图像和类别和检测分值作为缺陷检测结果。
[0119] 示例的,请参见图4,为本申请实施例提供的一种表面缺陷检测模型的结构示意图,如图4所示,多个特征提取模块中的前三个特征提取模块由CBM和BottleneckCSP构成,其中,CBM包括卷积层(Convolution)、归一化层((Batch Normalization,BN)和Mish激活函数层,卷积层是对样本图像上的每一小块像素区域进行处理,加强图像信息的连续性,使得模型可以学习到图像中的内容,加深模型对图像的理解;归一化层是把卷积层中的数值归一化到0到1之间或者‑1到1之间,采用激活函数Mish增加非线性因素,提高模型的表达能力,使得模型的检测效果更佳。BottleneckCSP为深层残差模块,由瓶颈层Bottleneck和交叉结构(Cross Stage Partial,CSP)构成,可以更好地学习表面图像的特征,并防止梯度消失。第四个特征提取模块除了包括CBM和BottleneckCSP外,还包括ASPP(atrous spatial pyramid pooling,空洞空间卷积池化金字塔),ASPP可以在提高特征的感受野的同时,不增加模型的计算量本实施例中,在第一个特征提取模块之前增加Focus层,Focus层用于将输入的表面图像复制四份,并通过切片操作对表面图像进行切片,使用张量拼接从深度上连接这四个切片,再通过卷积层进行卷积,将卷积结果输入到第一个特征提取模块中。
[0120] 示例的,请参考图5,为本申请实施例提供的一种BottleneckCSP的结构示意图,如图5所示,其中,由CBM、CBM和Add(Addlayer,加法层)构成的Resunit为残差网络,concat为张量拼接,FRelu为Funnel激活函数。请参考图6,为本申请实施例提供的一种ASPP的结构示意图,ASPP包括一个1*1大小的卷积层、3个膨胀系数rate不同的3*3大小的卷积层以及一个ASPP Polling层,其中包括自适应均值池化maxpool、卷积层conv和上采样upsample,以及对这五层输出进行张量拼接的concat层。
[0121] 多个特征融合模块采用张量拼接concat对相邻两种尺寸的特征图进行特征融合,其中,第一个特征融合模块用于对第一个特征检测模输出的特征图和上采样后的第二个特征融合模块输出的特征图进行张量拼接,如图4所示,对CBM2输出的80*80的特征图经过concat2、BottleneckCSP6、CBF1和上采样Nn.convtransose2d1后输出的160*160的特征图与CBM1输出的160*160的特征图采用concat1进行融合,通过conv1输出在尺寸160*160的特征图下检测到表面缺陷图像的类别和坐标框。尺寸160*160的特征图中可以检测出尺寸小于20*20的表面缺陷。
[0122] 第二个特征融合模块用于对第二个特征检测模输出的特征图和上采样后的第三个特征融合模块输出的特征图进行张量拼接,如图4所示,对CBM3输出的特征图经过concat5、CF_3、CBF3和上采样Nn.convtransose2d2后输出的80*80的特征图与CBM2输出的80*80的特征图采用concat2进行融合,通过conv2输出在尺寸80*80的特征图下检测到表面缺陷图像的类别和坐标框。
[0123] 第三个特征融合模块用于对第三个特征检测模输出的特征图和第二个特征融合模块融合后的特征图进行张量拼接,如图4所示,对CBM3输出的特征图经过concat5、CF_3和CBF3输出的40*40的特征图与concat2输出的80*80的特征图经过BottleneckCSP6、CBF2后输出的40*40的特征图采用concat3进行融合,通过conv3输出在尺寸40*40的特征图下检测到表面缺陷图像的类别和坐标框。
[0124] 第四个特征融合模块用于对第四个特征检测模输出的特征图和第三个特征融合模块融合后的特征图进行张量拼接,如图4所示,对BottleneckCSP4输出的特征图经过CBF5输出的20*20的特征图与concat3输出的40*40的特征图经过BottleneckCSP7、CBF4后输出的20*20的特征图采用concat4进行融合,通过conv4输出在尺寸20*20的特征图下检测到表面缺陷图像的类别和坐标框。其中,CBF与CBM相比,将激活函数替换为FRelu,上采样Nn.convtransose2d可以采用转置卷积,在上采样时可以更好的学习模型权重和缺陷特征,提高模型的准确率。
[0125] 在上述实施例的基础上,本申请实施例还提供再一种表面缺陷检测模型的训练方法。
[0126] 请参考图7,为本申请实施例提供的再一种表面缺陷检测模型的训练方法的流程示意图,如图7所示,上述S17包括:
[0127] S172:根据第一优化器,采用样本图像集对预设网络模型训练第一预设次数,得到预设工件的初始模型。
[0128] 本实施例中,在模型训练过程中,采用样本图像集对预设网络模型进行第一预设次数的训练,在训练过程中,根据预设网络模型的输出结果,采用第一优化器计算损失函数,以根据该损失函数调整预设网络模型的参数,得到预设工件的初始模型。示例的,第一优化器可以为adamw优化器,adamW优化器可向损失函数添加由模型所有权重的平方和组成的惩罚项,并乘上特定的超参数以控制惩罚力度,第一预设次数可以为80轮。
[0129] S173:根据第二优化器,采用样本图像集对初始模型训练第二预设次数,得到预设工件的表面缺陷检测模型。
[0130] 本实施例中,在采用第一优化器对预设网络模型训练第一预设次数得到初始模型后,采用样本图像集对初始模型进行第二预设次数的训练,在训练过程中,根据初始模型的输出结果,采用第二优化器计算损失函数,以根据该损失函数调整初始模型的参数,得到预设工件的表面缺陷检测模型。示例的,第二优化器可以为SGD(Stochastic gradient descent,随机梯度下降)优化器,SGD优化器可以让其损失函数收敛到最低,第二预设次数可以为20轮。
[0131] 本申请实施例提供的表面缺陷检测模型的训练方法,根据第一优化器,采用样本图像集对预设网络模型训练第一预设次数,得到预设工件的初始模型,根据第二优化器,采用样本图像集对初始模型训练第二预设次数,得到预设工件的表面缺陷检测模型。本实施例采用第一优化器和第二优化器共同训练模型,可以表面缺陷检测模型的检测精度。
[0132] 在上述实施例的基础上,本申请实施例还提供一种表面缺陷检测方法。请参考图8,为本申请实施例提供的又另一种表面缺陷检测方法的流程示意图,如图8所示,该方法包括:
[0133] S21:获取预设工件的表面图像。
[0134] 本实施例中,在预设工件制造过程中或者在预设工件制造完成后,对预设工件的表面进行拍照,以获取预设工件的表面图像。
[0135] S22:根据预设工件的表面缺陷检测模型,对表面图像进行处理,得到表面图像的第一缺陷检测结果。
[0136] 本实施例中,采用前述训练方法得到的表面缺陷检测模型对预设工件的表面图像进行处理,以输出第一缺陷检测结果,第一缺陷检测结果包括:表面图像对应多种表面缺陷的检测分值。
[0137] S23:根据多种表面缺陷的检测分值,以及多种表面缺陷对应的预设检测阈值,得到预设工件的第二缺陷检测结果。
[0138] 本实施例中,不同的表面缺陷预先配置的预设检测阈值不同,根据预设配置的多种表面缺陷对应的预设检测阈值,对多种表面缺陷的检测分值进行判断,若检测分值小于对应的预设检测阈值,则表示该预设工件的表面图像中不存在对应的表面缺陷,若检测分值大于或等于对应的预设检测阈值,则表示该预设工件的表面图像中不存在对应的表面缺陷,将多种表面缺陷的判断结果共同沟通第二检测结果,第二缺陷检测结果包括:预设工件上是否存在对应的表面缺陷的指示信息。若存在对应的表面缺陷,则输出该表面缺陷的类别和坐标框。示例的,凹点的预设检测阈值可以为0.5,未砂全的预设检测阈值可以为0.3。
[0139] 在一种可选实施方式中,第一缺陷检测结果还包括:多种表面缺陷的检测框,该方法还包括:
[0140] 若在预设工件上存在目标表面缺陷,则在表面图像上目标表面缺陷的检测框所在的位置对目标表面缺陷进行标记;第二缺陷检测结果还包括:标记有目标表面缺陷的表面图像。
[0141] 本实施例中,若采用表面缺陷检测模块检测出预设工件中存在目标表面缺陷,则根据表面缺陷的检测框,在表面图像上标记出目标表面缺陷,以便输出标记有目标表面缺陷的表面图像,使得生产人员可以根据标记的目标表面缺陷对预设工件进行检查。
[0142] 本申请实施例提供的表面缺陷检测方法,通过获取预设工件的表面图像,根据预设工件的表面缺陷检测模型,对表面图像进行处理,得到表面图像的第一缺陷检测结果,根据多种表面缺陷的检测分值,以及多种表面缺陷对应的预设检测阈值,得到预设工件的第二缺陷检测结果。本申请实施例可以准确检测出预设工件表面的缺陷类别和位置。
[0143] 在上述实施例的基础上,本申请实施例还提供一种表面缺陷检测模型的训练装置。请参考图9,为本申请实施例提供的一种表面缺陷检测模型的训练装置的结构示意图,如图9所示,该装置包括:
[0144] 样本图像获取模块11,用于获取预设工件的多组样本图像,每组样本图像中各样本图像上标注有一类表面缺陷;
[0145] 图像区域裁剪模块13,用于对每组样本图像中各样本图像上的表面缺陷所在的区域进行剪裁,得到一类表面缺陷图像;
[0146] 缺陷图像粘贴模块15,用于将多类表面缺陷图像随机粘贴至多组样本图像中,得到样本图像集;
[0147] 检测模型训练模块17,用于采用样本图像集进行模型训练,得到预设工件的表面缺陷检测模型,表面缺陷检测模型用于对预设工件的表面图像进行处理,得到表面图像对应多种表面缺陷的检测分值,以确定预设工件的表面是否存在对应的表面缺陷。
[0148] 可选的,该装置还包括:
[0149] 图像缩放处理模块,用于对多类表面缺陷图像进行缩放处理;
[0150] 缺陷图像粘贴模块15,具体用于将缩放处理前后的多类表面缺陷图像随机粘贴至多组样本图像中,得到样本图像集。
[0151] 可选的,该装置还包括:
[0152] 缺陷图像复制模块,用于对多类表面缺陷图像进行复制,使得复制后的多类表面缺陷图像的数量达到对应的目标阈值。
[0153] 可选的,该装置还包括:
[0154] 样本图像数据增强模块,用于对样本图像集进行数据增强;
[0155] 检测模型训练模块17,具体用于采用数据增强后的样本图像集进行模型训练,得到预设工件的表面缺陷检测模型。
[0156] 可选的,表面缺陷检测模型包括:多个特征提取模块、多个特征融合模块,以及预测模块;多个特征提取模块用于分别提取多个不同尺寸的特征图,其中,前一个特征提取模块连接后一个特征提取模块,第一个特征提取模块用于接收输入的表面图像;
[0157] 每个特征融合模块连接两个特征提取模块,以对相邻两种尺寸的特征图进行特征融合,多个特征融合连接预测模块,预测模块用以对融合后的特征图进行处理,得到表面图像的缺陷检测结果。
[0158] 可选的,检测模型训练模块17,包括:
[0159] 第一训练单元,用于根据第一优化器,采用样本图像集对预设网络模型训练第一预设次数,得到预设工件的初始模型;
[0160] 第二训练单元,用于根据第二优化器,采用样本图像集对初始模型训练第二预设次数,得到预设工件的表面缺陷检测模型。
[0161] 在上述实施例的基础上,本申请实施例还提供一种表面缺陷检测装置。请参考图10,为本申请实施例提供的一种表面缺陷检测装置的结构示意图,如图10所示,该装置包括:
[0162] 表面图像获取模块21,用于获取预设工件的表面图像;
[0163] 第一检测结果获取模块22,用于根据预设工件的表面缺陷检测模型,对表面图像进行处理,得到表面图像的第一缺陷检测结果,第一缺陷检测结果包括:表面图像对应多种表面缺陷的检测分值,表面缺陷检测模型为采样上述实施例任一训练方法得到的;
[0164] 第二检测结果获取模块23,用于根据多种表面缺陷的检测分值,以及多种表面缺陷对应的预设检测阈值,得到预设工件的第二缺陷检测结果,第二缺陷检测结果包括:预设工件上是否存在对应的表面缺陷的指示信息。
[0165] 可选的,第一缺陷检测结果还包括:多种表面缺陷的检测框;该装置还包括:
[0166] 缺陷标记模块,用于若在预设工件上存在目标表面缺陷,则在表面图像上目标表面缺陷的检测框所在的位置对目标表面缺陷进行标记;第二缺陷检测结果还包括:标记有目标表面缺陷的表面图像。
[0167] 上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
[0168] 以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system‑on‑a‑chip,简称SOC)的形式实现。
[0169] 请参考图11,为本申请实施例提供的计算机设备的示意图,该计算机设备100包括:处理器101、存储介质102和总线,存储介质102存储有处理器101可执行的程序指令,当计算机设备100运行时,处理器101与存储介质102之间通过总线通信,处理器101执行程序指令,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
[0170] 可选地,本发明还提供一种计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行时用于执行上述方法实施例。
[0171] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0172] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0173] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0174] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read‑Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0175] 上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。