缺陷检测方法及缺陷检测装置转让专利

申请号 : CN202310200887.8

文献号 : CN116051542B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 潘勇郭俊敏员雪辉

申请人 : 深圳市深视智能科技有限公司

摘要 :

本申请提供了缺陷检测方法及缺陷检测装置。所述缺陷检测方法包括:对训练样品进行扫描,以得到第一图像,其中,所述训练样品具有焊接缺陷;对所述第一图像进行去噪处理,以得到第二图像;根据所述第二图像生成所述训练样品的三维点云图及亮度图;根据所述三维点云图及所述亮度图训练识别所述焊接缺陷;训练结束后生成缺陷识别模型;及利用所述缺陷识别模型对待检测物进行焊接缺陷检测。本申请提供的缺陷检测方法能够提高对焊接缺陷的识别率,从而降低对焊接缺陷的漏检率及过杀率。

权利要求 :

1.一种缺陷检测方法,其特征在于,所述缺陷检测方法包括:对训练样品进行扫描,以得到第一图像,其中,所述训练样品具有焊接缺陷;

对所述第一图像进行去噪处理,以得到第二图像;

根据所述第二图像生成所述训练样品的三维点云图及亮度图;

根据所述三维点云图及所述亮度图训练识别所述焊接缺陷;其中,所述根据所述三维点云图及所述亮度图训练识别所述焊接缺陷包括:将所述三维点云图转换为浮点型图像后归一化以得到第一浮点数据,且将所述亮度图归一化以得到第二浮点数据;

在所述三维点云图及所述亮度图中标注所述焊接缺陷的位置及类型,并标记相应的浮点数据;

设置训练次数及批次数;及

利用双通道分别输入所述第一浮点数据及所述第二浮点数据,以训练识别所述焊接缺陷;其中,所述利用双通道分别输入所述第一浮点数据及所述第二浮点数据,以训练识别所述焊接缺陷包括:利用双通道分别输入所述第一浮点数据及所述第二浮点数据;

对所述第一浮点数据及所述第二浮点数据进行语义分割;及训练识别所述焊接缺陷;

训练结束后生成缺陷识别模型;及

利用所述缺陷识别模型对待检测物进行焊接缺陷检测。

2.如权利要求1所述的缺陷检测方法,其特征在于,所述对所述第一图像进行去噪处理,以得到第二图像包括:对所述第一图像进行模糊处理,以得到第三图像;及

将所述第一图像的灰度值减去所述第三图像的灰度值,以得到第二图像。

3.如权利要求2所述的缺陷检测方法,其特征在于,所述对所述第一图像进行模糊处理,以得到第三图像包括:标定预设区域,其中,所述焊接缺陷设于所述预设区域内;

将所述第一图像中每个像素点的灰度值减去第一预设灰度值,以得到第三图像,且所述第三图像中的所述预设区域内的灰度值小于或等于第二预设灰度值,或者,将所述预设区域中每个像素点的灰度值减去第三预设灰度值,且所述第一图像中除所述预设区域外的其它区域的灰度值不变,以得到第三图像,且所述第三图像中的所述预设区域内的灰度值小于或等于第四预设灰度值。

4.如权利要求2所述的缺陷检测方法,其特征在于,所述将所述第一图像的灰度值减去所述第三图像的灰度值,以得到第二图像包括:将所述第一图像中每个像素点的灰度值减去对应在所述第三图像中相同坐标的像素点的灰度值,以得到第二图像,或者,将所述第一图像中每个像素点的灰度值减去所述第三图像中所有像素点的灰度值的平均值,以得到第二图像。

5.如权利要求1‑4任意一项所述的缺陷检测方法,其特征在于,在所述训练结束后生成缺陷识别模型之后,在所述利用所述缺陷识别模型对待检测物进行焊接缺陷检测之前,所述缺陷检测方法还包括:对每种所述焊接缺陷设置过滤阈值;

根据所述过滤阈值,对所述缺陷识别模型进行推理测试;及在预设标准下,判断每种所述焊接缺陷的漏检率是否为0,且过杀率是否小于或等于

1‰;

如果是,则所述缺陷识别模型合格;

如果否,则调整相应的所述焊接缺陷的过滤阈值,并重新进行所述推理测试。

6.如权利要求5所述的缺陷检测方法,其特征在于,如果通过所述调整相应的所述焊接缺陷的过滤阈值,并重新进行推理测试无法得到合格的所述缺陷识别模型,在所述如果否,则调整相应的所述焊接缺陷的过滤阈值,并重新进行所述推理测试之后,在所述利用所述缺陷识别模型对待检测物进行焊接缺陷检测之前,所述缺陷检测方法还包括:增加所述训练样品的数量,并重新训练以更新所述缺陷识别模型;

