一种基于语义分割模型缺陷检测方法、装置、介质及设备转让专利

申请号 : CN202010553746.0

文献号 : CN111462120B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梅爽宋瑞超赵青

申请人 : 熵智科技(深圳)有限公司

摘要 :

本发明公开了一种基于语义分割模型的缺陷检测方法,包括:获取待检测工件的图像数据;将图像数据输入至训练完毕的语义分割模型中,获取工件的缺陷预测Label图;语义分割模型包括顺次连接的特征提取网络与特征预测网络;特征提取网络用于缺陷区域发生位置的预测,其包括特征提取层、特征压缩层、特征压平层以及特征分类层;特征预测网络用于对特征提取网络确定的缺陷区域内每个像素点进行分类,对缺陷区域定位与分割后输出工件的缺陷预测Label图;基于缺陷预测Label图进行工件的缺陷检测,可有效降低模型计算量,快速高精度地实现工件缺陷视觉检测。

权利要求 :

1.一种基于语义分割模型的缺陷检测方法,其特征在于,包括如下步骤:

获取待检测工件的图像数据;

将所述图像数据输入至训练完毕的语义分割模型中,获取所述待检测工件的缺陷预测Label图;

所述语义分割模型包括顺次连接的特征提取网络与特征预测网络;

所述特征提取网络用于缺陷区域发生位置的预测,其包括特征提取层、特征压缩层、特征压平层以及特征分类层;根据所述特征提取层对所述图像数据进行特征提取,获取所述图像数据的特征图;根据所述特征压缩层对所述特征图进行压缩并输出所述特征图的特征向量;根据所述特征压平层对所述特征向量进行卷积核分解并输出所述特征图的枚举向量;将所述枚举向量输入至所述特征分类层中以对不同类型的缺陷进行独立预测并获取缺陷区域位置;

所述特征预测网络用于对所述特征提取网络确定的缺陷区域内每个像素点进行分类,对所述缺陷区域定位与分割后输出所述待检测工件的缺陷预测Label图;

所述语义分割模型的训练数据为基于三通道合成的工件缺陷合成图像以及基于点云数据获取的缺陷标注Label图像,所述基于三通道合成的工件的缺陷合成图像的获取包括如下步骤:获取训练用工件的原始工件点云数据;将原始工件点云数据转换为二维深度图;

基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;基于三通道合成所述二维深度图、所述Scale1以及所述Scale2以获取所述缺陷合成图像;

基于所述缺陷预测Label图进行待检测工件的缺陷检测。

2.根据权利要求1所述的一种基于语义分割模型的缺陷检测方法,其特征在于,所述特征提取网络中,所述特征提取层包括多个依次连接的卷积层;所述特征压缩层包括多个交替设置的卷积层与池化层;所述特征压平层包括多个一维卷积层;所述特征分类层包括多个全连接层;

和/或,所述特征预测网络包括依次连接的多个池化层以及一个全连接层。

3.根据权利要求2所述的一种基于语义分割模型的缺陷检测方法,其特征在于,所述特征提取网络中,所述全连接层的数量对应缺陷种类设置。

4.根据权利要求1所述的一种基于语义分割模型的缺陷检测方法,其特征在于,基于Sobel算子获取所述二维深度图对应下的第一梯度图Scale1;

基于Laplace算子获取所述二维深度图对应下的第二梯度图Scale2 。

5.根据权利要求1所述的一种基于语义分割模型的缺陷检测方法,其特征在于,所述缺陷标注Label图像的获取包括如下步骤:获取原始工件点云数据,所述工件为包含指定缺陷种类的工件;

删除所述原始工件点云数据中的缺陷区域点云并另存为新工件点云数据;

对所述新工件点云数据与所述原始工件点云数据进行差值计算,获取工件缺陷区域点云数据;

合并所述工件缺陷区域点云数据与所述新工件点云数据以获取工件缺陷图像数据;

标注所述工件缺陷图像数据以获取对应工件的缺陷标注Label图像。

6.根据权利要求1所述的一种基于语义分割模型的缺陷检测方法,其特征在于,所述待检测工件的图像数据为待检测工件的缺陷合成图像,待检测工件的缺陷合成图像获取包括如下步骤:获取待检测工件的原始工件点云数据;将待检测工件的所述原始工件点云数据转换为二维深度图;基于所述二维深度图分别获取第一梯度图Scale1'与第二梯度图Scale2' ;基于三通道合成所述二维深度图、所述Scale1'、所述Scale2',以获取待检测工件的所述缺陷合成图像。

7.一种基于语义分割模型的缺陷检测装置,其特征在于,包括:

图像数据获取模块,用于获取待检测工件的图像数据;

缺陷预测Label图获取模块,用于将所述图像数据输入至训练完毕的语义分割模型中,获取所述待检测工件的缺陷预测Label图,所述语义分割模型包括顺次连接的特征提取网络与特征预测网络;所述特征提取网络用于缺陷区域发生位置的预测,其包括特征提取层、特征压缩层、特征压平层以及特征分类层;所述特征提取层用于对所述图像数据进行特征提取,获取所述图像数据的特征图;所述特征压缩层用于对所述特征图进行压缩并输出所述特征图的特征向量;所述特征压平层用于对所述特征向量进行卷积核分解并输出所述特征图的枚举向量;所述特征分类层用于对不同类型的缺陷进行独立预测并获取缺陷区域位置;所述特征预测网络用于对所述特征提取网络确定的缺陷区域内每个像素点进行分类,对所述缺陷区域定位与分割后输出所述待检测工件的缺陷预测Label图;所述缺陷预测Label图获取模块还包括训练数据获取子模块,用于获取所述语义分割模型的训练数据,所述训练数据获取子模块包括工件缺陷合成图像获取单元以及缺陷标注Label图像获取单元;工件缺陷合成图像获取单元包括:原始工件点云数据获取子单元,用于获取训练用工件的原始工件点云数据;二维深度图获取子单元,用于将训练用工件的所述原始工件点云数据转换为二维深度图;梯度图获取子单元,用于基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;缺陷合成图像获取子单元,用于基于三通道合成所述二维深度图、所述Scale1以及所述Scale2以获取训练用的工件缺陷合成图像;

