一种基于深度学习的金属凹陷结构缺陷检测方法及装置转让专利

申请号 : CN202311641692.3

文献号 : CN117351010B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张正涛梁钦张武杰沈飞张峰杨化彬孔志营

申请人 : 中科慧远视觉技术(洛阳)有限公司

摘要 :

本公开提供了一种基于深度学习的金属凹陷结构缺陷检测方法及装置,所述方法包括:利用相机获取待检测产品的产品图像中的第一目标区域图像;基于第一目标区域图像,提取待检测产品的多个第二目标区域图像;提取各个第二目标区域图像的第二图像特征;计算各个第二图像特征与无缺陷产品对应的第一图像特征之间的相似度;如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定待检测产品为有缺陷产品。该方法提高了缺陷检测准确度。

权利要求 :

1.一种基于深度学习的金属凹陷结构缺陷检测方法,其特征在于,所述方法包括:利用相机获取待检测产品的产品图像中的第一目标区域图像,其中,待检测产品为存在凹陷结构的金属产品,所述第一目标区域图像为包含产品图像的前景目标的图像,所述前景目标为包含凹陷结构的目标;

基于所述第一目标区域图像,提取所述待检测产品的多个第二目标区域图像,其中,每个所述第二目标区域图像包含所述待检测产品的一个凹陷结构区域;

提取各个所述第二目标区域图像的第二图像特征;

计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的相似度;

如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定所述待检测产品为有缺陷产品;或者,如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定该相似度对应的第二目标区域图像;

基于该相似度对应的第二目标区域图像定位存在缺陷的凹陷结构区域位置,作为产品缺陷位置;其中,所述确定该相似度对应的第二目标区域图像,包括:根据各个相似度与对应的第二目标区域图像的标识,确定出该相似度对应的第二目标区域图像,所述标识为各个凹陷结构区域的编号;

其中,所述利用相机获取待检测产品的产品图像中的第一目标区域图像,包括:采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像,其中,所述前景分割模型为基于样本产品图像和所述样本产品图像中标注的目标区域对待训练模型进行训练得到的,所述待检测产品的产品图像为利用相机采集得到的图像;

所述基于所述第一目标区域图像,提取所述待检测产品的多个第二目标区域图像,包括:对所述第一目标区域图像进行凸包处理,得到对应的凸包图像,所述凸包图像中包含所有的前景目标;

对所述凸包图像进行腐蚀处理,得到腐蚀后的图像;

采用所述凸包图像减去所述腐蚀后的图像,得到边缘区域图像;

将所述边缘区域图像和所述第一目标区域图像进行叠加处理,得到前景边缘区域图像;

对所述前景边缘区域图像和产品图像进行叠加处理,得到所述待检测产品的目标前景区域图像;

确定所述目标前景区域图像中各个前景目标所在的子区域;

针对每个所述子区域,以该子区域的中心为图像中心截取预设尺寸的图像,作为所述待检测产品的第二目标区域图像。

2.根据权利要求1所述的基于深度学习的金属凹陷结构缺陷检测方法,其特征在于,所述提取各个所述第二目标区域图像的第二图像特征,包括:采用预先训练的特征提取模型,提取各个所述第二目标区域图像的第二图像特征。

3.根据权利要求1所述的基于深度学习的金属凹陷结构缺陷检测方法,其特征在于,所述计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的相似度,包括:计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离;

将所述马氏距离转换为相似度。

4.根据权利要求3所述的基于深度学习的金属凹陷结构缺陷检测方法,其特征在于,所述方法还包括:获取多个无缺陷产品图像;

提取各个所述无缺陷产品图像的第三目标区域图像,其中,每个所述第三目标区域图像包含无缺陷产品的一个凹陷结构区域;

提取各个所述第三目标区域图像的第一图像特征;

计算各个所述第一图像特征的均值向量和协方差矩阵。

5.根据权利要求4所述的基于深度学习的金属凹陷结构缺陷检测方法,其特征在于,所述计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离,包括:采用如下公式,计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离:其中, 表示所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离,表示所述第二图像特征,表示的所述第一图像特征对应的均值向量,表示所述第一图像特征对应的协方差矩阵,T为转置运算。