对每种所述焊接缺陷设置过滤阈值;

根据所述过滤阈值,对所述缺陷识别模型进行推理测试;及判断对于预设标准的每种所述焊接缺陷的漏检率是否为0,且过杀率是否小于或等于

1‰;

如果是,则所述缺陷识别模型合格;

如果否,则调整相应的所述焊接缺陷的过滤阈值,并重新进行所述推理测试。

7.一种缺陷检测装置,其特征在于,所述缺陷检测装置包括:三维线激光轮廓仪,所述三维线激光轮廓仪包括相机,所述相机用于对训练样品扫描以得到第一图像,其中,所述训练样品具有焊接缺陷;

所述三维线激光轮廓仪还包括处理器,所述处理器用于:对所述第一图像进行去噪预处理,以得到第二图像;根据所述第二图像生成所述训练样品的三维点云图及亮度图;根据所述三维点云图及所述亮度图训练识别所述焊接缺陷;其中,所述根据所述三维点云图及所述亮度图训练识别所述焊接缺陷包括:将所述三维点云图转换为浮点型图像后归一化以得到第一浮点数据,且将所述亮度图归一化以得到第二浮点数据;在所述三维点云图及所述亮度图中标注所述焊接缺陷的位置及类型,并标记相应的浮点数据;设置训练次数及批次数;及利用双通道分别输入所述第一浮点数据及所述第二浮点数据,以训练识别所述焊接缺陷;其中,所述利用双通道分别输入所述第一浮点数据及所述第二浮点数据,以训练识别所述焊接缺陷包括:利用双通道分别输入所述第一浮点数据及所述第二浮点数据;对所述第一浮点数据及所述第二浮点数据进行语义分割;及训练识别所述焊接缺陷;训练结束后生成缺陷识别模型;利用所述缺陷识别模型对待检测物进行焊接缺陷检测;及支架,所述支架用于承载所述三维线激光轮廓仪及所述训练样品。

8.一种缺陷检测装置,其特征在于,所述缺陷检测装置包括:计算机可读存储介质,所述计算机可读存储介质存储有计算机可读程序;及处理器,所述处理器用于读取及调用所述计算机可读程序,以执行如权利要求1‑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] 在预设标准下,判断每种所述焊接缺陷的漏检率是否为0,且过杀率是否小于或等于1‰;
[0032] 如果是,则所述缺陷识别模型合格;
[0033] 如果否,则调整相应的所述焊接缺陷的过滤阈值,并重新进行所述推理测试。
[0034] 其中,如果通过所述调整相应的所述焊接缺陷的过滤阈值,并重新进行推理测试无法得到合格的所述缺陷识别模型,在所述如果否,则调整相应的所述焊接缺陷的过滤阈值,并重新进行所述推理测试之后,在所述利用所述缺陷识别模型对待检测物进行焊接缺陷检测之前,所述缺陷检测方法还包括:
[0035] 增加所述训练样品的数量,并重新训练以更新所述缺陷识别模型;
[0036] 对每种所述焊接缺陷设置过滤阈值;
[0037] 根据所述过滤阈值,对所述缺陷识别模型进行推理测试;及
[0038] 判断对于预设标准的每种所述焊接缺陷的漏检率是否为0,且过杀率是否小于或等于1‰;
[0039] 如果是,则所述缺陷识别模型合格;
[0040] 如果否,则调整相应的所述焊接缺陷的过滤阈值,并重新进行所述推理测试。
[0041] 第二方面,本申请还提供了一种缺陷检测装置,所述缺陷检测装置包括:
[0042] 三维线激光轮廓仪,所述三维线激光轮廓仪包括相机,所述相机用于对训练样品扫描以得到第一图像,其中,所述训练样品具有焊接缺陷;
[0043] 所述三维线激光轮廓仪还包括处理器,所述处理器用于:对所述第一图像进行去噪预处理,以得到第二图像;根据所述第二图像生成所述训练样品的三维点云图及亮度图;根据所述三维点云图及所述亮度图训练识别所述焊接缺陷;训练结束后生成缺陷识别模型;利用所述缺陷识别模型对待检测物进行焊接缺陷检测;及
[0044] 支架,所述支架用于承载所述三维线激光轮廓仪及所述训练样品。
[0045] 第三方面,本申请还提供了一种缺陷检测装置,所述缺陷检测装置包括:
[0046] 计算机可读存储介质,所述计算机可读存储介质存储有计算机可读程序;及[0047] 处理器,所述处理器用于读取及调用所述计算机可读程序,以执行如第一方面所述的缺陷检测方法。
[0048] 本申请提供了一种缺陷检测方法,所述缺陷检测方法通过对具有焊接缺陷的训练样品进行三维图像采集,并利用采集所述训练样品的图像降噪后生成三维点云图及亮度图,从而利用所述三维点云图及所述亮度图进行深度学习以得到缺陷识别模型,进而利用所述缺陷识别模型对待检测物的焊道进行缺陷检测,克服了二维检测方案中微小缺陷成像不明显、缺陷类型耦合无法区分的情况。因此,本申请提供的缺陷检测方法能够提高对焊接缺陷的识别率,从而降低对焊接缺陷的漏检率及过杀率。