缺陷检测模块,用于根据所述缺陷预测Label图进行待检测工件的缺陷检测。

8.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。

说明书 :

一种基于语义分割模型缺陷检测方法、装置、介质及设备

技术领域

[0001] 本发明属于计算机视觉和深度学习领域,更具体地,涉及一种基于语义分割模型的工件缺陷检测方法、装置、存储介质及计算机设备。

背景技术

[0002] 随着工业4.0的快速发展,大数据分析和人工智能已经被应用于工业视觉检测领域,相对于传统视觉技术无法量化的图像提取特征,深度学习神经网络可以有效进行优化处理,一定程度上可以提高工件缺陷视觉检测的准确度和稳定性。
[0003] 通过2D相机有效采集工件缺陷样本图像,深度学习语义分割模型可以高精度地预测工件缺陷区域,便于后续缺陷量化处理。但是2D相机设备下采集的缺陷样本图像丢失Z轴方向上的数据特征,因此对于在Z轴方向上存在数据的缺陷特征,例如:瓶身凹陷、标签边缘翘起等,深度学习神经网络卷积层无法准确提取其相应特征参数,模型预测结果精度也会有所下降,不利于工件在线实时缺陷检测。
[0004] 目前通常采取以下两组方案以解决上述问题,
[0005] (1)2D相机配合背光源计算阴影区域面积,但是其机械架构设施较为复杂,并且该方法下获取的工件3D缺陷多呈现阴影状, 实际缺陷面积与投影区域面积关系未知,缺陷量化精度偏低;
[0006] (2)3D点云缺陷区域分割技术,但是该方法不能均衡数据计算量与缺陷精确度,即:若点云较为稠密,缺陷区域较为清晰,但对应数据计算量较大,过度依赖于高维数据处理;若对点云采取下采样处理,一定程度上可以保证缺陷检出速率,但3D点云数据较为稀疏,会降低缺陷检测精度。

发明内容