6.一种基于深度学习的金属凹陷结构缺陷检测装置,其特征在于,所述装置包括:第一区域图像确定模块,用于利用相机获取待检测产品的产品图像中的第一目标区域图像,其中,待检测产品为存在凹陷结构的金属产品,所述第一目标区域图像为包含产品图像的前景目标的图像,前景目标为包含凹陷结构的目标;

第二区域图像提取模块,用于基于所述第一目标区域图像,提取所述待检测产品的多个第二目标区域图像,其中,每个所述第二目标区域图像包含所述待检测产品的一个凹陷结构区域;

特征提取模块,用于提取各个所述第二目标区域图像的第二图像特征;

相似度计算模块,用于计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的相似度;

缺陷检测模块,用于如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定所述待检测产品为有缺陷产品;或者,如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定该相似度对应的第二目标区域图像;基于该相似度对应的第二目标区域图像定位存在缺陷的凹陷结构区域位置,作为产品缺陷位置;其中,所述确定该相似度对应的第二目标区域图像,包括:根据各个相似度与对应的第二目标区域图像的标识,确定出该相似度对应的第二目标区域图像,所述标识为各个凹陷结构区域的编号;

其中,所述第一区域图像确定模块,具体用于采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像,其中,所述前景分割模型为基于样本产品图像和所述样本产品图像中标注的目标区域对待训练模型进行训练得到的,所述待检测产品的产品图像为利用相机采集得到的图像;

所述第二区域图像提取模块,具体用于对所述第一目标区域图像进行凸包处理,得到对应的凸包图像,所述凸包图像中包含所有的前景目标;对所述凸包图像进行腐蚀处理,得到腐蚀后的图像;采用所述凸包图像减去所述腐蚀后的图像,得到边缘区域图像;将所述边缘区域图像和所述第一目标区域图像进行叠加处理,得到前景边缘区域图像;对所述前景边缘区域图像和产品图像进行叠加处理,得到所述待检测产品的目标前景区域图像;确定所述目标前景区域图像中各个前景目标所在的子区域;针对每个所述子区域,以该子区域的中心为图像中心截取预设尺寸的图像,作为所述待检测产品的第二目标区域图像。

说明书 :

一种基于深度学习的金属凹陷结构缺陷检测方法及装置

技术领域

