本申请涉及工业制造技术领域,具体而言,涉及焊缝质量检测方法、装置、系统及电子设备。
背景技术:
在工业制造技术领域,通常会涉及焊接工序,而焊接工序对焊接工具的精度要求颇高,在焊接工序中,若焊接工具精度较低,控制不到位,则会使得焊缝表面出现凸凹不平、气孔、凹陷、炸点等缺陷,最终,影响产品质量和使用寿命,因此,在产品出厂之前,通常需要对焊缝质量进行检测,以剔除焊缝质量不合格的产品,从而提高产品良率。然而,目前大多数的产品制造商还是采用人工检测的方法对焊缝质量进行检测,这种方法受检测人员的熟练程度、疲劳程度、情绪高低等因素的影响,而无法保证检测结果的准确度。
技术实现要素:
本申请实施例的目的在于,提供一种焊缝质量检测方法、装置、系统及电子设备,以解决上述问题。
第一方面,本申请实施例提供的焊缝质量检测方法,包括:
获取目标焊接物的点云数据,并将点云数据转换为高度图,目标焊接物包括基材、焊接件,以及将焊接件焊接于基材上形成的目标焊缝;
从高度图中,确定出用于表征目标焊缝的焊缝区域;
对焊缝区域进行分析,获得目标焊缝的特征参数;
根据特征参数,获得目标焊缝的质量检测结果。
本申请实施例提供的焊缝质量检测方法,通过获取目标焊接物的点云数据,并将点云数据转换为高度图,从高度图中,确定出用于表征目标焊缝的焊缝区域,再对焊缝区域进行分析,获得目标焊缝的特征参数,最后,根据特征参数,获得目标焊缝的质量检测结果,其中,目标焊接物包括基材、焊接件,以及将焊接件焊接于基材上形成的目标焊缝。相对于现有技术中,采用人工检测的方法对焊缝质量进行检测的方案而言,本申请实施例提供的焊缝质量检测方法基于机器视觉技术,获得目标焊缝的质量检测结果,避免了人工参与,因此,能够提高质量检测结果的准确度,例如,本申请实施例提供的焊缝质量检测方法能够应用于周边焊的焊缝质量检测,以检测出面积大于0.5mm2,深度大于0.2mm的焊缝缺陷,具有较强的实际应用价值。
结合第一方面,本申请实施例还提供了第一方面的第一种可选的实施方式,从高度图中,确定出用于表征目标焊缝的焊缝区域之前,焊缝质量检测方法,还包括:
对高度图进行预处理,预处理包括滤波处理和/或纠偏处理。
在上述实施方式中,从高度图中,确定出用于表征目标焊缝的焊缝区域之前,焊缝质量检测方法还包括,对高度图进行预处理,其中,预处理包括滤波处理和/或纠偏处理,从而提高高度图的图像质量,以进一步地提高质量检测结果的准确度。
结合第一方面的第一种可选的实施方式,本申请实施例还提供了第一方面的第二种可选的实施方式,预处理包括纠偏处理,对高度图进行预处理,包括:
对高度图进行边缘检测,确定出目标焊接物中,焊接侧的边缘直线;
获取边缘直线与预设参考线之间的夹角值;
获取参考点,并以参考点为旋转中心,夹角值为旋转角度,获得旋转矩阵;
基于所述旋转矩阵,对所述高度图进行仿射变换,以实现对所述高度图的纠偏处理。
结合第一方面,本申请实施例还提供了第一方面的第三种可选的实施方式,从高度图中,确定出用于表征目标焊缝的焊缝区域,包括:
从高度图中,选取出第一感兴趣区域;
根据第一感兴趣区域内多个像素点与预设基准面的高度差值,确定出目标焊缝的第一边缘线和第二边缘线;
将第一边缘线与第二边缘线之间的区域图像,作为表征目标焊缝的焊缝区域。
结合第一方面的第三种可选的实施方式,本申请实施例还提供了第一方面的第四种可选的实施方式,根据第一感兴趣区域内多个像素点与预设基准面的高度差值,确定出目标焊缝的第一边缘线和第二边缘线,包括:
在第一感兴趣区域内,沿第一方向绘制多条搜索直线,且搜索直线与第一方向垂直,第一方向为第一感兴趣区域的长度方向;
针对多条搜索直线中的每条搜索直线,根据搜索直线上离散出的多个像素点与预设基准面的高度差值,在搜索直线上确定出目标焊缝的第一边缘点和第二边缘点;
对多条搜索直线中,每条搜索直线上的第一边缘点进行拟合,获得目标焊缝的第一边缘线;
对多条搜索直线中,每条搜索直线上的第二边缘点进行拟合,获得目标焊缝的第二边缘线。
结合第一方面的第四种可选的实施方式,本申请实施例还提供了第一方面的第五种可选的实施方式,根据搜索直线上离散出的多个像素点与预设基准面的高度差值,在搜索直线上确定出目标焊缝的第一边缘点和第二边缘点,包括:
针对搜索直线上离散出的多个像素点中的每个像素点,获取像素点与预设基准面的高度差值;
从搜索直线上离散出的多个像素点中,获取与预设基准面的高度差值最大的像素点,作为峰值点;
从搜索直线上离散出的多个像素点中,选取出位于峰值点的第一方位、与峰值点的距离值满足预设距离要求,且与预设基准面的高度差值最小的像素点,作为第一辅助点,并从第二辅助点与第三辅助点之间选取出与预设基准面的高度差值最小的亚像素点,作为第一边缘点,第二辅助点为与第一辅助点相邻,且位于第一辅助点第一方位的像素点,第三辅助点为与第一辅助点相邻,且位于第一辅助点第二方位的像素点,第二方位与第一方位关于峰值点对称;
从搜索直线上离散出的多个像素点中,选取出位于峰值点的第二方位、与预设基准面的高度差值位于预设高度值区间,且与峰值点的距离值最接近第一边缘点与峰值点距离值的像素点,作为第四辅助点,并从第五辅助点与第六辅助点之间选取出与预设基准面的高度差值最小的亚像素点,作为第二边缘点,第五辅助点为与第四辅助点相邻,且位于第四辅助点第一方位的像素点,第六辅助点为与第四辅助点相邻,且位于第四辅助点第二方位的像素点。
结合第一方面,本申请实施例还提供了第一方面的第六种可选的实施方式,对焊缝区域进行分析,获得目标焊缝的特征参数,包括:
在焊缝区域上,沿第二方向设置多个扫描窗口,以将焊缝区域划分为多个子区域图像,第二方向为焊缝区域的长度方向;
针对多个子区域图像中的每个子区域图像,获得子区域图像所表征子目标焊缝的体积参数,以获得多个体积参数;
将多个体积参数中数值最小的体积参数,作为目标焊缝的特征参数。
结合第一方面的第六种可选的实施方式,本申请实施例还提供了第一方面的第七种可选的实施方式,获得子区域图像所表征的子目标焊缝的体积参数,包括:
根据子区域图像内每个像素点与预设基准面的高度差值,利用二重积分计算子区域图像所表征的子目标焊缝的体积参数。
结合第一方面,本申请实施例还提供了第一方面的第八种可选的实施方式,根据特征参数,获得目标焊缝的质量检测结果,包括:
判断特征参数是否位于预设参数范围内;
若特征参数位于预设参数范围内,则目标焊缝的质量检测结果为合格;
若特征参数超出预设参数范围内,则目标焊缝的质量检测结果为不合格。
结合第一方面,本申请实施例还提供了第一方面的第九种可选的实施方式,根据特征参数,获得目标焊缝的质量检测结果,包括:
将特征参数输入预设的分类模型,并获得分类模型的输出结果,输出结果包括用于表征目标焊缝的质量检测结果为合格的第一结果,以及用于表征目标焊缝的质量检测结果为不合格的第二结果。
结合第一方面的第九种可选的实施方式,本申请实施例还提供了第一方面的第十种可选的实施方式,将特征参数输入预设的分类模型,并获得分类模型的输出结果之前,焊缝质量检测方法,还包括:
获取第一目标数量个标准焊接物中,每个标准焊接物包括的标准焊缝的特征参数,作为标准参数,以获得第一目标数量条标准参数;
获取第二目标数量个次品焊接物中,每个次品焊接物包括的不合格焊缝的特征参数,作为不合格参数,以获得第二目标数量条不合格参数;
通过第一目标数量条标准参数和第二目标数量条不合格参数,对初始学习模型进行训练,获得分类模型。
第二方面,本申请实施例提供了一种焊缝质量检测装置,包括:
图像获取模块,用于获取目标焊接物的点云数据,并将点云数据转换为高度图,目标焊接物包括基材、焊接件,以及将焊接件焊接于基材上形成的目标焊缝,目标焊缝位于焊接侧;
定位模块,用于从高度图中,确定出用于表征目标焊缝的焊缝区域;
图像分析模块,用于对焊缝区域进行分析,获得目标焊缝的特征参数;
结果获取模块,用于根据特征参数,获得目标焊缝的质量检测结果。
本申请实施例提供的焊缝质量检测装置具有与上述第一方面,或第一方面的任意一种可选的实施方式所提供的焊缝质量检测方法相同的有益效果,此处不作赘述。
第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器,存储器上存储有计算机程序,处理器用于执行计算机程序,以实现上述第一方面,或第一方面的任意一种可选的实施方式提供的焊缝质量检测方法。
本申请实施例提供电子设备具有与上述第一方面,或第一方面的任意一种可选的实施方式所提供的焊缝质量检测方法相同的有益效果,此处不作赘述。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现上述第一方面,或第一方面的任意一种可选的实施方式提供的焊缝质量检测方法。
本申请实施例提供的计算机可读存储介质具有与上述第一方面,或第一方面的任意一种可选的实施方式所提供的焊缝质量检测方法相同的有益效果,此处不作赘述。
第五方面,本申请实施例提供了一种焊缝质量检测系统,包括运行控制组件、控制器、数据采集器和上述第三方面提供的电子设备,控制器分别与运行控制组件和数据采集器连接,数据采集器还与电子设备连接;
运行控制组件用于搭载目标焊接物,并运行;
控制器用于在运行控制组件搭载目标焊接物运行至目标位置时,控制数据采集器采集目标焊接物中,焊接侧的点云数据;
数据采集器用于将点云数据发送给电子设备;
电子设备用于获取目标焊接物的点云数据,并将点云数据转换为高度图,从高度图中,确定出用于表征目标焊缝的焊缝区域,对焊缝区域进行分析,获得目标焊缝的特征参数,根据特征参数,获得目标焊缝的质量检测结果,目标焊接物包括基材、焊接件,以及将焊接件焊接于基材上形成的目标焊缝,目标焊缝位于焊接侧。
本申请实施例提供的焊缝质量检测系统具有与上述第一方面,或第一方面的任意一种可选的实施方式所提供的焊缝质量检测方法相同的有益效果,此处不作赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种焊缝质量检测系统的结构示意图。
图2为本申请实施例提供的一种焊缝质量检测系统的示意性结构框图。
图3为本申请实施例提供的一种焊缝质量检测方法的步骤流程图。
图4为本申请实施例提供的一种动力电池的焊接装配示意图。
图5为本申请实施例提供的一种对高度图进行纠偏处理的过程示意图。
图6为本申请实施例提供的一种高度图中第一感兴趣区域的位置示意图。
图7为本申请实施例提供的一种多条搜索直线的绘制方式示意图。
图8为本申请实施例提供的一种目标焊缝的剖面图。
图9为图8中q1部分的放大图。
图10为图8中q2部分的放大图。
图11为本申请实施例提供的一种扫描窗口的设置示意图。
图12为本申请实施例提供的扫描窗口的另一种设置示意图。
图13为本申请实施例提供的一种子目标焊缝的体积参数计算过程辅助说明图。
图14为本申请实施例提供的另一种子目标焊缝的体积参数计算过程辅助说明图。
图15为本申请实施例提供的扫描窗口的另一种设置示意图。
图16为本申请实施例提供的一种焊缝质量检测装置的结构示意图。
附图标记:100-焊缝质量检测系统;110-运行控制组件;111-基板;112-滑轨;113-夹具;114-引导控制组件;120-控制器;130-数据采集器;140-电子设备;150-第一安装架;151-夹持部;200-动力电池;210-电池外壳;211-开口;220-电池盖板;221-外侧面;230-目标焊缝;300-焊缝质量检测装置;310-图像获取模块;320-定位模块;330-图像分析模块;340-结果获取模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。此外,应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1和图2,本申请实施例中,焊缝质量检测系统100包括运行控制组件110、控制器120、数据采集器130和电子设备140,控制器120分别与运行控制组件110和数据采集器130连接,数据采集器130还与电子设备140连接。
运行控制组件110用于搭载目标焊接物,并运行。
本申请实施例中,运行控制组件110可以包括基板111、滑轨112、夹具113和引导控制组件114,其中,滑轨112设置于基板111上,夹具113设置于滑轨112上,且能够在引导控制组件114的控制作用下,沿滑轨112的长度方向运行,夹具113用于夹持目标焊接物,且目标焊接物中,焊接侧背离滑轨112。
控制器120用于在运行控制组件110搭载目标焊接物运行至目标位置时,控制数据采集器130采集目标焊接物中,焊接侧的点云数据。
本申请实施例中,控制器120可以是,但不限于可编程逻辑控制器120(programmablelogiccontroller,plc)。本申请实施例中,控制器120具体可以与引导控制组件114连接,用于在目标焊接物夹持于夹具113,且焊接侧背离滑轨112时,通过引导控制组件114控制夹具113沿滑轨112的长度方向运行,并在夹具113夹持目标焊接物运行至目标位置时,控制数据采集器130采集目标焊接物中,焊接侧的点云数据。此外,本申请实施例中,控制器120可以根据控制组件搭载目标焊接物运行的运行时长和运行速度,判断运行控制组件110是否搭载目标焊接物运行至目标位置。
对于数据采集器130,本申请实施例中,其可以是激光轮廓传感器,例如,lmi2520线轮廓传感器。实际实施时,数据采集器130可以通过第一安装架150设置于基板111的上方,具体地,数据采集器130可以夹持于第一安装架150上设置的夹持部151。
数据采集器130用于将点云数据发送给电子设备140。
电子设备140用于获取目标焊接物的点云数据,并将点云数据转换为高度图,从高度图中,确定出用于表征目标焊缝的焊缝区域,对焊缝区域进行分析,获得目标焊缝的特征参数,根据特征参数,获得目标焊缝的质量检测结果,目标焊接物包括基材、焊接件,以及将焊接件焊接于基材上形成的目标焊缝。对于电子设备140,本申请实施例中,其可以是服务器,例如,网络服务器、数据库服务器等,也可以是终端设备,例如,工业计算机,而在结构上,电子设备140可以包括处理器和存储器。
处理器和存储器直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。焊缝质量检测装置包括至少一个可以软件或固件(firmware)的形式存储在存储器中或固化在电子设备140的操作系统(operatingsystem,os)中的软件模块。处理器用于执行存储器中存储的可执行模块,例如,焊缝质量检测装置所包括的软件功能模块及计算机程序等,以实现焊缝质量检测方法。
处理器可以在接收到执行指令后,执行计算机程序。其中,处理器可以是一种集成电路芯片,具有信号处理能力。处理器也可以是通用处理器,例如,可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图,此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器可以是,但不限于,随机存取存储器(randomaccessmemory,ram)、只读存储器(readonlymemory,rom)、可编程只读存储器(programmableread-onlymemory,prom)、可擦可编程序只读存储器(erasableprogrammableread-onlymemory,eprom),以及电可擦编程只读存储器(electricerasableprogrammableread-onlymemory,eeprom)。存储器用于存储程序,处理器在接收到执行指令后,执行该程序。
应当理解,以上描述的结构仅为示意,本申请实施例提供的电子设备140还可以具有比以上描述内容更少或更多的组件,或是具有与以上描述内容不同的配置。
请参阅图3,为本申请实施例提供的焊缝质量检测方法的流程示意图,该方法应用于图2所示的电子设备。所应说明的是,本申请实施例提供的焊缝质量检测方法不以图3及以下所示的顺序为限制,以下结合图3对本申请实施例提供的焊缝质量检测方法的具体流程及步骤进行描述。
步骤s100,获取目标焊接物的点云数据,并将点云数据转换为高度图,目标焊接物包括基材、焊接件,以及将焊接件焊接于基材上形成的目标焊缝。
本申请实施例中,目标焊接物可以是,但不限于石化、汽车、船舶、电力能源、包装盒制造等工业产品。请结合图4,以目标焊接物为动力电池200为例,基材可以为电池外壳210,焊接件可以是电池盖板220,而电池外壳210可以呈矩形开口211结构,电池盖板220与电池外壳210中开口211的形状大小匹配,当电池盖板220安装于电池外壳210的开口211处时,电池盖板220的外侧面221与电池外壳210的开口211处齐平,但还是需要通过焊接工序,将电池盖板220焊接于电池外壳210上,以实现固定,而将电池盖板220焊接于电池外壳210上形成的目标焊缝230,正是位于电池盖板220的外侧面221与电池外壳210的开口211处齐平之后,形成的接合处。
此外,需要说明的是,本申请实施例中,高度图可以理解为点云数据转换的灰度图,针对高度图中的每个像素点,可以根据该像素点的灰度值,获取该像素点的高度值,而像素点的高度值可以理解为目标焊接物上,该像素点所表征位置与数据采集器的距离值。
步骤s200,从高度图中,确定出用于表征目标焊缝的焊缝区域。
本申请实施例中,为提高高度图的图像质量,在执行步骤s200之前,还可以包括步骤s001,对高度图进行预处理,预处理包括滤波处理和/或纠偏处理。
本申请实施例中,滤波处理的方法可以是,但不限于均值滤波、中值滤波、高斯滤波、双边滤波等,以高斯滤波为例,其原理为针对高度图中的每个像素点,通过预设的掩膜版扫描该像素点,并利用掩膜版所在区域内,所有像素点的加权平均灰度值替换位于掩膜版所在区域中心像素点的灰度值,从而平滑高度图,而实际实施时,采用的高斯滤波函数可以是opencv的gaussianblur函数,掩膜版可以为5*5个像素点。
对于纠偏处理,本申请实施例中,作为一种可选的实施方式,其可以通过对高度图进行边缘检测,确定出目标焊接物中,焊接侧的边缘直线,获取边缘直线与预设参考线之间的夹角值,再获取参考点,并以参考点为旋转中心,夹角值为旋转角度,获得旋转矩阵,最后,基于旋转矩阵,对高度图进行仿射变换,以实现对高度图的纠偏处理。实际实施时,可以通过sobel算子,以预设的搜索参数在高度图的第二感兴趣区域内,获取多个焊接物边缘点,再对多个焊接物边缘点进行拟合,确定出目标焊接物中,焊接侧的边缘直线,而预设参考线可以是高度图中任意一条竖直线或水平线,参考点可以是高度图中任一像素点,例如,高度图中目标焊接物所在区域的中心点。
以图5所示对高度图进行纠偏处理的过程为例,预设参考线为高度图中的竖直线a,参考点为高度图中目标焊接物所在区域的中心点b,以参考点为旋转中心,边缘直线与预设参考线之间的夹角值a为旋转角度,获得旋转矩阵,最后,基于旋转矩阵,对高度图进行仿射变换,以实现对高度图的纠偏处理。
此外,需要说明的是,本申请实施例中,感兴趣区域是指机器视觉、图像处理过程中,从被处理图像中,以矩形框、圆、椭圆、不规则多边形等形状框架勾勒出的待处理区域。实际实施时,可以通过halcon、opencv、matlab等机器视觉软件上常用到各种算子(operator)和函数来获取第二感兴趣区域。此外,本申请实施例中,多个焊接物边缘点可以是,但不限于3个、5个、10个,获取到多个焊接物边缘点之后,可以通过最小二乘法对多个焊接物边缘点进行拟合,确定出目标焊接物中,焊接侧的边缘直线。
通过对高度图进行预处理,能够提高高度图的图像质量,如此,在执行后续步骤200、步骤s300和步骤s400,最终,获得目标焊缝的质量检测结果时,便能够进一步地提高质量检测结果的准确度。
而对于步骤s200,本申请实施例中,作为一种可选的实施方式,其可以包括步骤s210、步骤s220和步骤s230。
步骤s210,从高度图中,选取出第一感兴趣区域。
以图6所示高度图为例,该高度图为目标焊接物中,焊接侧的高度图,也可以理解为,该高度图为目标焊接物的俯视图。此外,本申请实施例中,从高度图中选取出的第一感兴趣区域c可以是矩形框勾勒出的待处理区域,该待处理区域中包括焊接区域图像。
步骤s220,根据第一感兴趣区域内多个像素点与预设基准面的高度差值,确定出目标焊缝的第一边缘线和第二边缘线。
本申请实施例中,针对第一感兴趣区域内的每个像素点,可以根据该像素点的灰度值,获取该像素点的高度值,该像素点的高度值可以理解为目标焊接物上,该像素点对应位置与数据采集器的距离值,而该像素点与预设基准面的高度差值可以理解为目标焊接物上,该像素点的高度值与预设基准面的高度值之间的差值,同样,可以理解的是,预设基准面的高度值为预设基准面与数据采集器的距离值。进一步地,对于步骤s220,本申请实施例中,作为一种可选的实施方式,其可以包括步骤s221、步骤s222、步骤s223和步骤s224。
步骤s221,在第一感兴趣区域内,沿第一方向绘制多条搜索直线,且搜索直线与第一方向垂直,第一方向为第一感兴趣区域的长度方向。
请参阅图7,本申请实施例中,可以在第一感兴趣区域c内,沿第一方向,以第一预设长度为间隔距离,绘制多条搜索直线d,且搜索直线d与第一方向垂直,其中,第一方向为第一感兴趣区域c的长度方向,而第一预设长度可以是,但不限于10个像素点、20个像素点、30个像素点。
步骤s222,针对多条搜索直线中的每条搜索直线,根据搜索直线上离散出的多个像素点与预设基准面的高度差值,在搜索直线上确定出目标焊缝的第一边缘点和第二边缘点。
对于步骤s222中包括的根据搜索直线上离散出的多个像素点与预设基准面的高度差值,在搜索直线上确定出目标焊缝的第一边缘点和第二边缘点,本申请实施例中,作为一种可选的实施方式,其也可以具体为:针对搜索直线上离散出的多个像素点中的每个像素点,获取像素点与预设基准面的高度差值,从搜索直线上离散出的多个像素点中,获取与预设基准面的高度差值最大的像素点,作为峰值点,此后,从搜索直线上离散出的多个像素点中,选取出位于峰值点的第一方位、与峰值点的距离值满足预设距离要求,且与预设基准面的高度差值最小的像素点,作为第一辅助点,并从第二辅助点与第三辅助点之间选取出与预设基准面的高度差值最小的亚像素点,作为第一边缘点,第二辅助点为与第一辅助点相邻,且位于第一辅助点第一方位的像素点,第三辅助点为与第一辅助点相邻,且位于第一辅助点第二方位的像素点,第二方位与第一方位关于峰值点对称,最后,再从搜索直线上离散出的多个像素点中,选取出位于峰值点的第二方位、与预设基准面的高度差值位于预设高度值区间,且与峰值点的距离值最接近第一边缘点与峰值点距离值的像素点,作为第四辅助点,并从第五辅助点与第六辅助点之间选取出与预设基准面的高度差值最小的亚像素点,作为第二边缘点,第五辅助点为与第四辅助点相邻,且位于第四辅助点第一方位的像素点,第六辅助点为与第四辅助点相邻,且位于第四辅助点第二方位的像素点,其中,预设距离要求、预设高度值区间可以根据目标焊接物的产品要求具体设定,本申请实施例对此不作具体限制。此外,需要说明的是,本申请实施例中,对于第一辅助点与第二辅助点之间划分的亚像素点个数、第一辅助点与第三辅助点之间划分的亚像素点个数、第四辅助点与第五辅助点之间划分的亚像素点个数、第四辅助点与第六辅助点之间划分的亚像素点个数均不作限制。
需要说明的是,本申请实施例中,第一方位可以是峰值点朝向目标焊缝外侧的方位,也可以是峰值点朝向目标焊缝内侧的方位,若第一方位为峰值点朝向目标焊缝外侧的方位,则第一边缘点为目标焊缝的外侧边缘点,第二边缘点为目标焊缝的内侧边缘点,若第一方位为峰值点朝向目标焊缝内侧的方位,则第一边缘点为目标焊缝的内侧边缘点,第二边缘点为目标焊缝的外侧边缘点。
此外,还需要说明的是,本申请实施例中,预设基准面可以是目标焊接物中焊接件上,高度平缓的区域,以目标焊接物为动力电池为例,预设基准面可以是电池盖板上,高度平缓的区域,也可以理解为,预设基准面可以是电池盖板上,未形成目标焊缝的平缓区域,且该区域与目标焊缝的底部共面。
以下,将结合图8、图9和图10,对步骤s222的具体流程及步骤进行进一步描述,其中,图9为图8中q1部分的放大图,图10为图8中q2部分的放大图。
以图7所示的搜索直线d1为例,首先,针对搜索直线d1上离散出的多个像素点中的每个像素点,获取该像素点与预设基准面之间的高度差值。为方便理解,本申请实施例中,可以模拟出图7所示感兴趣区域对应目标焊缝的e-e向剖面图,也即,搜索直线d1位置处对应目标焊缝的剖面图,如图8所示。
针对搜索直线d1上离散出的多个像素点中的每个像素点,获取该像素点与预设基准面之间的高度差值之后,可以从搜索直线d1上离散出的多个像素点中,获取与预设基准面的高度差值最大的像素点,作为峰值点。为方便描述,本申请实施例中,可以将峰值点记作nmax。
此后,从搜索直线d1上离散出的多个像素点中,选取出位于峰值点nmax的第一方位、与峰值点nmax的距离值满足预设距离要求,且与预设基准面的高度差值最小的像素点,作为第一辅助点,并从第二辅助点与第三辅助点之间选取出与预设基准面的高度差值最小的亚像素点,作为第一边缘点。以第一方位为峰值点nmax朝向目标焊缝外侧的方位为例,也即,图7和图8中,峰值点nmax的右侧方位为例,可以从搜索直线d1上离散出的多个像素点中,选取出位于峰值点nmax右侧方位,与峰值点nmax的距离值满足预设距离要求,且与预设基准面的高度差值最小的像素点,作为第一辅助点,记作n1,再从第二辅助点n2与第三辅助点n3之间选取出与预设基准面的高度差值最小的亚像素点,作为第一边缘点,记作n11。
最后,从搜索直线d1上离散出的多个像素点中,选取出位于峰值点nmax的第二方位、与预设基准面的高度差值位于预设高度值区间,且与峰值点nmax的距离值l1最接近第一边缘点n11与峰值点nmax距离值的像素点,作为第四辅助点,记作n4,再从第五辅助点n5与第六辅助点n6之间选取出与预设基准面的高度差值最小的亚像素点,作为第二边缘点,记作n21。
步骤s223,对多条搜索直线中,每条搜索直线上的第一边缘点进行拟合,获得目标焊缝的第一边缘线。
步骤s224,对多条搜索直线中,每条搜索直线上的第二边缘点进行拟合,获得目标焊缝的第二边缘线。
需要说明的是,本申请实施例中,目标焊缝的第一边缘线可以是直线,也可以是曲线,同样,目标焊缝的第二边缘线可以是直线,也可以是曲线,本申请实施例中对此不作具体限制。
步骤s230,将第一边缘线与第二边缘线之间的区域图像,作为表征目标焊缝的焊缝区域。
步骤s300,对焊缝区域进行分析,获得目标焊缝的特征参数。
本申请实施例中,目标焊缝的特征参数可以理解为目标焊缝的整体体积参数,而目标焊缝的整体体积参数可以根据焊缝区域内每个像素点与预设基准面的高度差值,利用二重积分计算获得。但为进一步地提高质量检测结果的准确度,对于步骤s300,本申请实施例中,作为一种可选的实施方式,其也可以包括步骤s310、步骤s320和步骤s330。
步骤s310,在焊缝区域上,沿第二方向设置多个扫描窗口,以将焊缝区域划分为多个子区域图像,第二方向为焊缝区域的长度方向。
本申请实施例中,扫描窗口的长度可以根据目标焊接物的产品要求具体设定,本申请实施例对此不作具体限制,此外,本申请实施例中,扫描窗口可以是正方形,也可以为长方形,本申请实施例对此同样不作限制。请结合图11,在设定好扫描窗口的长度之后,可以在焊缝区域上,沿第二方向,以第二预设长度作为步进值,设置多个扫描窗口,分别表征为m1、m2、m3……mn-1、mn,以将焊缝区域划分为多个子区域图像,或请结合图12,在设定好扫描窗口的长度之后,可以在焊缝区域上,沿第二方向,以第二预设长度作为步进值,设置多个扫描窗口,分别表征为m1、m2、m3……m2n-2、m2n-1,其中,第二方向为焊缝区域的长度方向,第二预设长度可以与扫描窗口的长度相等(如图11所示),也可以是扫描窗口长度的1/2(如图12所示),或其他数值。
步骤s320,针对多个子区域图像中的每个子区域图像,获得子区域图像所表征子目标焊缝的体积参数,以获得多个体积参数。
本申请实施例中,针对多个子区域图像中的每个子区域图像,可以根据该子区域图像内每个像素点与预设基准面的高度差值,利用二重积分计算该子区域图像所表征的子目标焊缝的体积参数。以图11或图12所示的任意扫描窗口划分的子区域图像为例,可以建立x轴和y轴位于预设基准面上,且x轴方向为焊缝区域的宽度方向,y轴方向为第二方向,也即,焊缝区域的长度方向,z轴垂直于预设基准面的三维坐标系o-xyz,具体如图13所示,如此,子区域图像中,任意像素点的z轴坐标值,便为该像素点与预设基准面的高度差值。基于此,对于步骤s320,本申请实施例中,作为第一种可选的实施方式,可以通过以下二重积分计算逻辑,计算该子区域图像所表征的子目标焊缝的体积参数。
其中,f(x,y)为子目标焊缝在z轴上的截面积函数,d为积分区域,也即,子区域图像所在的区域。
请结合图14,对于步骤s320,本申请实施例中,作为第二种可选的实施方式,也可以沿y轴方向,以一个像素点为单位,将子区域图像划分为多个积分单元,分别表征为w1、w2、w3……wn-1、wn,此后,针对每个积分单元,可以通过以下第一积分计算逻辑,计算该积分单元所表征的焊缝单元的体积参数。
其中,f(x)为焊缝单元在z轴上的高度函数,a为扫描窗口在x轴方向上的长度值。
通过第一积分计算逻辑,获得多个积分单元中,每个积分单元所表征的焊缝单元的体积参数之后,可以通过以下第二积分计算逻辑,计算该子区域图像所表征的子目标焊缝的体积参数。
其中,f(y)为沿y轴方向,积分单元所表征的焊缝单元的体积参数,也可以理解为,f(y)为子目标焊缝在y轴上的截面积函数,b为扫描窗口在y轴方向上的长度值。
步骤s330,将多个体积参数中数值最小的体积参数,作为目标焊缝的特征参数。
需要说明的是,若第二预设长度为扫描窗口长度的1/2或更小的数值,则可以将多个体积参数中数值最小的体积参数,直接作为目标焊缝的特征参数,若第二预设长度与扫描窗口的长度相等,则可以在执行步骤s310和步骤s320而获得多个体积参数之后,以执行步骤s310时,获得的第一个扫描窗口的中心位置为窗口起始位置,再次沿第二方向设置多个扫描窗口,以将焊缝区域划分为多个子区域图像,并针对多个子区域图像中的每个子区域图像,获得子区域图像所表征子目标焊缝的体积参数,以再次获得多个体积参数,第一次获得多个体积参数过程中设置多个扫描窗口,分别表征为m1、m2、m3……mn-1、mn,以及第二次获得多个体积参数过程中设置多个扫描窗口,分别表征为m'1、m'2、m'3……m'n-1、m'n,如图15所示,最后,将两次获得的多个体积参数中数值最小的体积参数,作为目标焊缝的特征参数。
步骤s400,根据特征参数,获得目标焊缝的质量检测结果。
对于步骤s400,本申请实施例中,作为第一种可选的实施方式,其可以通过判断特征参数是否位于预设参数范围内,若特征参数位于预设参数范围内,则目标焊缝的质量检测结果为合格,若特征参数超出预设参数范围内,则目标焊缝的质量检测结果为不合格。其中,预设参数范围可以根据目标焊接物的产品要求具体设定,本申请实施例对此不作具体限制。
为进一步提高质量检测结果的准确度,对于步骤s400,本申请实施例中,作为第二种可选的实施方式,其也可以通过将特征参数输入预设的分类模型,并获得分类模型的输出结果实现,而输出结果包括用于表征目标焊缝的质量检测结果为合格的第一结果,以及用于表征目标焊缝的质量检测结果为不合格的第二结果。
基于以上描述,本申请实施例提供的焊缝质量检测方法,在将特征参数输入预设的分类模型,并获得分类模型的输出结果之前,还可以包括:获取第一目标数量个标准焊接物中,每个标准焊接物包括的标准焊缝的特征参数,作为标准参数,以获得第一目标数量条标准参数,获取第二目标数量个次品焊接物中,每个次品焊接物包括的不合格焊缝的特征参数,作为不合格参数,以获得第二目标数量条不合格参数,以及通过第一目标数量条标准参数和第二目标数量条不合格参数,对初始学习模型进行训练,获得分类模型,需要说明的是,再对初始学习模型进行训练的过程中,还将运用到每个标准焊接物中,标准焊缝的焊缝区域轮廓参数,以及每个次品焊接物中,不合格焊缝的焊缝区域轮廓参数。此外,本申请实施例中,初始学习模型可以是支持向量机(supportvectormachine,svm)。
基于与上述焊缝质量检测方法同样的发明构思,本申请实施例还提供了一种焊缝质量检测装置300。请参阅图16,本申请实施例提供的焊缝质量检测装置300包括图像获取模块310、定位模块320、图像分析模块330和结果获取模块340。
图像获取模块310,用于获取目标焊接物的点云数据,并将点云数据转换为高度图,目标焊接物包括基材、焊接件,以及将焊接件焊接于基材上形成的目标焊缝。
关于图像获取模块310的描述具体可参考对图3中所示的步骤s100的详细描述,也即,步骤s100可以由图像获取模块310执行。
定位模块320,用于从高度图中,确定出用于表征目标焊缝的焊缝区域。
关于定位模块320的描述具体可参考对图3中所示的步骤s200的详细描述,也即,步骤s200可以由定位模块320执行。
图像分析模块330,用于对焊缝区域进行分析,获得目标焊缝的特征参数。
关于图像分析模块330的描述具体可参考对图3中所示的步骤s300的详细描述,也即,步骤s300可以由图像分析模块330执行。
结果获取模块340,用于根据特征参数,获得目标焊缝的质量检测结果。
根据特征参数,获得目标焊缝的质量检测结果,可以包括:
判断特征参数是否位于预设参数范围内;
若特征参数位于预设参数范围内,则目标焊缝的质量检测结果为合格;
若特征参数超出预设参数范围内,则目标焊缝的质量检测结果为不合格。
判断特征参数是否位于预设参数范围内,也可以包括:
将特征参数输入预设的分类模型,并获得分类模型的输出结果,输出结果包括用于表征目标焊缝的质量检测结果为合格的第一结果,以及用于表征目标焊缝的质量检测结果为不合格的第二结果。
基于此,将特征参数输入预设的分类模型,并获得分类模型的输出结果之前,焊缝质量检测方法,还包括:
获取第一目标数量个标准焊接物中,每个标准焊接物包括的标准焊缝的特征参数,作为标准参数,以获得第一目标数量条标准参数;
获取第二目标数量个次品焊接物中,每个次品焊接物包括的不合格焊缝的特征参数,作为不合格参数,以获得第二目标数量条不合格参数;
通过第一目标数量条标准参数和第二目标数量条不合格参数,对初始学习模型进行训练,获得分类模型。
关于结果获取模块340的描述具体可参考对图3中所示的步骤s400的详细描述,也即,步骤s400可以由结果获取模块340执行。
本申请实施例提供的焊缝质量检测装置300,还可以包括预处理模块。
预处理模块,用于对高度图进行预处理,预处理包括滤波处理和/或纠偏处理。
预处理包括纠偏处理,对高度图进行预处理,可以包括:
对高度图进行边缘检测,确定出目标焊接物中,焊接侧的边缘直线;
获取边缘直线与预设参考线之间的夹角值;
获取参考点,并以参考点为旋转中心,夹角值为旋转角度,获得旋转矩阵;
基于旋转矩阵,对高度图进行仿射变换,以实现对高度图的纠偏处理。
关于预处理模块的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s001的详细描述,也即,步骤s001可以由预处理模块执行。
本申请实施例中,定位模块320可以包括区域选取单元、边缘线确定单元和图像获取单元。
区域选取单元,用于从高度图中,选取出第一感兴趣区域。
关于区域选取单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s210的详细描述,也即,步骤s210可以由区域选取单元执行。
边缘线确定单元,用于根据第一感兴趣区域内多个像素点与预设基准面的高度差值,确定出目标焊缝的第一边缘线和第二边缘线。
关于边缘线确定单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s220的详细描述,也即,步骤s220可以由边缘线确定单元执行。
图像获取单元,用于将第一边缘线与第二边缘线之间的区域图像,作为表征目标焊缝的焊缝区域。
关于图像获取单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s230的详细描述,也即,步骤s230可以由图像获取单元执行。
本申请实施例中,边缘线确定单元可以包括绘制子单元、边缘点确定子单元、第一边缘线确定子单元和第二边缘线确定子单元。
绘制子单元,用于在第一感兴趣区域内,沿第一方向绘制多条搜索直线,且搜索直线与第一方向垂直,第一方向为第一感兴趣区域的长度方向。
关于绘制子单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s221的详细描述,也即,步骤s221可以由绘制子单元执行。
边缘点确定子单元,用于针对多条搜索直线中的每条搜索直线,根据搜索直线上离散出的多个像素点与预设基准面的高度差值,在搜索直线上确定出目标焊缝的第一边缘点和第二边缘点。
根据搜索直线上离散出的多个像素点与预设基准面的高度差值,在搜索直线上确定出目标焊缝的第一边缘点和第二边缘点,可以包括:
针对搜索直线上离散出的多个像素点中的每个像素点,获取像素点与预设基准面的高度差值;
从搜索直线上离散出的多个像素点中,获取与预设基准面的高度差值最大的像素点,作为峰值点;
从搜索直线上离散出的多个像素点中,选取出位于峰值点的第一方位、与峰值点的距离值满足预设距离要求,且与预设基准面的高度差值最小的像素点,作为第一辅助点,并从第二辅助点与第三辅助点之间选取出与预设基准面的高度差值最小的亚像素点,作为第一边缘点,第二辅助点为与第一辅助点相邻,且位于第一辅助点第一方位的像素点,第三辅助点为与第一辅助点相邻,且位于第一辅助点第二方位的像素点,第二方位与第一方位关于峰值点对称;
从搜索直线上离散出的多个像素点中,选取出位于峰值点的第二方位、与预设基准面的高度差值位于预设高度值区间,且与峰值点的距离值最接近第一边缘点与峰值点距离值的像素点,作为第四辅助点,并从第五辅助点与第六辅助点之间选取出与预设基准面的高度差值最小的亚像素点,作为第二边缘点,第五辅助点为与第四辅助点相邻,且位于第四辅助点第一方位的像素点,第六辅助点为与第四辅助点相邻,且位于第四辅助点第二方位的像素点。
关于边缘点确定子单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s222的详细描述,也即,步骤s222可以由边缘点确定子单元执行。
第一边缘线确定子单元,用于对多条搜索直线中,每条搜索直线上的第一边缘点进行拟合,获得目标焊缝的第一边缘线。
关于第一边缘线确定子单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s223的详细描述,也即,步骤s223可以由第一边缘线确定子单元执行。
第二边缘线确定子单元,用于对多条搜索直线中,每条搜索直线上的第二边缘点进行拟合,获得目标焊缝的第二边缘线。
关于第二边缘线确定子单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s224的详细描述,也即,步骤s224可以由第二边缘线确定子单元执行。
本申请实施例中,图像分析模块330可以包括窗口设置单元、第一参数获取单元和第二参数获取单元。
窗口设置单元,用于在焊缝区域上,沿第二方向设置多个扫描窗口,以将焊缝区域划分为多个子区域图像,第二方向为焊缝区域的长度方向。
关于窗口设置单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s310的详细描述,也即,步骤s310可以由窗口设置单元执行。
第一参数获取单元,用于针对多个子区域图像中的每个子区域图像,获得子区域图像所表征子目标焊缝的体积参数,以获得多个体积参数。
获得子区域图像所表征的子目标焊缝的体积参数,可以包括:
根据子区域图像内每个像素点与预设基准面的高度差值,利用二重积分计算子区域图像所表征的子目标焊缝的体积参数。
关于第一参数获取单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s320的详细描述,也即,步骤s320可以由第一参数获取单元执行。
第二参数获取单元,用于将多个体积参数中数值最小的体积参数,作为目标焊缝的特征参数。
关于第二参数获取单元的描述具体可参考上述焊缝质量检测方法相关实施例中关于步骤s330的详细描述,也即,步骤s330可以由第二参数获取单元执行。
此外,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现上述方法实施例所提供的焊缝质量检测方法,具体可参见上述方法实施例,本申请实施例中对此不作赘述。
综上所述,本申请实施例提供的焊缝质量检测方法、装置、系统及电子设备,通过获取目标焊接物的点云数据,并将点云数据转换为高度图,从高度图中,确定出用于表征目标焊缝的焊缝区域,再对焊缝区域进行分析,获得目标焊缝的特征参数,最后,根据特征参数,获得目标焊缝的质量检测结果,其中,目标焊接物包括基材、焊接件,以及将焊接件焊接于基材上形成的目标焊缝。相对于现有技术中,采用人工检测的方法对焊缝质量进行检测的方案而言,本申请实施例提供的焊缝质量检测方法、装置、系统及电子设备基于机器视觉技术,获得目标焊缝的质量检测结果,避免了人工参与,因此,能够提高质量检测结果的准确度,例如,本申请实施例提供的焊缝质量检测方法能够应用于周边焊的焊缝质量检测,以检测出面积大于0.5mm2,深度大于0.2mm的焊缝缺陷,具有较强的实际应用价值。
在本申请几个实施例中,应当理解到,所揭露的焊缝质量检测方法和装置,也可以通过其它的方式实现,而以上所描述的焊缝质量检测装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。此外,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以并行地执行,它们有时也可以按相反的顺序执行,这将根据所涉及的功能而定。还应当注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,在本申请每个实施例中,各功能模块可以集成在一起形成一个独立的部分,也可以是每个模块单独存在,也可以多个模块集成形成一个独立的部分。
此外,所述功能如果以软件功能模块的形式实现,并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请每个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
还需要说明的是,在本申请文件中,诸如“第一”、“第二”、“第三”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,而术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。