[0007] 本发明的目的是提供一种基于语义分割模型缺陷检测方法,可快速高精度地对工件进行缺陷视觉检测。
[0008] 为实现上述目的,本发明提供一种基于语义分割模型的缺陷检测方法,包括如下步骤:获取待检测工件的图像数据;
[0009] 将所述图像数据输入至训练完毕的语义分割模型中,获取所述工件的缺陷预测Label图;
[0010] 所述语义分割模型包括顺次连接的特征提取网络与特征预测网络;
[0011] 所述特征提取网络用于缺陷区域发生位置的预测,其包括特征提取层、特征压缩层、特征压平层以及特征分类层;
[0012] 根据所述特征提取层对所述图像数据进行特征提取,获取所述图像数据的特征图;
[0013] 根据所述特征压缩层对所述特征图进行压缩并输出所述特征图的特征向量;
[0014] 根据所述特征压平层对所述特征向量进行卷积核分解并输出所述特征图的枚举向量;
[0015] 将所述枚举向量输入至所述特征分类层中以对不同类型的缺陷进行独立预测并获取缺陷区域位置;
[0016] 所述特征预测网络用于对所述特征提取网络确定的缺陷区域内每个像素点进行分类,对所述缺陷区域定位与分割后输出所述工件的缺陷预测Label图;
[0017] 基于所述缺陷预测Label图进行工件的缺陷检测。
[0018] 作为一优选方案,所述特征提取网络中,所述特征提取层包括多个依次连接的卷积层;所述特征压缩层包括多个交替设置的卷积层与池化层;所述特征压平层包括多个一维卷积层;所述特征分类层包括多个全连接层。
[0019] 进一步的,所述特征提取网络中,所述全连接层的数量对应缺陷种类设置。
[0020] 作为一优选方案,所述特征预测网络包括依次连接的多个池化层以及一个全连接层。
[0021] 作为一优选方案,所述语义分割模型的训练数据为基于三通道合成的工件缺陷合成图像以及所述工件缺陷合成图像对应缺陷标注Label图像。
[0022] 作为一优选方案,所述待检测工件的图像数据为基于三通道合成的缺陷合成图像。
[0023] 进一步的,所述缺陷合成图像的获取包括如下步骤:获取工件的原始工件点云数据;
[0024] 将原始工件点云数据转换为二维深度图;基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;基于RGB三通道彩色图像合成所述二维深度图、所述Scale1以及所述Scale2以获取所述缺陷合成图像。
[0025] 更进一步的,基于Sobel算子获取所述二维深度图对应下第一梯度图Scale1;基于Laplace算子获取所述二维深度图对应下的第二梯度图Scale2 。
[0026] 作为一优选方案,所述缺陷标注Label图像的获取包括如下步骤:获取原始工件点云数据,所述工件为包含指定缺陷种类的工件;删除所述原始工件点云数据中的缺陷区域点云并另存为新工件点云数据;对所述新工件点云数据与所述原始工件点云数据进行差值,获取工件缺陷区域点云数据;合并所述工件缺陷区域点云数据与所述新工件点云数据以获取工件缺陷图像数据;标注所述工件缺陷图像数据以获取对应工件的缺陷标注Label图像。
[0027] 进一步的,将所述工件缺陷图像数据中未发生缺陷区域像素值置为0,对所述工件缺陷图像中的缺陷区域点云数据,根据缺陷种类不同将像素值置为不同数值,获取工件缺陷图像数据对应的缺陷标注Label图像;
[0028] 优选的,所述待检测工件的图像数据为待检测工件的缺陷合成图像,待检测工件的缺陷合成图像获取包括如下步骤:获取待检测工件的原始工件点云数据;将待检测工件的所述原始工件点云数据转换为二维深度图;基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;基于RGB三通道彩色图像合成所述二维深度图、所述Scale1、所述Scale2以获取待检测工件的所述缺陷合成图像。
[0029] 本申请还提供了一种工件缺陷质量检测装置,包括
[0030] 图像数据获取模块,用于获取待检测工件的图像数据;
[0031] 缺陷预测Label图获取模块,用于将所述图像数据输入至训练完毕的语义分割模型中,获取所述工件的缺陷预测Label图,所述语义分割模型包括顺次连接的特征提取网络与特征预测网络;所述特征提取网络用于缺陷区域发生位置的预测,其包括特征提取层、特征压缩层、特征压平层以及特征分类层;所述特征提取层用于对所述图像数据进行特征提取,获取所述图像数据的特征图;所述特征压缩层用于对所述特征图进行压缩并输出所述特征图的特征向量;所述特征压平层用于对所述特征向量进行卷积核分解并输出所述特征图的枚举向量;所述特征分类层用于对不同类型的缺陷进行独立预测并获取缺陷区域位置;所述特征预测网络用于对所述特征提取网络确定的缺陷区域内每个像素点进行分类,对所述缺陷区域定位与分割后输出所述工件的缺陷预测Label图;
[0032] 缺陷检测模块,用于根据所述缺陷预测Label图进行工件的缺陷检测。
[0033] 作为一优选方案,所述特征提取网络中,所述特征提取层包括多个依次连接的卷积层;所述特征压缩层包括多个交替设置的卷积层与池化层;所述特征压平层包括多个一维卷积层;所述特征分类层包括多个全连接层。
[0034] 更进一步的,所述特征提取网络中,所述全连接层的数量对应缺陷种类设置。
[0035] 作为一优选方案,所述特征预测网络包括依次连接的多个池化层以及一个全连接层。
[0036] 作为一优选方案,缺陷预测Label图获取模块还包括训练数据获取子模块,用于获取所述语义分割模型的训练数据为,所述训练数据获取子模块包括工件缺陷合成图像获取单元以及缺陷标注Label图像获取单元:
[0037] 工件缺陷合成图像获取单元包括:原始工件点云数据获取子单元,用于获取训练用工件的原始工件点云数据;二维深度图获取子单元,用于将训练用所述原始工件点云数据转换为二维深度图;梯度图获取子单元,用于基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;缺陷合成图像获取子单元,用于基于RGB三通道彩色图像合成所述二维深度图、所述Scale1以及所述Scale2以获取训练用的所述缺陷合成图像。
[0038] 所述缺陷标注Label图像获取单元包括:原始工件点云数据获取子单元,用于获取训练用的原始工件点云数据,所述工件为包含指定缺陷种类的工件;新工件点云数据获取子单元,用于将所述原始工件点云数据中的缺陷区域点云删除后保存为新工件点云数据;工件缺陷区域点云数据获取子单元,用于将新工件点云数据与原始工件点云数据进行差值,获取工件缺陷区域点云数据;工件缺陷图像数据获取子单元,用于合并所述工件缺陷区域点云数据与所述新工件点云数据以获取工件缺陷图像数据;缺陷标注Label图像获取子单元,用于将所述工件缺陷图像数据中未发生缺陷区域像素值置为0,对所述工件缺陷图像中的缺陷区域点云数据,根据缺陷种类不同将像素值置为不同数值,获取工件缺陷图像数据对应的缺陷标注Label图像。
[0039] 更进一步的,所述二维深度图获取子模块中,基于Sobel算子获取所述二维深度图对应下第一梯度图Scale1;基于Laplace算子获取所述二维深度图对应下的第二梯度图Scale2 。
[0040] 作为一优选方案,缺陷预测Label图获取模块还包括训练子模块,用于基于所述训练用的多组所述工件缺陷合成图像以及对应的所述缺陷标注Label图像进行语义分割网络训练,迭代模型参数后得到收敛的语义分割模型;
[0041] 进一步的,所述训练子模块中,基于梯度下降算法进行所述语义分割模型的训练,其中Loss计算函数为softmax交叉熵。
[0042] 作为一优选方案,所述工件缺陷质量检测装置还包括待检测图像获取模块,用于获取待检测图像的缺陷合成图像,作为语义分割模型的输入,其包括原始工件点云数据获取子模块,用于获取待检测工件的原始工件点云数据;二维深度图获取子模块,用于将原始工件点云数据转换为二维深度图;梯度图获取子模块,用于基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;
[0043] 缺陷合成图像获取子模块,用于基于RGB三通道彩色图像合成所述二维深度图、所述Scale1以及所述Scale2以获取所述缺陷合成图像。
[0044] 更进一步的,所述二维深度图获取子模块中,基于Sobel算子获取所述二维深度图对应下第一梯度图Scale1;基于Laplace算子获取所述二维深度图对应下的第二梯度图Scale2 。
[0045] 为了实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述方法的步骤。
[0046] 为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法的步骤。
[0047] 通过上述技术方案,本发明具有如下有益效果:
[0048] 本申请所构建语义分割模型网络框架包含特征提取网络与特征预测网络,其中特征提取网络用于已有缺陷进行分类与大致定位(即粗略定位到缺陷位置),特征预测网络用于对经特征提取网上确定缺陷区域进行基于像素级别的定位与分割(即高精度分割出缺陷区域),可有效降低模型计算量,快速高精度地实现工件缺陷视觉检测。由于本申请可快速高精度分割出缺陷区域,搭配高性能显卡可实现单张预测时间<100ms,可有效满足在线实时检测需求。
[0049] 同时,本申请对语义分割模型的训练数据做进一步限定,训练数据为基于三通道合成的工件缺陷合成图像以及所述工件缺陷合成图像对应缺陷标注Label图像,以进一步提高基于语义分割模型的缺陷检测方法的检测精度。三通道缺陷合成图像对应缺陷区域显示较为直观,模型特征提取网络对应特征向量维度较高并且相对差异性较为明显,更有利于提高3D类缺陷的检出率与分割精度。
[0050] 此外,本申请所示的对输入的待检测工件图像进行预处理,获取待检测工件的点云数据后,基于三通道合成获取待检测工件的缺陷合成图像,将缺陷合成图像作为语义分割模型的输入,以获取缺陷形态表示更为直观的缺陷label预测图, 从而获取更好的检测效果。