[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] 其中, 表示所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离, 表示所述第二图像特征,表示的所述第一图像特征对应的均值向量,表示所述第一图像特征对应的协方差矩阵,T为转置运算。
[0042] 在一可实施方式中,所述方法还包括:
[0043] 如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定该相似度对应的第二目标区域图像;
[0044] 基于该相似度对应的第二目标区域图像定位存在缺陷的凹陷结构区域位置,作为产品缺陷位置;
[0045] 其中,所述确定该相似度对应的第二目标区域图像,包括:
[0046] 根据各个相似度与对应的第二目标区域图像的标识,确定出该相似度对应的第二目标区域图像,所述标识为各个凹陷结构区域的编号。
[0047] 根据本公开的第二方面,提供了一种基于深度学习的金属凹陷结构缺陷检测装置,所述装置包括:
[0048] 第一区域图像确定模块,用于利用相机获取待检测产品的产品图像中的第一目标区域图像,其中,所述待检测产品为存在凹陷结构的金属产品,所述第一目标区域图像为包含产品图像的前景目标的图像,所述前景目标为包含凹陷结构的目标;
[0049] 第二区域图像提取模块,用于基于所述第一目标区域图像,提取所述待检测产品的多个第二目标区域图像,其中,每个所述第二目标区域图像包含所述待检测产品的一个凹陷结构区域;
[0050] 特征提取模块,用于提取各个所述第二目标区域图像的第二图像特征;
[0051] 相似度计算模块,用于计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的相似度;
[0052] 缺陷检测模块,用于如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定所述待检测产品为有缺陷产品;
[0053] 其中,所述第一区域图像确定模块,具体用于采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像,其中,所述前景分割模型为基于样本产品图像和所述样本产品图像中标注的目标区域对待训练模型进行训练得到的,所述待检测产品的产品图像为利用相机采集得到的图像;
[0054] 所述第二区域图像提取模块,具体用于对所述第一目标区域图像进行凸包处理,得到对应的凸包图像,所述凸包图像中包含所有的前景目标;对所述凸包图像进行腐蚀处理,得到腐蚀后的图像;基于所述第一目标区域图像、所述凸包图像和所述腐蚀后的图像,确定所述待检测产品的目标前景区域图像;提取所述目标前景区域图像中各个前景目标对应的区域图像,作为所述待检测产品的第二目标区域图像;
[0055] 所述第二区域图像提取模块,具体用于采用所述凸包图像减去所述腐蚀后的图像,得到边缘区域图像;将所述边缘区域图像和所述第一目标区域图像进行叠加处理,得到前景边缘区域图像;对所述前景边缘区域图像和产品图像进行叠加处理,得到所述待检测产品的目标前景区域图像;
[0056] 所述第二区域图像提取模块,具体用于确定所述目标前景区域图像中各个前景目标所在的子区域;针对每个所述子区域,以该子区域的中心为图像中心截取预设尺寸的图像,作为所述待检测产品的第二目标区域图像;
[0057] 所述特征提取模块,具体用于采用预先训练的特征提取模型,提取各个所述第二目标区域图像的第二图像特征;
[0058] 所述相似度计算模块,具体用于计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离;将所述马氏距离转换为相似度。
[0059] 根据本公开的第三方面,提供了一种电子设备,包括:
[0060] 至少一个处理器;以及
[0061] 与所述至少一个处理器通信连接的存储器;其中,
[0062] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。
[0063] 根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开所述的方法。
[0064] 本公开的缺陷检测方法、装置、设备及存储介质,确定待检测产品的产品图像中的第一目标区域图像,待检测产品为存在凹陷结构的金属产品,第一目标区域图像为包含产品图像的前景目标的图像,前景目标为包含凹陷结构的目标;基于第一目标区域图像,提取待检测产品的多个第二目标区域图像,每个第二目标区域图像包含待检测产品的一个凹陷结构区域;提取各个第二目标区域图像的第二图像特征;计算各个第二图像特征与无缺陷产品对应的第一图像特征之间的相似度;如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定待检测产品为有缺陷产品;利用相机获取待检测产品的产品图像中的第一目标区域图像,包括:采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像,前景分割模型为基于样本产品图像和样本产品图像中标注的目标区域对待训练模型进行训练得到的,待检测产品的产品图像为利用相机采集得到的图像。即本公开针对存在凹陷结构的待检测产品,通过对待检测产品的产品图像提取包含前景目标的图像,利用包含前景目标的图像的特征进行缺陷检测,不仅减少了背景信息的干扰,提高了缺陷检测准确度,还能够适应复杂多变的产品缺陷形态。
[0065] 应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

[0066] 通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
[0067] 在附图中,相同或对应的标号表示相同或对应的部分。
[0068] 图1示出了本公开实施例提供的基于深度学习的金属凹陷结构缺陷检测方法的一种流程示意图;
[0069] 图2示出了本公开实施例提供的待检测产品的一种产品图像;
[0070] 图3示出了本公开实施例提供的一种第二目标区域图像流程示意图;
[0071] 图4示出了本公开实施例提供的凸包图像构建示意图;
[0072] 图5示出了本公开实施例提供的目标前景区域图像构建示意图;
[0073] 图6示出了本公开实施例提供的无缺陷产品对应的第一图像特征的确定流程示意图;
[0074] 图7示出了本公开实施例提供的基于深度学习的金属凹陷结构缺陷检测装置的一种结构内示意图;
[0075] 图8示出了本公开实施例提供的一种电子设备的组成结构示意图。

具体实施方式