附图说明

[0049] 为了更清楚地说明本申请实施例的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050] 图1为本申请一实施方式提供的缺陷检测方法的流程图。
[0051] 图2为图1中对第一图像进行去噪处理的流程图。
[0052] 图3为训练样品的示意图。
[0053] 图4为对图3中训练样品进行扫描得到的第一图像的示意图。
[0054] 图5为图4中第一图像模糊处理后得到的第三图像的示意图。
[0055] 图6为利用图5中的第三图像对图4中的第一图像进行处理后得到的第二图像。
[0056] 图7为对图4中第一图像进行模糊处理的流程图。
[0057] 图8为利用第一图像及第三图像得到图6中第二图像的流程图。
[0058] 图9为图1中识别焊接缺陷的流程图。
[0059] 图10为步骤S41中浮点型图像的示意图。
[0060] 图11为步骤S41中亮度图的示意图。
[0061] 图12为步骤S41与步骤S42之间的流程图。
[0062] 图13为步骤S42的细节流程图。
[0063] 图14为焊接缺陷的示意图。
[0064] 图15为缺陷识别模型推理测试的流程图。
[0065] 图16为优化缺陷识别模型的流程图。
[0066] 图17为本申请一实施方式提供的缺陷检测装置的结构示意图。
[0067] 图18为本申请一实施方式提供的缺陷检测装置的电路连接框图。
[0068] 附图标号:缺陷检测装置1;三维线激光轮廓仪11;相机111;处理器112;支架12;计算机可读存储介质13;计算机可读程序131;训练样品2。

具体实施方式