附图说明

[0051] 图1为实施例一基于语义分割模型的缺陷检测方法的工作流程图;
[0052] 图2为图1所示实施例中语义分割模型的工作流程图;
[0053] 图3(a)为图1所示实施例中小面积缺陷检测效果图;
[0054] 图3(b)为图1所示实施例中长条状缺陷检测效果图;
[0055] 图4为实施例二基于语义分割模型的缺陷检测方法中缺陷合成图像的获取流程图;
[0056] 图5为实施例二基于语义分割模型的缺陷检测方法中缺陷标注Label图像的获取流程图;
[0057] 图6为语义分割缺陷检测模型的框架图;
[0058] 图7为实施例三基于语义分割模型的缺陷检测方法的工作流程图;
[0059] 图8(a)为待检测工件的缺陷合成图像,图8(b)为基于语义分割模型的缺陷检测方法获取的待检测工件的缺陷预测图;
[0060] 图9为本申请语义分割模型的缺陷检测装置一个实施例的结构框图;
[0061] 图10为本申请计算机设备的一个实施例的硬件架构。

具体实施方式

[0062] 为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本 发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,而非以任何方式限制本发明的保护范围。
[0063] 在说明书的全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列相目中的一个或多个的任何和全部组合。在附图中,为了便于说明,已稍微夸大了物体的厚度、尺寸和形状。附图仅为示例 而非严格按比例绘制。
[0064] 还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、步骤、整体、操作、元件和/或部件,但不排除存在或 附加有一个或多个其它特征、步骤、整体、操作、元件、部件和/或它们的组合。
[0065] 如在说明书中使用的用语“基本上”、 “大约”以及类似的用于用作表示近似的用语,而不用作表示程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。
[0066]  除非另有限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与 本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常用词 典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,并且 将不被以理想化或过度正式意义解释,除非本文中明确如此限定。
[0067] 实施例一
[0068] 如图1和图2所示,本申请提供了一种基于语义分割模型的缺陷检测方法,包括如下步骤:
[0069] S1获取待检测工件的图像数据;
[0070] S2将所述图像数据输入至训练完毕的语义分割模型中,获取所述工件的缺陷预测Label图;
[0071] 所述语义分割模型包括顺次连接的特征提取网络与特征预测网络;
[0072] 所述特征提取网络用于缺陷区域发生位置的预测,其包括特征提取层、特征压缩层、特征压平层以及特征分类层;
[0073] 根据所述特征提取层对所述图像数据进行特征提取,获取所述图像数据的特征图;
[0074] 根据所述特征压缩层对所述特征图进行压缩并输出所述特征图的特征向量;
[0075] 根据所述特征压平层对所述特征向量进行卷积核分解并输出所述特征图的枚举向量;
[0076] 将所述枚举向量输入至所述特征分类层中以对不同类型的缺陷进行独立预测并获取缺陷区域位置;
[0077] 所述特征预测网络用于对所述特征提取网络确定的缺陷区域内每个像素点进行分类,对所述缺陷区域定位与分割后输出所述工件的缺陷预测Label图;
[0078] S3基于所述缺陷预测Label图进行工件的缺陷检测。
[0079] 本申请所示的一种基于语义分割模型的缺陷检测方法,语义分割模型的网络框架包含特征提取网络与特征预测网络,其中特征提取网络用于已有缺陷进行分类与大致定位(即粗略定位到缺陷位置),特征预测网络用于对经特征提取网上确定缺陷区域进行基于像素级别的定位与分割(即高精度分割出缺陷区域),可快速高精度地对工件进行缺陷视觉检测,尤其适用用于小面积缺陷检测(例如:脏污)以及长条状缺陷检测(例如:刮花/划痕)的检测,如图3(a)和图3(b)所示。
[0080] 作为一优选方案,所述特征提取网络中,所述特征提取层包括多个依次连接的卷积层;所述特征压缩层包括多个交替设置的卷积层与池化层;所述特征压平层包括多个一维卷积层;所述特征分类层包括多个全连接层。卷积层作用在于图像特征的深度提取,包含颜色、纹理、空间信息等;池化层作用在于对输入的特征图进行压缩,一方面降低特征图维度,简化网络计算复杂度,另一方面进行特征压缩,提取图像主要特征;全连接层作用在于连接所有的图像特征,并将输出值送给分类器。
[0081] 更进一步的,所述特征提取网络中,所述全连接层的数量对应缺陷种类设置。每一个全连接层用于一种类型缺陷的图像特征的连接,多个全连接层在特征提取网络中串联设置或并联设置,用于不同种类缺陷的分类。
[0082] 作为一优选方案,所述特征预测网络包括依次连接的多个池化层以及一个全连接层。本申请的特征提取网络已实现不同种类缺陷特征的深度提取与分类,但仅仅是对缺陷发生位置进行预测,本申请进一步的经由特征预测网络对缺陷区域每个像素点进行分类,便于后续缺陷量化处理。
[0083] 作为一优选方案,可基于梯度下降算法进行所述语义分割模型的训练,其中Loss计算函数为softmax交叉熵。
[0084] 本申请所示的网络模型训练时,最大迭代步数尽量取大,loss值尽量取小,以最大程度训练模型参数,同时获取模型收敛下限。本实施例中,采用softmax交叉熵(softmax_cross_entropy_with_logits(softmax交叉熵)计算模型loss函数,包括:将logits转换成概率;计算交叉熵损失,首先使用softmax将logits转换成概率然后计算logits中每个元素的值,对应计算函数关系为:
[0085]
[0086] Prob为对应logits元素的概率,并且每个元素都不小于0并且和为1,所以构成了logits概率分布;然后根据交叉熵计算公式,即:
[0087]
[0088] 其中y’为真实标签数值,y为logits概率分布。
[0089] 实施例二
[0090] 实施例一中,通过线激光器扫描缺陷样本获取其对应三维点云数据,转换至灰度图后,对应像素数值分布范围为[0,255],但是缺陷区域像素值与邻域像素值差值范围为[1,3],若直接将灰度图与标签Label图像合并输入语义分割网络模型进行训练,缺陷区域图像提取特征向量与相邻图像提取特征向量维度相近,缺陷分割精度相对较差。
[0091] 在上述语义分割模型的基础上,本申请对语义分割模型的训练数据做进一步限定,训练数据为工件缺陷合成图像以及所述工件缺陷合成图像对应缺陷标注Label图像,以进一步提高基于语义分割模型的缺陷检测方法的检测精度。三通道缺陷合成图像对应缺陷区域显示较为直观,模型特征提取网络对应特征向量维度较高并且相对差异性较为明显,有利于提高3D类缺陷的检出率与分割精度。
[0092] 如图4所示,作为一优选方案,缺陷合成图像的获取包括如下步骤:
[0093] A1获取多组训练用的原始工件点云数据,所述工件为包含指定缺陷种类的工件;
[0094] 本步骤中,采用线激光器扫描获取其点云数据pcd文件,对于训练用的工件的缺陷种类,根据实际需要,可预设为一种或多种,其中一实施例中,使用LMI Gocator 2350D型号的线激光器进行原始的工件点云数据采集,采集训练样本>200张,这样设计,训练数据采集所需要的视觉检测平台搭建较为方便,简单来说仅包含一台线激光器,并且其不受外界光源干扰,一定程度上降低了2D相机+背光源视觉检测的复杂性与不确定性;此外,也可以通过2D相机配合多光源替换线激光扫描获取工件点云数据点云处理,例如工件上下左右四个位置分布四个条形光源,周期性控制光源的亮与灭,获取在上下左右四个方向的工件图像,然后通过图像融合凸显工件的3D缺陷形态。
[0095] A2基于所述原始工件点云数据确定每个工件的缺陷合成图像。
[0096] A21将原始工件点云数据转换为二维深度图;
[0097] 本步骤中可使用三维点云投射函数将工件点云数据pcd文件转换为二维深度图I,二维深度图对应像素值跨度为0-255,像素值越大,代表其对应三维数据Z值越大;本实施例中,采用归一化处理方式,具体转换函数公式为:
[0098]
[0099] 其中,D为点云对应数据,N对应D数据维度,fix()为取整操作。
[0100] A22基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;本申请采用深度、梯度图像合成技术,以使得缺陷形态表示更为直观,其中,可经由多种算子获取梯度图。
[0101] 作为一优选方案,本实施例中,基于Sobel算子获取所述二维深度图对应下第一梯度图Scale1;基于Laplace算子获取所述二维深度图对应下的第二梯度图Scale2。
[0102] 记二维深度图I在x方向上的卷积为Gx,在y方向上的卷积为Gy,对应算法下的梯度图即为G, Scale1梯度图计算方式如下述公式所示;
[0103]
[0104] 记二维深度图为I在x方向上的偏导数为∂x,在y方向上的偏导数为∂y,对应算法下的梯度图即为Ʌ, Scale2梯度图计算方式如下述公式所示;
[0105] 。
[0106] A23基于RGB三通道彩色图像合成所述二维深度图、所述Scale1、所述Scale2,获取所述缺陷合成图像。
[0107] 按RGB三通道彩色图像合成二维深度图、Scale1梯度图、Scale2梯度图,记为:缺陷合成图像;本实施例中使用三通道合成技术进行缺陷合成图像的合成,计算公式为:I=I1+I2+I3,其中,I1,I2,I3分别对应二维深度图、Scale1、Scale2的二维数据,I对应合成后缺陷合成图像。
[0108] 如图5所示,作为一优选方案,缺陷标注Label图像的获取包括如下步骤:
[0109] B1获取训练用的原始工件点云数据,所述工件为包含指定缺陷种类的工件;同前所述,本步骤中,采用线激光器扫描获取其点云数据pcd文件,本实施例中,使用的LMI Gocator 2350D型号的线激光器进行原始的工件点云数据采集,采集训练样本>200张,这样设计,数据采集所需要的视觉检测平台搭建较为方便,简单来说仅包含一台线激光器,并且其不受外界光源干扰,一定程度上降低了2D相机+背光源视觉检测的复杂性与不确定性;此外,也可以通过2D相机配合多光源替换线激光扫描获取工件点云数据点云处理,例如工件上下左右四个位置分布四个条形光源,周期性控制光源的亮与灭,获取在上下左右四个方向的工件图像,然后通过图像融合凸显工件的3D缺陷形态。
[0110] B2删除所述原始工件点云数据中的缺陷区域点云另存为新工件点云数据;
[0111] 本实施例中,使用软件3DReshaper®Application打开工件点云数据,此时三维点云数据对应坐标系发生变化,原有三维点云XYZ数据等比例缩放到软件3DReshaper®Application适应坐标系对应数值,然后手动选取工件缺陷处点云数据并将其删除后保存为新的工件点云pcd文件。
[0112] B3将新工件点云数据与原始工件点云数据进行差值,获取工件缺陷区域点云数据;
[0113] 本实施例中,经由Matlab软件对扣除缺陷区域前后的点云pcd文件进行差值计算,即对原始的工件点云与新的工件点云进行差值计算,获取缺陷区域像素的XYZ值,然后通过扫描精度换算,获取X和Y方向对应的像素行列坐标(Z轴方向数据在此过程中没有用到);然后按照线激光扫描规则,三维点云两点在X方向上的扫描间隔为0.01mm,同时对应在Y方向上的扫描间隔为0.02mm,进而获取工件缺陷区域对应的行列像素值。
[0114] B4合并所述工件缺陷区域点云数据与所述新工件点云数据,获取工件缺陷图像数据;
[0115] 基于LMI Gocator获取的原始工件点云数据以及新工件点云数据对应XYZ方向上的扫描精度为0.015mm/step,对于工件缺陷处点云数据,通过已知其对应三维点云坐标(XYZ),通过如下公式换算其对应图像像素坐标(x,y):
[0116]
[0117] 其中,X0和Y0对应X和Y方向上的起始点云坐标,依据换算后的坐标将工件缺陷处点云数据添加至新工件点云数据中对应位置处,获得工件缺陷图像数据
[0118] B5将所述工件缺陷图像数据中未发生缺陷区域像素值置为0,对所述工件缺陷图像中的缺陷区域点云数据,根据缺陷种类不同将像素值置为不同数值,获取工件缺陷图像数据对应的缺陷标注Label图像。
[0119] 假设包括凹陷和翘起两类缺陷,对于工件缺陷图像数据,将工件缺陷区域对应的像素值置为1和2(对应凹陷、翘起两种缺陷),未发生缺陷区域像素值置为0,至此便得工件缺陷图像数据对应的缺陷标注Label图像。
[0120] 以下以预设缺陷类型为凹陷、翘起两种缺陷,训练数据为工件缺陷合成图像以及所述工件缺陷合成图像对应缺陷标注Label图像对本申请所示的基于语义分割模型的缺陷检测方法进一步说明。
[0121] 图6为本发明搭建的深度学习语义分割缺陷检测模型框架图,训练后输出的模型网络框架包含特征提取网络与特征预测网络,其中特征提取网络包含14个卷积层,5个池化层以及2个全连接层,特征预测网络包括5个池化层和1个全连接层,
[0122] 图示实施例中,特征提取网络前端为五层卷积层,同时对输入的缺陷合成图像以及对应Label标签图像进行深度特征提取,每层对应不同的卷积核大小与数量,以一张RGB图像(对应尺寸为1600×1200×3)为例,缩放至801×801后对应每层卷积层的处理结果如表1所示,对训练用的缺陷合成图像和标签Label图像同时进行缩放处理,以降低模型训练耗时,输出缺陷合成图像和标签Label图像的特征图;
[0123] 表1 特征提取前端网络图像数据变化
[0124]
[0125] 模型卷积层输出图像尺寸对应图像的长度L、宽度W和深度H,其中长度L和宽度W的计算方式如以下公式所示 : L’=(L-F+2×P)/S+1 ;W’=(W-F+2×P)/S +1 ;其中L、W对应卷积层输入图像尺寸,L’、W’对应卷积层输出图像尺寸,F对应卷积核大小,P为步长,输出图像的深度等于卷积核的数量,卷积层处理图像尺寸为向下取整操作。
[0126] 本申请中特征提取网络中端为卷积层+池化层复合结构,目的在于增强图像特征提取能力的同时降低特征向量维度,提高模型的训练能力,其输出为特征向量(对应特征图的一个数组),缺陷合成图像与标签Label图像的对应变化如表2所示:
[0127] 表2 特征提取中端网络图像数据变化
[0128]
[0129] 模型卷积层输出图像尺寸对应图像的长度L、宽度W和深度H,其中长度L和宽度W的计算方式如下公式所示: L’=(L-F)/S+1 、 W’=(W-F)/S +1 ;其中L、W对应卷积层输入图像尺寸,L’、W’对应卷积层输出图像尺寸,F对应卷积核大小,输出图像的深度等于卷积核的数量,池化层处理图像尺寸为向上取整操作。
[0130] 本发明设计中的特征提取网络后端包括连续4个小卷积层,以替换大卷积层,目的在于通过卷积核分解,减少网络参数量,输出为枚举向量(对应特征图向量的一个一维数组),例如1个5×5的卷积核有25个参数,而2个3×3的卷积核只有18个参数,1个1×5和5×1的卷积核,只有10个参数,缺陷合成图像与标签Label图像的对应变化如表3所示:
[0131] 表3 特征提取后端网络图像数据变化
[0132]
[0133] 最后,特征提取网络对应两类缺陷设置了2个全连接层,在整个设计网络模型中起到“分类器”的作用,考虑两种缺陷类型,本发明涉及2个全连接层独立进行预测,每层包含48×48×24=55926个特征图,用于两种不同类型缺陷的分类。
[0134] 上述特征提取网络已实现两种缺陷特征的深度提取与分类,但仅仅是对缺陷发生位置进行预测,在此基础之前,本申请进一步增加特征预测网络,本实施例中,其包括5个池化层和1个全连接层,目的在于对缺陷区域每个像素点进行分类,便于后续缺陷量化处理,特征预测网络输出即为输入图像对应的标签Label图像。对应输入图像的尺寸变化如表4所示:
[0135] 表4 特征预测网络图像数据变化
[0136]
[0137] 特征预测网络输出包含1×1×128=128个特征图,包含缺陷区域每个像素的分类属性,即可实现缺陷区域的定位与分割效果。
[0138] 实施例三
[0139] 在上述实施例二的基础之上,本实施例进一步对输入的待检测工件图像进行预处理,即待检测工件的图像数据为待检测工件的缺陷合成图像,从而使得缺陷形态表示更为直观, 获取更好的检测效果。
[0140] 本实施例所示的基于语义分割模型的缺陷检测方法,通过线激光扫描获取工件缺陷点云数据,然后获取点云深度图以及对应梯度图,采用三通道融合技术合成工件3D缺陷样本图像,设计深度学习语义分割模型对合成图像进行特征提取,可以提高此类缺陷的检出率。
[0141] 待检测工件的缺陷合成图像获取包括以下步骤:
[0142] C1获取待检测工件的原始工件点云数据;
[0143] 本步骤中,采用线激光器扫描获取其点云数据pcd文件,其中一实施例中,使用LMI Gocator 2350D型号的线激光器进行待检测工件原始的工件点云数据采集,这样设计,数据采集所需要的视觉检测平台搭建较为方便,简单来说仅包含一台线激光器,并且其不受外界光源干扰,一定程度上降低了2D相机+背光源视觉检测的复杂性与不确定性;此外,也可以通过2D相机配合多光源替换线激光扫描获取工件点云数据点云处理,例如工件上下左右四个位置分布四个条形光源,周期性控制光源的亮与灭,获取在上下左右四个方向的工件图像,然后通过图像融合凸显工件的3D缺陷形态。
[0144] C2基于所述原始工件点云数据确定待检测工件的缺陷合成图像。
[0145] C21将原始工件点云数据转换为二维深度图;
[0146] 本步骤中可依照三维点云投射函数将工件点云数据pcd文件转换为二维深度图I,二维深度图对应像素值跨度为0-255,像素值越大,代表其对应三维数据Z值越大;本实施例中,采用归一化处理方式,具体转换函数公式为:
[0147]
[0148] 其中,D为点云对应数据,N对应D数据维度,fix()为取整操作
[0149] C22基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2;
[0150] 作为一优选方案,可基于Sobel算子获取所述二维深度图对应下第一梯度图Scale1;基于Laplace算子获取所述二维深度图对应下的第二梯度图Scale2 。
[0151] 记二维深度图I在x方向上的卷积为Gx,在y方向上的卷积为Gy,对应算法下的梯度图即为G, Scale1梯度图计算方式如以下公式所示;
[0152]
[0153] 记二维深度图为I在x方向上的偏导数为∂x,在y方向上的偏导数为∂y,对应算法下的梯度图即为Ʌ, Scale2梯度图计算方式如以下公式所示;
[0154] 。哈
[0155] C23基于RGB三通道彩色图像合成所述二维深度图、所述Scale1以及所述Scale2以获取所述缺陷合成图像。
[0156] 按RGB三通道彩色图像合成二维深度图、Scale1梯度图、Scale2梯度图,记为:缺陷合成图像;本实施例中使用三通道合成技术进行缺陷合成图像的合成,计算公式为:I=I1+I2+I3,其中,I1,I2,I3分别对应二维深度图、Scale1、Scale2的二维数据,I对应合成后缺陷合成图像。
[0157] 如图7所示,获取待检测工件的缺陷合成图像后,调用缺陷预测模型pb文件,即可获得待检测工件的3D缺陷预测图,然后采用相机标定技术,获取像素长度与真实长度的比值,通过统计深度学习缺陷Label区域像素面积,比例换算为真实单位面积(mm^2),可完成在线缺陷检测与量化。
[0158] 图8(a)为基于下的基于待检测工件3D点云数据获取的缺陷合成图像,其中"凹陷"、"翘起"等缺陷形态表示较为直观,图8(b)为本申请对应的实施效果图(即待检测工作的3D缺陷预测图),对应缺陷可预测可数值量化,单位为:面积(mm2)。
[0159] 本实施例所示的基于语义分割模型的缺陷检测方法,将线激光器扫描得到的三维点云通过RGB三通道融合获取缺陷合成图像,工件缺陷区域在缺陷合成图像中表现较为直观,然后利用深度学习语义分割模型网络对缺陷区域进行预测量化,有效地将三维数据转换为二维图像数据,一定程度上降低了数据计算的维度与冗杂性。
[0160] 实施例四
[0161] 如图9所示,本申请还提供了一种工件缺陷质量检测装置10,包括:
[0162] 图像数据获取模块11,用于获取待检测工件的图像数据;
[0163] 缺陷预测Label图获取模块12用于将所述图像数据输入至训练完毕的语义分割模型中,获取所述工件的缺陷预测Label图;所述语义分割模型包括顺次连接的特征提取网络与特征预测网络;
[0164] 所述特征提取网络用于缺陷区域发生位置的预测,其包括特征提取层、特征压缩层、特征压平层以及特征分类层;所述特征提取层用于对所述图像数据进行特征提取,获取所述图像数据的特征图;所述特征压缩层用于对所述特征图进行压缩并输出所述特征图的特征向量;所述特征压平层用于对所述特征向量进行卷积核分解并输出所述特征图的枚举向量;所述全连接层用于对不同类型的缺陷进行独立预测并获取缺陷区域位置;将所述枚举向量输入至所述全连接层中以对不同类型的缺陷进行独立预测并获取缺陷区域位置;
[0165] 所述特征预测网络用于对所述特征提取网络确定的缺陷区域内每个像素点进行分类,对所述缺陷区域定位与分割后输出所述工件的缺陷预测Label图;
[0166] 缺陷检测模块13,用于根据所述缺陷预测Label图进行工件的缺陷检测。
[0167] 作为一优选方案,所述特征提取网络中,所述特征提取层包括多个依次连接的卷积层;所述特征压缩层包括多个交替设置的卷积层与池化层;所述特征压平层包括多个一维卷积层;所述特征分类层包括多个全连接层。
[0168] 更进一步的,所述特征提取网络中,所述全连接层的数量对应缺陷种类设置。
[0169] 作为一优选方案,所述特征预测网络包括依次连接的多个池化层以及一个全连接层。
[0170] 作为一优选方案,缺陷预测Label图获取模块12还包括训练数据获取子模块,用于获取所述语义分割模型的训练数据为,所述训练数据获取子模块包括工件缺陷合成图像获取单元以及缺陷标注Label图像获取单元。
[0171] 工件缺陷合成图像获取单元包括:
[0172] 原始工件点云数据获取子单元,用于获取训练用工件的原始工件点云数据;
[0173] 二维深度图获取子单元,用于将训练用所述原始工件点云数据转换为二维深度图;
[0174] 梯度图获取子单元,用于基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;
[0175] 缺陷合成图像获取子单元,用于基于RGB三通道彩色图像合成所述二维深度图、所述Scale1以及所述Scale2以获取训练用的所述缺陷合成图像。
[0176] 所述缺陷标注Label图像获取单元包括:
[0177] 原始工件点云数据获取子单元,用于获取训练用的原始工件点云数据,所述工件为包含指定缺陷种类的工件;
[0178] 新工件点云数据获取子单元,用于将所述原始工件点云数据中的缺陷区域点云删除后保存为新工件点云数据;
[0179] 工件缺陷区域点云数据获取子单元,用于将新工件点云数据与原始工件点云数据进行差值,获取工件缺陷区域点云数据;
[0180] 工件缺陷图像数据获取子单元,用于合并所述工件缺陷区域点云数据与所述新工件点云数据以获取工件缺陷图像数据;
[0181] 缺陷标注Label图像获取子单元,用于将所述工件缺陷图像数据中未发生缺陷区域像素值置为0,对所述工件缺陷图像中的缺陷区域点云数据,根据缺陷种类不同将像素值置为不同数值,获取工件缺陷图像数据对应的缺陷标注Label图像。
[0182] 更进一步的,所述二维深度图获取子模块中,基于Sobel算子获取所述二维深度图对应下第一梯度图Scale1;基于Laplace算子获取所述二维深度图对应下的第二梯度图Scale2 。
[0183] 作为一优选方案,缺陷预测Label图获取模块12还包括训练子模块,用于基于所述训练用的多组所述工件缺陷合成图像以及对应的所述缺陷标注Label图像进行语义分割网络训练,迭代模型参数后得到收敛的语义分割模型;
[0184] 进一步的,所述训练子模块中,基于梯度下降算法进行所述语义分割模型的训练,其中Loss计算函数为softmax交叉熵。
[0185] 本申请所示的网络模型训练时,最大迭代步数尽量取大,loss值尽量取小,以最大程度训练模型参数,同时获取模型收敛下限。本实施例中,采用softmax交叉熵(softmax_cross_entropy_with_logits(softmax交叉熵)计算模型loss函数,包括:将logits转换成概率;计算交叉熵损失,首先使用softmax将logits转换成概率然后计算logits中每个元素的值,对应计算函数关系为:
[0186]
[0187] Prob为对应logits元素的概率,并且每个元素都不小于0并且和为1,所以构成了logits概率分布;然后根据交叉熵计算公式,即:
[0188]
[0189] 其中y’为真实标签数值,y为logits概率分布。
[0190] 作为一优选方案,所述工件缺陷质量检测装置还包括待检测图像获取模块,用于获取待检测图像的缺陷合成图像,作为语义分割模型的输入,其包括
[0191] 原始工件点云数据获取子模块,用于获取待检测工件的原始工件点云数据;
[0192] 二维深度图获取子模块,用于将原始工件点云数据转换为二维深度图;
[0193] 梯度图获取子模块,用于基于所述二维深度图分别获取第一梯度图Scale1与第二梯度图Scale2 ;
[0194] 缺陷合成图像获取子模块,用于基于RGB三通道彩色图像合成所述二维深度图、所述Scale1以及所述Scale2以获取所述缺陷合成图像。
[0195] 更进一步的,所述二维深度图获取子模块中,基于Sobel算子获取所述二维深度图对应下第一梯度图Scale1;基于Laplace算子获取所述二维深度图对应下的第二梯度图Scale2 。
[0196] 实施例五
[0197] 图10所示是本发明实施例提供的一种计算机设备的结构示意图,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图10所示。需要指出的是,图10仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0198] 本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM),存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如方法实施例的基于语义分割模型的缺陷检测方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0199] 处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行基于语义分割模型的缺陷检测装置,以实现方法实施例中的基于语义分割模型的缺陷检测方法。
[0200] 实施例六
[0201] 本申请还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储基于语义分割模型的缺陷检测装置的程序代码,被处理器执行时实现方法实施例中的基于语义分割模型的缺陷检测方法。
[0202] 需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0203] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0204] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。