[0076] 为使本公开的目的、特征、优点能够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0077] 由于现有的有监督模型在进行缺陷检测时很难收集到足够的缺陷样本进行标注,这导致有监督模型缺陷检测方法实用性较低。而现有的无监督模型在进行缺陷检测时通常需要将整张缺陷图像输入到无监督模型中进行缺陷判断,而整张缺陷图像中包含了很多无效的干扰信息,导致缺陷检测的检测准确度降低。因此,为了在保证缺陷检测准确度的前提下,适应复杂多变的产品缺陷形态进行产品缺陷检测,本公开提供了一种基于深度学习的金属凹陷结构缺陷检测方法、基于深度学习的金属凹陷结构缺陷检测装置、电子设备及存储介质。本公开提供的缺陷检测方法可以应用于任何可以进行图像处理的电子设备,包括不限于电脑、手机和平板电脑等。
[0078] 下面将结合本公开实施例中的附图,对本公开实施例的技术方案进行描述。
[0079] 图1示出了本公开实施例提供的基于深度学习的金属凹陷结构缺陷检测方法的一种流程示意图,如图1所示,所述方法包括:
[0080] S101,利用相机获取待检测产品的产品图像中的第一目标区域图像。
[0081] 其中,所述待检测产品为存在凹陷结构的金属产品,所述第一目标区域图像为包含产品图像的前景目标的图像,所述前景目标可以为包含所述凹陷结构的目标,所述前景目标也可以为待检测产品的凹陷结构。所述第一目标区域图像可以包含产品图像的所有前景目标。待检测产品的产品图像为利用相机采集得到的图像。
[0082] 例如,图2示出了本公开实施例提供的待检测产品的一种产品图像,如图2所示,产品图像210中包括待检测产品的第一凹陷结构201、第二凹陷结构202、第三凹陷结构203、第四凹陷结构204和第五凹陷结构205五个凹陷结构对应的区域图像。
[0083] 本公开中,第一目标区域图像为待检测产品的产品图像中可能出现缺陷的区域的二值图像,其中,二值图像中值为1的像素点代表前景目标,值为0的像素点代表背景区域。
[0084] 在一种可能的实施方式中,所述利用相机获取待检测产品的产品图像中的第一目标区域图像,可以包括步骤A1:
[0085] 步骤A1,采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像。
[0086] 其中,所述前景分割模型为基于样本产品图像和所述样本产品图像中标注的目标区域对待训练模型进行训练得到的。
[0087] 样本产品图像包括有缺陷的产品图像和无缺陷的产品图像。所述样本产品图像中标注的目标区域是指样本产品的凹陷结构区域。
[0088] 本公开中,可以将样本产品图像输入待训练模型,得到样本产品的前景区域的预分割图像,然后根据预分割图像与样本产品图像中标注的目标区域计算损失函数,当损失函数收敛时确定待训练模型为前景分割模型。其中,损失函数可以采用对数损失函数或者指数损失函数等。
[0089] 本公开中,可以采用图像采集装置采集待检测产品表面的图像,图像采集装置可以为摄像机和手机相机等。
[0090] S102,基于所述第一目标区域图像,提取所述待检测产品的多个第二目标区域图像。
[0091] 其中,每个所述第二目标区域图像包含所述待检测产品的一个凹陷结构区域。
[0092] S103,提取各个所述第二目标区域图像的第二图像特征。
[0093] 本公开中,所述提取各个所述第二目标区域图像的第二图像特征,可以包括:采用预先训练的特征提取模型,提取各个所述第二目标区域图像的第二图像特征。其中,特征提取模型可以为Resnet‑18模型,特征提取模型可以为根据多个样本图像和样本图像对应的特征对待训练的Resnet‑18模型进行训练得到的。样本图像可以包括有缺陷的产品图像和无缺陷的产品图像。
[0094] S104,计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的相似度。
[0095] S105,如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定所述待检测产品为有缺陷产品。
[0096] 采用该方法,确定待检测产品的产品图像中的第一目标区域图像,待检测产品为存在凹陷结构的产品,第一目标区域图像为包含产品图像的前景目标的图像,前景目标为包含凹陷结构的目标;基于第一目标区域图像,提取待检测产品的多个第二目标区域图像,每个第二目标区域图像包含待检测产品的一个凹陷结构区域;提取各个第二目标区域图像的第二图像特征;计算各个第二图像特征与无缺陷产品对应的第一图像特征之间的相似度;如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定待检测产品为有缺陷产品;利用相机获取待检测产品的产品图像中的第一目标区域图像,包括:采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像,前景分割模型为基于样本产品图像和样本产品图像中标注的目标区域对待训练模型进行训练得到的,待检测产品的产品图像为利用相机采集得到的图像。即本公开针对带有凹陷结构的待检测产品,通过对待检测产品的产品图像提取包含前景目标的图像,利用包含前景目标的图像的特征进行缺陷检测,不仅减少了背景信息的干扰,提高了缺陷检测准确度,还能够适应复杂多变的产品缺陷形态。
[0097] 在一种可实施方式中,图3示出了本公开实施例提供的一种第二目标区域图像流程示意图,如图3所示,所述基于所述第一目标区域图像,提取所述待检测产品的多个第二目标区域图像,可以包括:
[0098] S301,对所述第一目标区域图像进行凸包处理,得到对应的凸包图像,所述凸包图像中包含所有的前景目标。
[0099] 在一种可能的实施方式中,可以通过调用opencv(Open Source Computer Vision Library,跨平台的开源计算机视觉和机器学习软件库)中的convexHull(凸包函数)函数针对第一目标区域图像进行凸包处理,构建出包含所有的前景目标的凸包图像。
[0100] 例如,图4示出了本公开实施例提供的凸包图像构建示意图,如图4所示,图4(a)为待检测产品的产品图像;图4(b)为基于待检测产品的产品图像所提取的第一目标区域图像,如图4所示,图4(b)包括的五个凹陷结构区域为前景目标,其余为背景区域,五个凹陷结构区域即待检测产品的凹陷结构;图4(c)为对第一目标区域图像进行凸包处理后得到的凸包图像C0。
[0101] S302,对所述凸包图像进行腐蚀处理,得到腐蚀后的图像。
[0102] 腐蚀后的图像可以用图像C1表示,对凸包图像进行腐蚀处理得到的腐蚀后的图像C1的形态与凸包图像的形态基本相同但整体会缩小。
[0103] S303,基于所述第一目标区域图像、所述凸包图像和所述腐蚀后的图像,确定所述待检测产品的目标前景区域图像。
[0104] 在一种可能的实施方式中,所述基于所述第一目标区域图像、所述凸包图像和所述腐蚀后的图像,确定所述待检测产品的目标前景区域图像,可以包括步骤B1‑B3:
[0105] 步骤B1,采用所述凸包图像减去所述腐蚀后的图像,得到边缘区域图像。
[0106] 采用所述凸包图像减去所述腐蚀后的图像,可以得到前景目标的最外圈区域的图像,即边缘区域图像。前景目标的最外圈区域是最有可能出现产品缺陷的区域。
[0107] 步骤B2,将所述边缘区域图像和所述第一目标区域图像进行叠加处理,得到前景边缘区域图像。
[0108] 具体的,可以采用如下公式将所述边缘区域图像和所述第一目标区域图像进行叠加处理,得到前景边缘区域图像:
[0109]
[0110] 其中,CR是指前景边缘区域图像,C0是指凸包图像,C1是指腐蚀后的图像,M是指第一目标区域图像。
[0111] 通过步骤B1,采用所述凸包图像减去所述腐蚀后的图像得到前景目标的最外圈区域的边缘区域图像,然后将边缘区域图像和第一目标区域图像进行叠加处理得到前景边缘区域图像,使得可以对最有可能出现产品缺陷的区域图像进行缺陷检测处理,极大减少了背景区域对缺陷检测的干扰。
[0112] 步骤B3,对所述前景边缘区域图像和产品图像进行叠加处理,得到所述待检测产品的目标前景区域图像。
[0113] 具体的,可以采用如下公式对所述前景边缘区域图像和产品图像进行叠加处理,得到所述待检测产品的目标前景区域图像:
[0114]
[0115] 其中,xR为待检测产品的目标前景区域图像,xR中仅保留了可能出现缺陷的部分前景区域,x是指待检测产品的产品图像,CR是指前景边缘区域图像。
[0116] 例如,图5示出了本公开实施例提供的目标前景区域图像构建示意图,如图5所示,图5(a)为凸包图像;图5(b)为凸包图像、腐蚀后的图像和产品图像的叠加图像(即前景边缘区域图像),图5(c)为对前景边缘区域图像和产品图像进行叠加处理得到的待检测产品的目标前景区域图像xR。
[0117] S304,提取所述目标前景区域图像中各个前景目标对应的区域图像,作为所述待检测产品的第二目标区域图像。
[0118] 在一种可能的实施方式中,所述提取所述目标前景区域图像中各个前景目标对应的区域图像,作为所述待检测产品的第二目标区域图像,可以包括步骤C1‑C2:
[0119] 步骤C1,确定所述目标前景区域图像中各个前景目标所在的子区域。
[0120] 本公开中,可以将每个前景目标所在的区域确定为子区域。如图5(c)所示,图5(c)中包括的五个凹陷结构即五个前景目标,可以将每个凹陷结构所在的图像区域确定为子区域。
[0121] 步骤C2,针对每个所述子区域,以该子区域的中心为图像中心截取预设尺寸的图像,作为所述待检测产品的第二目标区域图像。
[0122] 其中,预设尺寸可以根据实际应用场景进行设定,例如,可以设定64x64的图像尺寸作为预设尺寸。
[0123] 在一种可能的实施方式中,图6示出了本公开实施例提供的无缺陷产品对应的第一图像特征的确定流程示意图,如图6所示,所述方法包括:
[0124] S601,获取多个无缺陷产品图像。
[0125] 本公开中,可以收集多个无缺陷产品的图像作为无缺陷产品图像。无缺陷产品图像中包括多个凹陷结构区域作为前景目标,其余部分为背景区域。各个前景目标可以以无缺陷产品图像的中心点为中心进行任意角度的旋转。并且,还可以对收集的无缺陷产品图像进行前景目标标注处理。
[0126] S602,提取各个所述无缺陷产品图像的第三目标区域图像。
[0127] 其中,每个所述第三目标区域图像包含无缺陷产品的一个凹陷结构区域。
[0128] 本公开中,采用预先训练的前景分割模型对无缺陷产品图像进行分割处理,得到分割图像。分割图像为无缺陷产品的无缺陷产品图像中包含凹陷结构的区域的二值图像,其中,二值图像中值为1的像素点代表前景目标,值为0的像素点代表背景区域。
[0129] 可以对分割图像进行凸包处理,得到对应的目标凸包图像,目标凸包图像中包含所有的前景目标;然后对目标凸包图像进行腐蚀处理,得到腐蚀后图像;然后采用目标凸包图像减去腐蚀后图像,得到目标边缘区域图像;然后将目标边缘区域图像和分割图像进行叠加处理,得到目标前景边缘区域图像;然后对目标前景边缘区域图像和无缺陷产品图像进行叠加处理,得到无缺陷产品的第一目标前景区域图像。然后提取第一目标前景区域图像中各个前景目标对应的区域图像,作为第三目标区域图像。
[0130] S603,提取各个所述第三目标区域图像的第一图像特征,
[0131] 然后针对每个第三目标区域图像采用预先训练的无监督特征提取模型,提取该第三目标区域图像的特征,作为该第三目标区域图像的第一图像特征。
[0132] 其中,无监督特征提取模型可以为Resnet‑18模型,无监督特征提取模型可以为根据多个样本图像和样本图像对应的特征对待训练的Resnet‑18模型进行训练得到的。
[0133] S604,计算各个所述第一图像特征的均值向量和协方差矩阵。
[0134] 将各个所述第一图像特征的均值向量和协方差矩阵确定为无缺陷产品对应的特征。
[0135] 在一种可能的实施方式中,所述计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的相似度,可以包括步骤D1‑D2:
[0136] 步骤D1,计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离。
[0137] 待检测产品中的凹陷结构可以有多个,每个凹陷结构可以对应一个第二图像特征。例如,如图2所示,产品图像210中包括了待检测产品五个凹陷结构:第一凹陷结构201、第二凹陷结构202、第三凹陷结构203、第四凹陷结构204和第五凹陷结构205,每个凹陷结构分别对应一个第二图像特征。
[0138] 针对每个第二图像特征,可以计算该第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离。
[0139] 具体的,可以采用如下公式,计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离:
[0140]
[0141] 其中, 表示所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离, 表示所述第二图像特征,表示的所述第一图像特征对应的均值向量,表示所述第一图像特征对应的协方差矩阵,T为转置运算。
[0142] 步骤D2,将所述马氏距离转换为相似度。
[0143] 具体的,可以将马氏距离的倒数确定为相似度。
[0144] 在一种可能的实施方式中,所述方法还包括步骤E1‑E2:
[0145] 步骤E1,如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定该相似度对应的第二目标区域图像。
[0146] 其中,预设相似度阈值可以根据实际应用场景进行设置,此处不做具体限定。
[0147] 步骤E2,基于该相似度对应的第二目标区域图像定位存在缺陷的凹陷结构区域位置,作为产品缺陷位置。
[0148] 具体的,可以根据各个相似度与对应的第二目标区域图像的标识,确定出该相似度对应的第二目标区域图像,然后根据该第二目标区域图像定位存在缺陷的凹陷结构区域位置,作为产品缺陷位置。所述标识为各个凹陷结构区域的编号。
[0149] 如图2所示,第一凹陷结构201‑第五凹陷结构205均设置有对应的编号,每个编号可以作为该凹陷结构以及包含该凹陷结构区域图像特征的第二图像特征的标识,当确定出存在某个第二图像特征与无缺陷产品对应的第一图像特征之间的相似度小于预设相似度阈值,则可以根据该标识定位到是该凹陷结构所在的位置有缺陷。
[0150] 在另一种可能的实施方式中,可以通过计算出的各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离,确定待检测产品是否有缺陷。具体的,当存在第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离大于预设距离阈值时,确定待检测产品有缺陷,其中预设距离阈值可以根据实际应用场景进行设置,此处不做具体限定。并且,还可以根据各个马氏距离度与对应的第二目标区域图像的标识,确定出该马氏距离对应的第二目标区域图像,然后根据该第二目标区域图像定位存在缺陷的凹陷结构区域位置,作为产品缺陷位置。所述标识为各个凹陷结构区域的编号。
[0151] 采用该方法,通过引入额外的前景分割模型与无监督特征提取模型,结合针对图像特征之间的马氏距离的度量,可以减少背景信息的干扰实现缺陷检测并自动定位缺陷所在位置。
[0152] 基于同一发明构思,根据本公开上述实施例提供的缺陷检测方法,相应地,本公开另一实施例还提供了一种基于深度学习的金属凹陷结构缺陷检测装置,其结构示意图如图7所示,具体包括:
[0153] 第一区域图像确定模块701,用于确定待检测产品的产品图像中的第一目标区域图像,其中,所述待检测产品为存在凹陷结构的金属产品,所述第一目标区域图像为包含产品图像的前景目标的图像,所述前景目标为包含所述凹陷结构的目标;
[0154] 第二区域图像提取模块702,用于基于所述第一目标区域图像,提取所述待检测产品的多个第二目标区域图像,其中,每个所述第二目标区域图像包含所述待检测产品的一个凹陷结构区域;
[0155] 特征提取模块703,用于提取各个所述第二目标区域图像的第二图像特征;
[0156] 相似度计算模块704,用于计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的相似度;
[0157] 缺陷检测模块705,用于如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定所述待检测产品为有缺陷产品;
[0158] 其中,所述第一区域图像确定模块701,具体用于采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像,其中,所述前景分割模型为基于样本产品图像和所述样本产品图像中标注的目标区域对待训练模型进行训练得到的,所述待检测产品的产品图像为利用相机采集得到的图像。
[0159] 采用该装置,确定待检测产品的产品图像中的第一目标区域图像,待检测产品为存在凹陷结构的产品,第一目标区域图像为包含产品图像的前景目标的图像,前景目标为包含凹陷结构的目标;基于第一目标区域图像,提取待检测产品的多个第二目标区域图像,每个第二目标区域图像包含待检测产品的一个凹陷结构区域;提取各个第二目标区域图像的第二图像特征;计算各个第二图像特征与无缺陷产品对应的第一图像特征之间的相似度;如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定待检测产品为有缺陷产品;利用相机获取待检测产品的产品图像中的第一目标区域图像,包括:采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像,前景分割模型为基于样本产品图像和样本产品图像中标注的目标区域对待训练模型进行训练得到的,待检测产品的产品图像为利用相机采集得到的图像。即本公开针对带有凹陷结构的待检测产品,通过对待检测产品的产品图像提取包含前景目标的图像,利用包含前景目标的图像的特征进行缺陷检测,不仅减少了背景信息的干扰,提高了缺陷检测准确度,还能够适应复杂多变的产品缺陷形态。
[0160] 在一可实施方式中,所述第一区域图像确定模块701,具体用于采用预先训练的前景分割模型对待检测产品的产品图像进行分割处理,得到第一目标区域图像,其中,所述前景分割模型为基于样本产品图像和所述样本产品图像中标注的目标区域对待训练模型进行训练得到的。
[0161] 在一可实施方式中,所述第二区域图像提取模块702,具体用于对所述第一目标区域图像进行凸包处理,得到对应的凸包图像,所述凸包图像中包含所有的前景目标;对所述凸包图像进行腐蚀处理,得到腐蚀后的图像;基于所述第一目标区域图像、所述凸包图像和所述腐蚀后的图像,确定所述待检测产品的目标前景区域图像;提取所述目标前景区域图像中各个前景目标对应的区域图像,作为所述待检测产品的第二目标区域图像。
[0162] 在一可实施方式中,所述第二区域图像提取模块702,具体用于采用所述凸包图像减去所述腐蚀后的图像,得到边缘区域图像;将所述边缘区域图像和所述第一目标区域图像进行叠加处理,得到前景边缘区域图像;对所述前景边缘区域图像和产品图像进行叠加处理,得到所述待检测产品的目标前景区域图像。
[0163] 在一可实施方式中,所述第二区域图像提取模块702,具体用于确定所述目标前景区域图像中各个前景目标所在的子区域;针对每个所述子区域,以该子区域的中心为图像中心截取预设尺寸的图像,作为所述待检测产品的第二目标区域图像。
[0164] 在一可实施方式中,所述特征提取模块703,具体用于采用预先训练的特征提取模型,提取各个所述第二目标区域图像的第二图像特征。
[0165] 在一可实施方式中,所述相似度计算模块704,具体用于计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离;将所述马氏距离转换为相似度。
[0166] 在一可实施方式中,所述装置还包括:
[0167] 无缺陷产品特征确定模块(图中未示出),用于获取多个无缺陷产品图像;提取各个所述无缺陷产品图像的第三目标区域图像,其中,每个所述第三目标区域图像包含无缺陷产品的一个凹陷结构区域;提取各个所述第三目标区域图像的第一图像特征;计算各个所述第一图像特征的均值向量和协方差矩阵。
[0168] 在一可实施方式中,所述相似度计算模块704,具体用于采用如下公式,计算各个所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离:
[0169]
[0170] 其中, 表示所述第二图像特征与无缺陷产品对应的第一图像特征之间的马氏距离, 表示所述第二图像特征,表示的所述第一图像特征对应的均值向量,表示所述第一图像特征对应的协方差矩阵,T为转置运算。
[0171] 在一可实施方式中,所述装置还包括:
[0172] 缺陷定位模块(图中未示出),用于如果存在所述第二图像特征与所述第一图像特征之间的相似度小于预设相似度阈值,确定该相似度对应的第二目标区域图像;基于该相似度对应的第二目标区域图像定位存在缺陷的凹陷结构区域位置,作为产品缺陷位置。
[0173] 在一可实施方式中,所述缺陷定位模块,具体用于根据各个相似度与对应的第二目标区域图像的标识,确定出该相似度对应的第二目标区域图像,所述标识为各个凹陷结构区域的编号。
[0174] 采用该装置,通过引入额外的前景分割模型与无监督特征提取模型,结合针对图像特征之间的马氏距离的度量,可以减少背景信息的干扰实现缺陷检测并自动定位缺陷所在位置。
[0175] 根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
[0176] 图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0177] 如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口
805也连接至总线804。
[0178] 电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0179] 计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如缺陷检测方法。例如,在一些实施例中,缺陷检测方法可被实现为计算机软件程序,其被有形地包含于可读存储介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的缺陷检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行缺陷检测方法。
[0180] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0181] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0182] 在本公开的上下文中,可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。可读存储介质可以是机器可读信号介质或机器可读储存介质。可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0183] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0184] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0185] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0186] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0187] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0188] 以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。