[0069] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0070] 本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0071] 在本文中提及“实施例”或“实施方式”意味着,结合实施例或实施方式描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0072] 本申请提供了一种缺陷检测方法。请参照图1,图1为本申请一实施方式提供的缺陷检测方法的流程图。在本实施方式中,所述缺陷检测方法用于生成缺陷识别模型以检测缺陷,具体地,所述缺陷检测方法用于检测焊接缺陷。举例而言,所述缺陷检测方法用于检测动力电池顶盖焊、钢管焊、钢板焊等。在其它实施方式中,所述缺陷检测方法还可以检测其它类型的可图像识别的缺陷,可以理解地,本申请以焊接缺陷为例进行示意性说明,其它类型的可图像识别的缺陷也可通过所述缺陷检测方法进行检测。
[0073] 在本实施方式中,所述缺陷检测方法具体包括步骤S10、S20、S30、S40、S50及S60。接下来对步骤S10、S20、S30、S40、S50及S60进行详细描述。
[0074] S10,对训练样品进行扫描,以得到第一图像。
[0075] 在本实施方式中,所述训练样品具有焊接缺陷,具体地,所述训练样品包括具有焊接缺陷的焊道。采用三维线激光轮廓仪发射线激光对训练样品进行扫描,以获得第一图像。其中,所述第一图像包含所述训练样品中各个点的三维坐标信息以及各个点的亮度信息。
[0076] S20,对所述第一图像进行去噪处理,以得到第二图像。
[0077] 在本实施方式中,对所述第一图像进行去噪处理,具体地去除所述第一图像中的散斑噪声,以得到去噪后的图像,即得到第二图像。其中,所述第二图像包含所述训练样品中各个点的三维坐标信息以及去噪后各个点的亮度信息。
[0078] S30,根据所述第二图像生成所述训练样品的三维点云图及亮度图。
[0079] 在本实施方式中,根据所述第二图像生成所述训练样品的三维点云图及亮度图。其中,所述三维点云图包含所述训练样品中各个点的三维坐标信息。所述亮度图包含去噪后所述训练样品中各个点的亮度信息。
[0080] S40,根据所述三维点云图及所述亮度图训练识别所述焊接缺陷。
[0081] 在本实施方式中,利用深度学习网络的方式,结合所述三维点云图中焊接缺陷的外形特征及所述亮度图中焊接缺陷的亮度特征进行训练。举例而言,可以采用deeplabv3进行训练。其中,所述焊接缺陷包括针孔、波浪边、凸点、爆点、偏光等。每种焊接缺陷具有相对应的外形特征及亮度特征,通过深度学习网络的方式将每种焊接缺陷与对应的外形特征及亮度特征进行匹配并存储。因此,结合所述三维点云图及所述亮度图进行深度学习,能够提取出所述焊接缺陷的多维度信息,具体包括所述焊接缺陷的位置、外形及亮度等,从而使得对于所述焊接缺陷的信息提取更加全面,有利于缺陷识别模型的建立。
[0082] S50,训练结束后生成缺陷识别模型。
[0083] 在本实施方式中,训练结束后生成的缺陷识别模型存储有多种类型的焊接缺陷,以及与每种焊接缺陷相匹配的外形特征及亮度特征。
[0084] S60,利用所述缺陷识别模型对待检测物进行焊接缺陷检测。
[0085] 在本实施方式中,采用三维线激光轮廓仪扫描具有焊道的待检测物,并进行成像,成像后进行去噪处理,并在去噪后生成对应的三维点云图及亮度图,根据所述待检测物的三维点云图及亮度图,利用所述缺陷识别模型进行检测,将所述待检测物中的焊道各处的外形特征及亮度特征与存储在所述缺陷识别模型中每种焊接缺陷相匹配的外形特征及亮度特征进行一一对比,以识别所述待检测物的焊道上是否有焊接缺陷,以及如果存在焊接缺陷,则识别出所述焊接缺陷的位置及类型。通过结合外形特征与亮度特征对待检测物进行焊接缺陷检测,能够提高对焊接缺陷的识别率,从而降低对焊接缺陷的漏检率及过杀率。
[0086] 综上所述,本申请提供了一种缺陷检测方法,所述缺陷检测方法通过对具有焊接缺陷的训练样品进行三维图像采集,并利用采集所述训练样品的图像降噪后生成三维点云图及亮度图,从而利用所述三维点云图及所述亮度图进行深度学习以得到缺陷识别模型,进而利用所述缺陷识别模型对待检测物的焊道进行缺陷检测,克服了二维检测方案中微小缺陷成像不明显、缺陷类型耦合无法区分的情况。因此,本申请提供的缺陷检测方法能够提高对焊接缺陷的识别率,从而降低对焊接缺陷的漏检率及过杀率。
[0087] 请一并参照图2、图3、图4、图5及图6,图2为图1中对第一图像进行去噪处理的流程图;图3为训练样品的示意图;图4为对图3中训练样品进行扫描得到的第一图像的示意图;图5为图4中第一图像模糊处理后得到的第三图像的示意图;图6为利用图5中的第三图像对图4中的第一图像进行处理后得到的第二图像。在本实施方式中,以训练样品为动力电池顶盖(请参见图3)进行示意,按照上述步骤S10对所述动力电池顶盖进行扫描以得到所述第一图像(请参见图4)。从图4中可以看出所述第一图像中由于金属表面强反光,而使得线激光投射至金属表面而引起了亮度较高的散斑噪声。通过上述步骤S20对所述第一图像进行去噪处理,具体包括步骤S21及步骤S22。接下来对步骤S21及步骤S22进行详细描述。
[0088] S21,对所述第一图像进行模糊处理,以得到第三图像。
[0089] 在本实施方式中,对所述第一图像进行模糊处理,以模糊所述动力电池顶盖上的焊道区域。具体地,请参照图7,图7为对图4中第一图像进行模糊处理的流程图。对所述第一图像进行模糊处理的步骤包括步骤S211及S212。
[0090] S211,标定预设区域。
[0091] 在本实施方式中,所述焊接缺陷设于所述预设区域内,以便于对所述第一图像进行模糊处理时模糊所述动力电池顶盖上焊道的缺陷。在本实施方式中,以整个焊道位于所述预设区域中进行示意。整个焊道位于所述预设区域,能够保证所述焊道上的焊接缺陷全部位于所述预设区域内。
[0092] S212,将所述第一图像中每个像素点的灰度值减去第一预设灰度值,以得到第三图像,且所述第三图像中的所述预设区域内的灰度值小于或等于第二预设灰度值;或者,将所述预设区域中每个像素点的灰度值减去第三预设灰度值,且所述第一图像中除所述预设区域外的其它区域的灰度值不变,以得到第三图像,且所述第三图像中预设区域内的灰度值小于或等于第四预设灰度值。
[0093] 由于所述动力电池的外壳为具有光滑表面的金属,而焊道则具有相较不平整的表面,因此导致线激光投射至所述动力电池表面引起的散斑噪声的亮度大于线激光投射至焊道上反射的光,即,在所述第一图像中,所述预设区域外的散斑噪声处的灰度值大于所述预设区域内的灰度值。
[0094] 对于模糊所述预设区域的方式有多种。
[0095] 在一实施方式中,将所述第一图像中每个像素点的灰度值减去第一预设灰度值,以使所述预设区域内的灰度值小于或等于第二预设灰度值。其中,所述第一预设灰度值为所述预设区域内的最大灰度值,以使得到的第三图像中的所述预设区域内的灰度值全为0,或者,所述第一预设灰度值为小于所述预设区域内的最大灰度值的任意值,只要能够模糊所述预设区域即可。所述第二预设灰度值根据实际工况而设定,所述第二预设灰度值需要保证所述第一图像中预设区域内的灰度值减去所述第二预设灰度值后能够通过网络深度学习识别出所述预设区域内的焊接缺陷。本实施方式根据所述预设区域内的灰度值的大小情况,选取所述第一预设灰度值及所述第二预设灰度值,能够保证对所述预设区域进行模糊处理的同时,使得第二图像中的预设区域内的焊接缺陷可机器识别。
[0096] 在另一实施方式中,将所述预设区域中每个像素点的灰度值减去第三预设灰度值,且所述第一图像中除所述预设区域外的其它区域的灰度值不变,以得到第三图像,且所述第三图像中预设区域内的灰度值小于或等于第四预设灰度值。其中,所述第三预设灰度值的选取方式可跟上述第一预设灰度值相同,所述第四预设灰度值的选取方式可跟上述第四预设灰度值相同。本实施方式中仅对所述预设区域进行模糊处理,减小了工作量,从而降低了时间成本及运算成本。在本实施方式中,所述第一图像中除所述预设区域外的其它区域的灰度值不变,有利于后续进一步处理时去除所述预设区域外的其它区域的散光杂斑。
[0097] 在又一实施方式中,将所述预设区域内的所有像素点设为0,以得到第三图像。本实施方式的计算速度快,工作量小,从而降低了时间成本及运算成本。
[0098] 上述步骤S21对所述预设区域进行模糊处理,相当于对所述预设区域进行了反选。
[0099] S22,将所述第一图像的灰度值减去所述第三图像的灰度值,以得到第二图像。
[0100] 由于上述步骤S21对所述预设区域进行了模糊处理,且所述预设区域外的散光噪声未被消除,因此,通过将所述第一图像的灰度值减去所述第三图像的灰度值后,可得到无散斑噪声或散斑噪声较少的第二图像。具体地,请参照图8,图8为利用第一图像及第三图像得到图6中第二图像的流程图。得到第二图像的步骤包括步骤S221。
[0101] S221,将所述第一图像中每个像素点的灰度值减去对应在所述第三图像中相同坐标的像素点的灰度值,以得到第二图像,或者,将所述第一图像中每个像素点的灰度值减去所述第三图像中所有像素点的灰度值的平均值,以得到第二图像。
[0102] 在一实施方式中,将所述第一图像中每个像素点的灰度值减去对应在所述第三图像中相同坐标的像素点的灰度值,以得到第二图像,能够保证对所述第一图像进行去噪处理的精度,从而使得所述第二图像中预设区域中焊接缺陷的显示效果好。
[0103] 在另一实施方式中,将所述第一图像中每个像素点的灰度值减去所述第三图像中所有像素点的灰度值的平均值,以得到第二图像,无需将所述第一图像中的每个像素点与所述第三图像中的像素点进行匹配,从而减小了计算工作量,进而降低了时间成本及运算成本。
[0104] 通过步骤S21及步骤S22可以看出,虽然步骤S21中是对所述预设区域进行了模糊处理,但步骤S21加上步骤S22可以得出实际需要模糊处理的是所述预设区域外的散斑噪声,采用本实施方式中先针对所述预设区域进行模糊处理以得到所述第三图像,再通过所述第一图像的灰度值减去所述第三图像的灰度值,能够有效地对所述第一图像中所述预设区域外的散斑噪声进行去噪,尤其能够有效地去除所述第一图像中所述预设区域外由于强反光而引起的散斑噪声。因此,通过步骤S21及步骤S22能够对所述第一图像进行反光散斑噪声抑制而达到图像去噪的效果。本实施方式中,通过步骤S21及步骤S22能够去除由于强反光而引起的散斑噪声。其中,强反光通常由于光滑表面(例如金属表面)或者透明物(例如胶水)反射投射的激光而产生的。强反光引起的散斑噪声通常相较于所述焊道区域具有更强的亮度。
[0105] 请参照图9、图10及图11,图9为图1中识别焊接缺陷的流程图;图10为步骤S41中浮点型图像的示意图;图11为步骤S41中亮度图的示意图。在本实施方式中,上述步骤S40具体包括步骤S41及S42。
[0106] S41,将所述三维点云图转换为浮点型图像后归一化以得到第一浮点数据,且将所述亮度图归一化以得到第二浮点数据。
[0107] 在本实施方式中,将所述三维点云图转换为浮点型图像后归一化,以使得所述浮点型图像中的灰度值在0 1之间,即所述第一浮点数据为0 1之间的值,且一个第一浮点数~ ~据对应所述浮点型图像中一个像素点的灰度值。其中,所述浮点型图像中的灰度值表示坐标信息(例如高度信息)。
[0108] 可选地,可仅选取所述三维点云图中焊道区域转换为浮点型图像,或者,仅选取所述三维点云图中焊接缺陷区域转换为浮点型图像,以减小将所述三维点云图转换为浮点型图像的计算量。
[0109] 可选地,将所述三维点云图转换为浮点型图像后,可将焊道区域归一化,并将除焊道区域的其它区域设为0或1,或者,将焊接缺陷区域归一化,并将除焊接缺陷区域的其它区域设为0或1,以减小归一化处理的计算量。
[0110] 可选地,所述浮点型图像可以但不限于为32位浮点型图像或者16位浮点型图像等。
[0111] 在本实施方式中,将所述亮度图归一化以使得亮度图中的灰度值在0 1之间,即所~述第二浮点数据为0 1之间的值,且一个第二浮点数据对应所述亮度图中一个像素点的灰~
度值。其中,所述亮度图中的灰度值表示亮度信息。
[0112] 可选地,可将所述亮度图中的焊道区域归一化,并将除焊道区域的其它区域设为0或1,或者,将所述亮度图中的焊接缺陷区域归一化,并将除焊接缺陷区域的其它区域设为0或1,以减小归一化处理的计算量。
[0113] 在本实施方式中,选取了图6中的第二图像中的焊道区域换转为三维点云图并转换为图10所示的浮点型图像,以及选取了图6中的第二图像中的焊道区域换转为图11所示的亮度图。可以理解地,图10及图11仅为示意性表示,并未对本申请中的图像转换选取的区域进行限定。
[0114] S42,利用双通道分别输入所述第一浮点数据及所述第二浮点数据,以训练识别所述焊接缺陷。
[0115] 在本实施方式中,采用双通道分别输入所述第一浮点数据及所述第二浮点数据,即,所述双通道中一个通道输入所述第一浮点数据,另一个通道输入所述第二浮点数据,且所述第一浮点数据与所述第二浮点数据同时输入。利用双通道输入能够提高数据输入速度,且有利于在进行深度网络学习时将所述第一浮点数据与所述第二浮点数据进行结合训练,进而提高了对焊接缺陷识别的学习效率及质量。
[0116] 可选地,将官方deeplabv3网络修改成可支持双通道输入网络,以利用双通道分别输入所述第一浮点数据及所述第二浮点数据。
[0117] 在本实施方式中,先将所述三维点云图及所述亮度图转换为浮点数据再通过双通道输入。在其它实施方式中,还可以先将所述三维点云图转换为浮点型图像后和所述亮度图通过双通道输入,再转换为浮点数据。
[0118] 请参照图12、图13及图14,图12为步骤S41与步骤S42之间的流程图;图13为步骤S42的细节流程图;图14为焊接缺陷的示意图。在本实施方式中,在步骤S41与步骤S42之间,步骤S40还包括步骤S43及S44。
[0119] S43,在所述三维点云图及所述亮度图中标记所述焊接缺陷的位置及类型,并标记相应的浮点数据。
[0120] 在本实施方式中,标记所述焊接缺陷的位置及类型,并标记相应的浮点数据,以便于对所述焊接缺陷利用深度网络学习进行机器训练。
[0121] S44,设置训练次数及批次数。
[0122] 在本实施方式中,所述训练次数大于或等于100,以保证训练效果。所述批次数大于或等于1,且小于或等于32,以保证训练效果,且能够防止处理器过载。举例而言,所述批次数可以但不限于为1、或4、或8、或12、或16、或25、或30、或32等。
[0123] 可选地,所述训练样品的焊接缺陷的类型包括爆点(请参见图14中的(a))、波浪边(请参见图14中的(b))、偏光(请参见图14中的(c))、凸点(请参见图14中的(d))及针孔(请参见图14中的(e))。所述焊接缺陷的总数量大于或等于500,且每种焊接缺陷的数量趋衡,以避免训练生成的缺陷识别模型不收敛或出现过拟合情况。其中,每个训练样品可以具有一个或多个焊接缺陷。每个训练样品可以具有一种或多种焊接缺陷。
[0124] 可选地,设置数据增强功能,以提高对所述训练样品的训练效果。举例而言,所述数据增强可以但不限于包括垂直旋转、上下镜像、水平旋转、左右镜像、尺度缩放、随机裁剪、高斯噪声、微小旋转等。
[0125] 在本实施方式中,步骤S42具体包括步骤S421、S422及S423。
[0126] S421,利用双通道分别输入所述第一浮点数据及所述第二浮点数据。
[0127] S422,对所述第一浮点数据及所述第二浮点数据进行语义分割。
[0128] 在本实施方式中,对所述第一浮点数据及所述第二浮点数据进行语义分割,以对每个所述第一浮点数据及每个所述第二浮点数据进行定义。具体地,在本实施方式中,所述训练样品的焊接缺陷的类型包括爆点、波浪边、偏光、凸点及针孔。定义每个所述第一浮点数据是否为焊接缺陷的特征点,以及如果是焊接缺陷的特征点,则具体为哪种焊接缺陷的特征点。同时,对每个所述第一浮点数据对应所述第二浮点数据进行相同的定义。其中,所述第一浮点数据对应于所述三维点云图中的像素点,包含坐标信息。所述第二浮点数据对应于所述亮度图中的像素点,包含亮度信息。因此,结合所述第一浮点数据及所述第二浮点数据可得到坐标信息及亮度信息。通过对所有的所述第一浮点数据及所有的所述第二浮点数据进行语义分割,可定义出每种类型的焊接缺陷的特征点,一个所述特征点具有一个坐标信息及一个亮度信息。
[0129] 其中,所述针孔为在焊道的外表上如针般大小的孔洞。所述波浪边为波浪形或弧形,且凸出或凹陷于焊道的外表。所述凸点相较于正常的焊道凸起,且呈现点状、斑状。所述爆点为焊道的外表上的凹坑,相较于针孔更大。所述偏光相较于正常的焊道,焊锡的高度低于周围焊锡的高度,且呈现长条状。
[0130] S423,训练识别所述焊接缺陷。
[0131] 在本实施方式中,通过对语义分割后的所述第一浮点数据及所述第二浮点数据进行深度网络学习,以训练识别所述焊接缺陷,从而得到每一组浮点数据是否为焊接缺陷的概率以及为何种缺陷的概率。其中,所述一组浮点数据是指在所述第二图像的一个像素点处对应在所述三维点云图中的第一浮点数据以及在所述亮度图中的第二浮点数据。因此,通过训练识别所述焊接缺陷能够得到一个坐标信息及一个亮度信息是否为焊接缺陷的概率以及为何种缺陷的概率。
[0132] 举例而言,对n组浮点数据进行深度网络学习,Mi表示第一浮点数据,Ni表示第二浮点数据,其中,i=1,2,...,n,则MiNi表示一组浮点数据,即表示一个特征点。通过对n组浮点数据进行深度网络学习,能够得到MiNi是否为焊接缺陷,如果MiNi为焊接缺陷,则MiNi为每种焊接缺陷的概率,例如MiNi为针孔的概率为p1,为波浪边的概率为p2,为凸点的概率为p3,为爆点的概率为p4,为偏光的概率为p5。因此,通过对n组浮点数据进行深度网络学习后得到的缺陷识别模型具有识别焊接缺陷的功能,通过所述缺陷识别模型对待检测物进行焊接缺陷检测时,先采用步骤S10 S30对所述待检测物进行扫描并生成所述待检测物的三维~点云图及亮度图,并根据所述三维点云图及所述亮度图生成所述待检测物的m组浮点数据,利用所述缺陷识别模型对m组浮点数据进行逐组识别,如果某一组浮点数据为焊接缺陷的概率为0,则忽略。如果某一组浮点数据为焊接缺陷,则标记该组浮点数据为概率最大的焊接缺陷类型的特征点。在所述缺陷识别模型对m组浮点数据全部识别完成之后,同种标记的特征点形成的连通域为一个焊接缺陷。其中,所述连通域可以为任意形状。
[0133] 请参照图15,图15为缺陷识别模型推理测试的流程图。在本实施方式中,在得到所述缺陷识别模型后,还需要对所述缺陷识别模型进行推理测试,以保证所述缺陷识别模型符合设计要求。具体地,在步骤S50与S60之间还包括步骤S70、S80及S90。
[0134] S70,对每种所述焊接缺陷设置过滤阈值。
[0135] 在本实施方式中,对每种所述焊接缺陷设置相同或不同的过滤阈值,以降低每种焊接缺陷的漏检率及过杀率。其中,所述过滤阈值为概率。举例而言,在一实施方式中,每种焊接缺陷的过滤阈值均为0.5,则对于每组浮点数据,如果某组浮点组件为每种焊接缺陷的概率均小于0.5,则该组浮点数据不是焊接缺陷的特征点。如果某组浮点数据为针孔的概率为0.6,为其它类型焊接缺陷的概率均小于0.6,则该组浮点为针孔的特征点。在另一实施方式中,针孔的过滤阈值为0.5,其它类型的焊接缺陷的过滤阈值为0.4,则对于每组浮点数据,如果某组浮点数据为针孔的概率小于0.5且为其它类型的焊接缺陷的概率小于0.4,则该组浮点数据不是焊接缺陷的特征点。如果某组浮点数据为针孔的概率最大,但为针孔的概率又小于0.5,那么即使该组浮点数据为其它类型的焊接缺陷的概率大于0.4,该组浮点数据依然不是焊接缺陷的特征点。换而言之,判断某组浮点数据是否为焊接缺陷的特征点,需要通过该组浮点数据的最大概率对应的焊接缺陷与相应的过滤阈值进行对比判断。
[0136] S80,根据所述过滤阈值,对所述缺陷识别模型进行推理测试。
[0137] 在本实施方式中,利用训练样品对所述缺陷识别模型进行推理测试。其中,所述训练样品可以为生成所述缺陷识别模型采用的训练样品,或者,所述训练样品不是生成所述缺陷识别模型所采用的训练样品。在进行推理测试时,可对所述缺陷识别模型进行多次测试,以保证对所述缺陷识别模型进行推理测试的可靠性。
[0138] S90,在预设标准下,判断每种所述焊接缺陷的漏检率是否为0,且过杀率是否小于或等于1‰。
[0139] 在本实施方式中,所述预设标准可以为每种焊接缺陷的外形尺寸、面积、轮廓形状、分布特征等,具体根据实际工作需求及人工经验进行设定。在所述预设标准下,如果对每种所述焊接缺陷的漏检率为0且过杀率小于或等于1‰,则所述缺陷识别模型合格。如果所述缺陷识别模型不合格,则在重新调整所述过滤阈值,并重新进行步骤S80。其中,如果对于某种类型焊接缺陷的漏检率不为0,则相应下调该种类型焊接缺陷的过滤阈值,如果对于某种类型焊接缺陷的过杀率大于1‰,则相应上调该种类型焊接缺陷的过滤阈值。
[0140] 请参照图16,图16为优化缺陷识别模型的流程图。如果通过调整所述过滤阈值后根据上述步骤S70 S90依然无法得出合格的缺陷识别模型,则在步骤S90之后,所述缺陷检~测方法还包括步骤S100。
[0141] S100,增加所述训练样品的数量,并重新训练以更新所述缺陷识别模型。
[0142] 在本实施方式中,如果根据上述步骤能够得到合格的缺陷识别模型,则无需进行步骤S100。如果根据上述步骤S70 S90依然无法得出合格的缺陷识别模型,则表明当前的所~述缺陷识别模型还需要进行更多的深度网络学习。在本实施方式中,通过增加所述训练样品的数量,并重新训练以更新所述缺陷识别模型。其中,增加的所述训练样品可针对原有的缺陷识别模型的缺点进行选择。例如,原有的缺陷识别模型对于针孔的识别无法满足漏检率是否为0,且过杀率是否小于或等于1‰,则增加具有针孔的训练样品。
[0143] 本申请还提供了一种缺陷检测装置1。请参照图17,图17为本申请一实施方式提供的缺陷检测装置的结构示意图。在本实施方式中,所述缺陷检测装置1包括三维线激光轮廓仪11及支架12。所述三维线激光轮廓仪11包括相机111及处理器112,所述相机111用于实施上述步骤S10。所述处理器112用于实施上述步骤S20 步骤S60。所述支架12用于承载所述三~维线激光轮廓仪11及所述训练样品2。
[0144] 在本实施方式中,所述相机111实施上述步骤S10及所述处理器112用于实施上述步骤S20 步骤S60,具体实施过程在前文已经进行了详细描述,在此不再赘述。~
[0145] 在本实施方式中,所述支架12用于承载所述三维线激光轮廓仪11及所述训练样品2。其中,所述支架12用于承载所述训练样品2。所述支架12用于为所述三维线激光轮廓仪11提供运动轨道,以使所述三维线激光轮廓仪11在扫描所述训练样品2时能够平稳的运动。此外,在所述缺陷检测装置1用于检测待检测物时,所述支架12还用于承载所述待检测物。
[0146] 本申请还提供了一种缺陷检测装置1。请参照图18,图18为本申请一实施方式提供的缺陷检测装置的电路连接框图。在本实施方式中,所述缺陷检测装置1包括计算机可读存储介质13及处理器112。所述计算机可读存储介质13存储有计算机可读程序131。所述处理器112用于读取及调用所述计算机可读程序131,以执行上述任意一实施方式所述的缺陷检测方法。
[0147] 在本实施方式中,所述处理器112通过读取及调用所述计算机可读程序131,以执行上述任意一实施方式所述的缺陷检测方法,从而生成缺陷识别模型,并利用所述缺陷识别模型对待检测物进行焊接缺陷检测。对于生成缺陷识别模型,并利用所述缺陷识别模型对待检测物进行焊接缺陷检测已经在前文已经进行了详细描述,在此不再赘述。
[0148] 尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型,这些改进和润饰也视为本申请的保护范围。