电路板焊点缺陷检测方法、装置以及检测设备与流程

专利检索2022-05-10  123



1.本发明实施例涉及电路板的缺陷检测技术,尤其涉及一种电路板焊点缺陷检测方法、装置以及检测设备。


背景技术:

2.随着电子产品的发展,电路板也朝着高精度、高密度的方向发展,同时焊点的质量直接影响到产品的寿命,稳定性和机器整体的质量。焊点的缺陷是影响质量的主要因素,如何及时地对焊点缺陷进行检测,以保证产品质量的可靠性和稳定性,成为当今社会越来越关注的问题。
3.目前的电路板焊点检测基本都是人工完成的,检测人员在产线工位通过人眼来识别判断焊点是否存在缺陷,若发现缺陷则进行标记、记录、拾捡和后续修改工作。但是,人工视觉检测方法具有很多弊端,受限于人类视觉和大脑的生理机能,人工分类和检测效率不高,也无法精细测量计算焊点形态的均匀度,检出标准难以量化和统一。


技术实现要素:

4.本发明提供一种电路板焊点缺陷检测方法、装置以及检测设备,以实现对电路板焊点缺陷的高效率、高精度的检测。
5.第一方面,本发明实施例提供了一种电路板焊点缺陷检测方法,包括:
6.基于3d线阵扫描相机,获取待检测电路板的原始深度图像;
7.根据所述原始深度图像,确定所述待检测电路板的拟合平面;
8.以所述拟合平面为基准面,将所述原始深度图像转换为所述待检测电路板的检测深度图像;
9.根据所述检测深度图像,确定所述待检测电路板的焊点区域内各个感兴趣区域的焊点高度值;
10.将所述感兴趣区域的焊点高度值未在该所述感兴趣区域对应的焊点高度阈值范围内的所述感兴趣区域确定为所述待检测电路板的焊点缺陷区域。
11.可选的,根据所述检测深度图像,确定所述待检测电路板的焊点区域内各个感兴趣区域的焊点高度值,包括:
12.获取所述待检测电路板上焊点标记特征;
13.根据所述焊点标记特征,确定所述检测深度图像中的焊点区域;
14.将所述焊点区域划分为n个感兴趣区域;
15.根据所述检测深度图像中各个位置处的深度数据,确定各所述感兴趣区域的焊点高度值。
16.可选的,所述感兴趣区域为扇形或扇环;n个所述感兴趣区域构成多个同心圆环;属于同一所述同心圆环的所述感兴趣区域为一感兴趣区组;其中,属于同一所述感兴趣区组的各所述感兴趣区域对应的所述焊点高度阈值范围相同。
17.可选的,将所述感兴趣区域的焊点高度值未在该所述感兴趣区域对应的焊点高度阈值范围内的所述感兴趣区域确定为所述待检测电路板的焊点缺陷区域,包括:
18.构建与各所述感兴趣区域一一对应的二维数组的数组元素h[i][j]=hij;其中,h[i][j]表示从所述同心圆环的圆心开始依序排列的第i个同心圆环中第j个所述感兴趣区域对应的数组元素,hij为第i个同心圆环中第j个所述感兴趣区域的焊点高度值;
[0019]
根据同一所述感兴趣区组内各所述感兴趣区域的焊点高度值,确定该所述感兴趣区组的焊点高度平均值;
[0020]
一一对应地确定所述感兴趣区组中各所述感兴趣区域的焊点高度值与该所述感兴趣区组的焊点高度平均值的焊点高度差;
[0021]
根据所述感兴趣区域对应的所述焊点高度差与该所述感兴趣区域所属的所述感兴趣区组对应的所述焊点高度阈值范围的比较结果,修正该所述感兴趣区域对应的数组元素的标志位;
[0022]
根据所述感兴趣区域对应的修正后的数组元素的标志位,确定各所述感兴趣区域的缺陷类型;
[0023]
将预设邻域内缺陷类型相同的所述感兴趣区域进行组合连通,以确定所述待检测电路板的焊点缺陷区域。
[0024]
可选的,根据所述感兴趣区域对应的所述焊点高度差与该所述感兴趣区域所属的所述感兴趣区域对应的所述焊点高度阈值的比较结果,修正该所述感兴趣区域对应的数组元素的标志位,包括:
[0025]
当所述感兴趣区域对应的所述焊点高度差大于该所述感兴趣区域所属的所述感兴趣区域对应的所述焊点高度阈值范围的最大值时,将该所述感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w1;
[0026]
当所述感兴趣区域对应的所述焊点高度差在该所述感兴趣区域所属的所述感兴趣区域对应的所述焊点高度阈值范围内时,将该所述感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w2;
[0027]
当所述感兴趣区域对应的所述焊点高度差小于该所述感兴趣区域所属的所述感兴趣区域对应的所述焊点高度阈值范围的最小值时,将该所述感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w3;
[0028]
其中,w1>w2>w3,且w1、w2和w3均为固定的整数。
[0029]
可选的,在根据修正后的所述感兴趣区域对应的数组元素的标志位,确定各所述感兴趣区域的缺陷类型之前,还包括:
[0030]
生成大小为p
×
q的滑动窗口,以利用所述滑动窗口,遍历各所述感兴趣区域;其中,p
×
q小于所述焊点区域内感兴趣区域的数量;
[0031]
计算当前所述滑动窗口中预设位置处的所述感兴趣区域对应的数组元素w[i][j]的邻域值;
[0032]
判断当前所述滑动窗口中预设位置处的所述感兴趣区域对应的数组元素w[i][j]的标志位是否与当前所述滑动窗口中其它所述感兴趣区域对应的数组元素w[i][j]的标志位均不相等;
[0033]
若是,则将预设位置处的所述感兴趣区域对应的数组元素w[i][j]的标志位置为
当前所述滑动窗口中所有所述感兴趣区域对应的数组元素w[i][j]的标志位的加权平均数的取整值。
[0034]
可选的,将预设邻域内缺陷类型相同的所述感兴趣区域进行组合连通,以确定所述待检测电路板的焊点缺陷区域,包括:
[0035]
在各感兴趣区域对应的数组元素中搜索标志位为第一标志位的数组元素,并将首次搜索到的标志位为所述第一标志位的数组元素作为栈顶元素压入搜索栈中,以及将所述栈顶元素标记为已搜索;其中,所述第一标志位为w1或w3;
[0036]
判断与所述栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位;
[0037]
若是,则将与所述栈顶元素相邻且未标记已搜索的数组元素所述作为更新后的栈顶元素压入所述搜索栈,以及将更新后的所述栈顶元素标记为已搜索;
[0038]
判断与更新后的所述栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位;
[0039]
若是,则返回执行将与所述栈顶元素相邻且未标记已搜索的数组元素所述作为更新后的栈顶元素压入所述搜索栈,以及将更新后的所述栈顶元素标记为已搜索的步骤;
[0040]
直至与更新后的所述栈顶元素相邻的所有所述数组元素的标志位均不是所述第一标志位时,返回执行判断与所述栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位的步骤;
[0041]
判断标志位为所述第一标志位的所述数组元素是否均为已搜索的数组元素;
[0042]
若是,将压入所述搜索栈的各所述数组元素组合为第一缺陷的缺陷数组;
[0043]
根据所述缺陷数组中各所述数组元素对应的感兴趣区域的面积权重,确定所述缺陷数组中各所述数组元素对应的感兴趣区域的连通面积,以确定所述待检测电路板的焊点缺陷区域的投影面积占比。
[0044]
可选的,在根据所述检测深度图像,确定所述待检测电路板的焊点区域内各个感兴趣区域的焊点高度值之前,还包括:
[0045]
对所述检测深度图像进行滤波,以将滤波后的所述检测深度图像作为确定所述待检测电路板的焊点区域内各个感兴趣区域的焊点高度值的检测深度图像。
[0046]
第二方面,本发明实施例还提供了一种电路板焊点缺陷检测装置,包括:
[0047]
深度图像获取模块,用于基于3d线阵扫描相机,获取待检测电路板的原始深度图像;
[0048]
拟合平面确定模块,用于根据所述原始深度图像,确定所述待检测电路板的拟合平面;
[0049]
深度图像转换模块,用于以所述拟合平面为基准面,将所述原始深度图像转换为所述待检测电路板的检测深度图像;
[0050]
焊点高度值确定模块,用于根据所述检测深度图像,确定所述待检测电路板的焊点区域内各个感兴趣区域的焊点高度值;
[0051]
焊点缺陷区域确定模块,用于将所述感兴趣区域的焊点高度值未在该所述感兴趣区域对应的焊点高度阈值范围内的所述感兴趣区域确定为所述待检测电路板的焊点缺陷区域。
[0052]
第三方面,本发明实施例还提供了一种电路板焊点缺陷检测设备,包括:3d线阵扫描相机和处理器;
[0053]
3d线阵扫描相机用于对待检测电路板进行扫描,并输出所述待检测电路板的点云数据至所述处理器
[0054]
所述处理器用于根据所述待检测电路板的点云数据,执行权利要求1~8任一项所述的电路板焊点缺陷检测方法。
[0055]
本发明实施例提供的电路板焊点缺陷检测方法,通过将3d线阵扫描相机获取的待检测电路板的点云数据转换为以3d线阵扫描相机的零平面为基准面的点云数据,确定原始深度图像,并根据原始深度图像的点云数据对待检测电路板的平面进行拟合,以待检测电路板的拟合平面为基准面对原始深度图像进行重构,获取检测深度图像,从而可通过检测深度图像中的中深度值表示焊点高度,检测各区域的焊点高度是否在对应区域的焊点高度阈值范围内,判断焊点的各区域是否存在缺陷,实现了对焊点形态的量化和统一,相较于传统检测方法,将焊点分区域检测,对每个区域的高度信息进行统计,针对性的获取缺陷大小,评判缺陷的严重程度,有效满足了电路板组装流水线对检测焊点的效率以及元件焊装质量信息能够及时反馈的需求,解决了人工检测效率慢、成本高的问题,大幅提高了检测精度和检测效率。
附图说明
[0056]
图1是本发明实施例提供的一种电路板焊点缺陷检测方法的流程图;
[0057]
图2是本发明实施例提供的另一种电路板焊点缺陷检测方法的流程图;
[0058]
图3是本发明实施例提供的一种焊点立体图形的结构示意图;
[0059]
图4是本发明实施例提供的一种焊点区域的结构示意图;
[0060]
图5是本发明实施例提供的又一种电路板焊点缺陷检测方法的流程图;
[0061]
图6是本发明实施例提供的又一种电路板焊点缺陷检测方法的流程图;
[0062]
图7是本发明实施例提供的又一种电路板焊点缺陷检测方法的流程图;
[0063]
图8是本发明实施例提供的一种电路板焊点缺陷检测装置的结构示意图。
具体实施方式
[0064]
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0065]
本发明实施例提供一种电路板焊点缺陷检测方法,该方法可检测电路板焊点是否存在缺陷,该方法可由本发明实施例提供的电路板焊点缺陷检测装置执行,该电路板焊点缺陷检测装置可由软件和/或硬件实现,该电路板焊点缺陷检测装置可集成于本发明实施例提供的电路板焊点缺陷检测设备的处理器中。
[0066]
图1是本发明实施例提供的一种电路板焊点缺陷检测方法的流程图,如图1所示,该电路板焊点缺陷检测方法包括:
[0067]
s110、基于3d线阵扫描相机,获取待检测电路板的原始深度图像。
[0068]
具体的,3d线阵扫描相机能够采集待检测电路板的点云数据,点云数据是指具有
空间坐标的采样点的集合,通常以(x,y,z)三维坐标的形式表示,可以表示一个物体的外表面形状以及一个点的rgb颜色、灰度值、深度和分割结果等。在3d线阵扫描相机采集待检测电路板的点云数据后,可以3d线阵扫描相机的零平面为基准平面,将待检测电路板的点云数据转换为原始深度图像,使点云数据的坐标系转换为3d线阵扫描相机的坐标系,以方便数据处理。
[0069]
s120、根据原始深度图像,确定待检测电路板的拟合平面。
[0070]
具体的,可采用最小二乘法根据原始深度图像对待检测电路板进行平面拟合,示例性的,最小二乘法的矩阵方程为ax=b,其中a为n*k的矩阵,x为k*1的列向量,b为n*1的列向量。求解最小二乘矩阵方程的方法包括奇异值分解、正规方程和qr分解三种,本实施例优选采用正规方程对平面方程进行拟合,正规方程组的解为:x=(a
t
a)
‑1a
t
b;平面方程的一般表达式为bx cy dz e=0(d≠0),将表达式变换为:另另则平面方程的表达式为z=a0x a1y a2,此时对应的最小二乘矩阵方程为:
[0071][0072]
其中,n≥3,(x1,y1,z1),(x2,y2,z2),

,(x
n
,y
n
,z
n
)为原始深度图像中各三维坐标点的坐标,将其带入正规方程组的解x=(a
t
a)
‑1a
t
b中,即可求得(a0,a1,a2),从而可以确定平面方程z=a0x a1y a2。
[0073]
s130、以拟合平面为基准面,将原始深度图像转换为待检测电路板的检测深度图像。
[0074]
具体的,确定了待检测电路板的拟合平面后,将原始深度图像重构成以待检测电路板平面为零平面的检测深度图像,即以待检测电路板的拟合平面为基准面,对原始深度图像进行转换,以确定待检测电路板的检测深度图像。
[0075]
s140、根据检测深度图像,确定待检测电路板的焊点区域内各个感兴趣区域的焊点高度值。
[0076]
具体的,焊点区域为检测深度图像中能够体现待检测电路板焊点位置的区域,其可根据待检测电路板中标记点的灰度特征等,确定检测深度图像中与该标记点的灰度特征相匹配的位置作为检测深度图像中的标记点区域,再由待检测电路板中标记点位置与焊点位置之间的相对位置关系,确定检测深度图像中的焊点位置作为焊点区域;焊点区域可以划分为多个子区域作为感兴趣区域。检测深度图像中深度值即可代表焊点区域内各个感兴趣区域的焊点高度值,可以用每个像素的灰度值代表该像素对应的深度值。
[0077]
s150、将感兴趣区域的焊点高度值未在该感兴趣区域对应的焊点高度阈值范围内的感兴趣区域确定为待检测电路板的焊点缺陷区域。
[0078]
具体的,可以将焊点分为若干个感兴趣区域,结合正常焊点的数据对每个感兴趣区域设置对应的焊点高度阈值范围,检测各感兴趣区域的焊点高度值是否在对应的焊点高
度阈值范围内,若检测深度图像中焊点区域中某个感兴趣区域的点云数据在其对应的焊点高度阈值范围内,则可确定该感兴趣区域无缺陷,若检测深度图像中焊点区域的某个感兴趣区域的点云数据不在其对应的焊点高度阈值范围内,则可确定该感兴趣区域存在凹陷或凸起的缺陷,由此可以确定凹陷或凸起缺陷所在的位置,并将该位置作为焊点缺陷区域,同时根据焊点缺陷区域中所包括的像素的数量以及各像素对应的深度值,可确定焊点缺陷区域的面积、体积等。
[0079]
本发明实施例通过将3d线阵扫描相机获取的待检测电路板的点云数据转换为以3d线阵扫描相机的零平面为基准面的点云数据,确定原始深度图像,并根据原始深度图像的点云数据对待检测电路板的平面进行拟合,以待检测电路板的拟合平面为基准面对原始深度图像进行重构,获取检测深度图像,从而可通过检测深度图像中的中深度值表示焊点高度,检测各区域的焊点高度是否在对应区域的焊点高度阈值范围内,判断焊点的各区域是否存在缺陷,实现了对焊点形态的量化和统一,相较于传统检测方法,将焊点分区域检测,对每个区域的高度信息进行统计,针对性的获取缺陷大小,评判缺陷的严重程度,有效满足了电路板组装流水线对检测焊点的效率以及元件焊装质量信息能够及时反馈的需求,解决了人工检测效率慢、成本高的问题,大幅提高了检测精度和检测效率。
[0080]
可选的,图2是本发明实施例提供的另一种电路板焊点缺陷检测方法的流程图,如图2所示,该电路板焊点缺陷检测方法包括:
[0081]
s211、基于3d线阵扫描相机,获取待检测电路板的原始深度图像。
[0082]
s212、根据原始深度图像,确定待检测电路板的拟合平面。
[0083]
s213、以拟合平面为基准面,将原始深度图像转换为待检测电路板的检测深度图像。
[0084]
s214、获取待检测电路板上焊点标记特征。
[0085]
具体的,焊点标记可以为待检测电路板中标记焊点位置的标记点,也可以为待检测电路板中作为焊点位置的参考位置的标记点,焊点标记特征可以包括焊点标记位置,以及该焊点标记在检测深度图像中的深度值、轮廓等。
[0086]
s215、根据焊点标记特征,确定检测深度图像中的焊点区域。
[0087]
具体的,待检测电路板中的焊点标记的位置与焊点位置具有对应的相对位置关系,可在根据检测深度图像中焊点标记特征确定焊点标记的位置之后,根据待检测电路板中的焊点标记与焊点的相对位置关系确定焊点区域的位置。
[0088]
s216、将焊点区域划分为n个感兴趣区域。
[0089]
示例性的,图3是本发明实施例提供的一种焊点立体图形的结构示意图,图4是本发明实施例提供的一种焊点区域的结构示意图,结合参考图3和图4所示,以焊点01的立体空间图形为圆锥形为例,当焊点01的立体空间图形为圆锥形时,其俯视图为圆形,即确定的焊点区域00为焊点所在的圆形区域。将焊点区域00划分为n个感兴趣区域11,感兴趣区域可以为扇形或扇环,例如图中最靠近焊点区域00中心位置的感兴趣区域11为扇形,其它焊点区域00中心位置的感兴趣区域11为扇环;n个感兴趣区域11构成多个同心圆环,多个同心圆环构成焊点区域00;属于同一同心圆环的感兴趣区域11为一感兴趣区组10(为了便于理解,图4中仅将一组属于同一感兴趣区组10的各感兴趣区域11用阴影进行了填充);其中,属于同一感兴趣区组10的各感兴趣区域11对应的焊点高度阈值范围相同。由于焊点区域的各感
兴趣组的深度值不同,例如由焊点中心位置到焊点边缘位置焊点高度是逐渐减小的,因此各感兴趣区组10的焊点高度由焊点区域中心位置到焊点区域边缘位置逐渐减小,而理想情况下每个感兴趣区组10的各感兴趣区域11的焊点高度应是相同的,为了保证对焊点均匀度的精准检测,可以使同一感兴趣区组10中各感兴趣区域11的焊点高度阈值范围相同,该焊点高度阈值范围可以是根据该感兴趣区组10的焊点高度平均值确定的允许的误差范围。
[0090]
需要说明的是,图4仅以焊点区域包括8个同心圆环,每个同心圆环包括32个感兴趣区域,即焊点区域包括32
×
8=256个感兴趣区域为例,但不限于此,为了实现对焊点的均匀度和焊点缺陷位置更精确的检测,可以使焊点区域包括更多同心圆环,并将每个同心圆环划分为更多感兴趣区域。
[0091]
s217、根据检测深度图像中各个位置处的深度数据,确定各感兴趣区域的焊点高度值。
[0092]
其中,检测深度图像中,焊点区域中各感兴趣区域11的深度数据可以用灰度值表示,感兴趣区域11的灰度值与该感兴趣区域11的深度值(即焊点高度值)具有一定的关系,因此可以根据各感兴趣区域11的深度数据确定各感兴趣区域11的焊点高度值。
[0093]
s218、构建与各感兴趣区域一一对应的二维数组的数组元素h[i][j]=hij;其中,h[i][j]表示从同心圆环的圆心开始依序排列的第i个同心圆环中第j个感兴趣区域对应的数组元素,hij为第i个同心圆环中第j个感兴趣区域的焊点高度值。
[0094]
具体的,通过构建与各感兴趣区域11一一对应的二维数组的数组元素h[i][j],能够对各感兴趣区域进行区分,将获取的各感兴趣区域11的焊点高度值赋值给与各感兴趣区域11对应的数组元素,能够将各感兴趣区域11的焊点高度值进行存储,以便后续的数据处理。
[0095]
示例性的,参考图4,感兴趣区域801对应的二维数组元素为h[8][1]=h81,h81即为感兴趣区域801对应的焊点高度值;感兴趣区域802对应的二维数组元素为h[8][2]=h82,h82即为感兴趣区域802对应的焊点高度值;以此类推,感兴趣区域832对应的二维数组元素为h[8][32]=h832,h832即为感兴趣区域832对应的焊点高度值。
[0096]
s219、根据同一感兴趣区组内各感兴趣区域的焊点高度值,确定该感兴趣区组的焊点高度平均值。
[0097]
具体的,对同一感兴趣区组10内所有感兴趣区域11的焊点高度值进行加和并取平均值,求得各感兴趣区组10的焊点高度平均值,计算各感兴趣区组10焊点高度平均值的公式可以为:
[0098]
示例性的,计算最外侧的感兴趣区组中各感兴趣区域801、802、803、

、832的平均值
[0099][0100]
其中,h8j代表h81、h82、h83、

、h832,h81、h82、h83、

、h832,分别为感兴趣区域801、802、803、

、832的焊点高度值。
[0101]
s220、一一对应地确定感兴趣区组中各感兴趣区域的焊点高度值与该感兴趣区组的焊点高度平均值的焊点高度差。
[0102]
示例性的,以感兴趣区域801为例,感兴趣区域801的焊点高度值h801与其所在感兴趣区组的焊点高度平均值的焊点高度差为
[0103]
s221、根据感兴趣区域对应的焊点高度差与该感兴趣区域所属的感兴趣区组对应的焊点高度阈值范围的比较结果,修正该感兴趣区域对应的数组元素的标志位。
[0104]
可选的,修正数组元素的标志位可采用如下方法:可首先判断感兴趣区域对应的焊点高度差是否大于该感兴趣区域所属的感兴趣区组对应的焊点高度阈值范围的最大值;若确定感兴趣区域对应的焊点高度差大于其所属感兴趣区组对应的焊点高度阈值范围的最大值,则将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w1。若确定感兴趣区域对应的焊点高度差不大于其所属感兴趣区组对应的焊点高度阈值范围的最大值,则判断感兴趣区域对应的焊点高度差是否小于该感兴趣区域所属的感兴趣区组对应的焊点高度阈值范围的最小值;若确定感兴趣区域对应的焊点高度差小于其所属感兴趣区组对应的焊点高度阈值范围的最小值,则将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w3;若确定感兴趣区域对应的焊点高度差在其所属感兴趣区组对应的焊点高度阈值范围内,则将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w2。其中,w1>w2>w3,且w1、w2和w3均为固定的整数。
[0105]
具体的,若感兴趣区域11对应的焊点高度差大于该感兴趣区域11所属的感兴趣区组10对应的焊点高度阈值范围的最大值,则将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w1,表示该感兴趣区域11存在凸起缺陷;若感兴趣区域11对应的焊点高度差在该感兴趣区域11所属的感兴趣区组10对应的焊点高度阈值范围内,则将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w2,表示该感兴趣区域11不存在缺陷;若感兴趣区域11对应的焊点高度差小于该感兴趣区域11所属的感兴趣区组10对应的焊点高度阈值范围的最小值,则将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w3,表示该感兴趣区域11存在凹陷缺陷。示例性的,可以设置为w1=2,w2=1,w3=0。
[0106]
s222、根据感兴趣区域对应的修正后的数组元素的标志位,确定各感兴趣区域的缺陷类型。
[0107]
示例性的,以感兴趣区域801为例,若感兴趣区域801的数组元素w[8][1]的标志位修正后为w[8][1]=w3,则确定感兴趣区域801存在凹陷的缺陷。
[0108]
s223、将预设邻域内缺陷类型相同的感兴趣区域进行组合连通,以确定待检测电路板的焊点缺陷区域。
[0109]
具体的,若确定某个感兴趣区域11存在缺陷,则在该感兴趣区域11的预设邻域内确定其他存在相同缺陷的感兴趣区域11,将预设邻域内所有存在相同缺陷的感兴趣区域11进行组合联通,作为待检测电路板的焊点缺陷区域。
[0110]
示例性的,若确定感兴趣区域801存在凹陷的缺陷,即确定w[8][1]=w3,则可继续判断感兴趣区域802、感兴趣区域701、感兴趣区域832是否存在相同缺陷,若确定感兴趣区域802、感兴趣区域701、感兴趣区域832也存在凹陷的缺陷,则继续判断与上述感兴趣区域相邻的感兴趣区域是否存在凹陷的缺陷,若确定与上述感兴趣区域相邻的感兴趣区域均不存在凹陷的缺陷,则可确定焊点缺陷区域为感兴趣区域801、感兴趣区域802、感兴趣区域701和感兴趣区域832组成的区域,且缺陷类型为凹陷。
[0111]
本发明实施例通过将检测深度图像中的焊点区域划分为n个感兴趣区域,通过判断各感兴趣区域的焊点高度值与焊点高度平均值的差值是否在焊点高度阈值范围内,确定各感兴趣区域是否存在缺陷,实现了对检测标准的量化和统一,实现了对焊点均匀度的精准检测,另外设置各感兴趣区域的二维数组,可以对各感兴趣区域进行标定,便于根据二维数组存储的数据确定各感兴趣区域的缺陷类型,提高了电路板焊点缺陷检测的进度以及检测效率。
[0112]
可选的,图5是本发明实施例提供的又一种电路板焊点缺陷检测方法的流程图,如图5所示,该电路板焊点缺陷检测方法包括:
[0113]
s311、基于3d线阵扫描相机,获取待检测电路板的原始深度图像。
[0114]
s312、根据原始深度图像,确定待检测电路板的拟合平面。
[0115]
s313、以拟合平面为基准面,将原始深度图像转换为待检测电路板的检测深度图像。
[0116]
s314、获取待检测电路板上焊点标记特征。
[0117]
s315、根据焊点标记特征,确定检测深度图像中的焊点区域。
[0118]
s316、将焊点区域划分为n个感兴趣区域。
[0119]
示例性的,参考图4,感兴趣区11为扇形或扇环;n个感兴趣区域11构成多个同心圆环;属于同一同心圆环的感兴趣区域为一感兴趣区组10;其中,属于同一感兴趣区组10的各感兴趣区域11对应的焊点高度阈值范围相同。
[0120]
s317、根据检测深度图像中各个位置处的深度数据,确定各感兴趣区域的焊点高度值。
[0121]
s318、构建与各感兴趣区域一一对应的二维数组的数组元素h[i][j]=hij;其中,h[i][j]表示从同心圆环的圆心开始依序排列的第i个同心圆环中第j个感兴趣区域对应的数组元素,hij为第i个同心圆环中第j个感兴趣区域的焊点高度值。
[0122]
s319、根据同一感兴趣区组内各感兴趣区域的焊点高度值,确定该感兴趣区组的焊点高度平均值。
[0123]
s320、一一对应地确定感兴趣区组中各感兴趣区域的焊点高度值与该感兴趣区组的焊点高度平均值的焊点高度差。
[0124]
s321、根据感兴趣区域对应的焊点高度差与该感兴趣区域所属的感兴趣区组对应的焊点高度阈值范围的比较结果,修正该感兴趣区域对应的数组元素的标志位。
[0125]
s322、生成大小为p
×
q的滑动窗口,以利用滑动窗口,遍历各感兴趣区域;其中,p
×
q小于焊点区域内感兴趣区域的数量。
[0126]
s323、判断当前所述滑动窗口中预设位置处的所述感兴趣区域对应的数组元素w[i][j]的标志位是否与当前所述滑动窗口中其它所述感兴趣区域对应的数组元素w[i][j]的标志位均不相等;若是,则执行s324。s234、将预设位置处的感兴趣区域对应的数组元素w[i][j]的标志位置为当前滑动窗口中所有感兴趣区域对应的数组元素w[i][j]的标志位的加权平均数的取整值。
[0127]
具体的,可采用滑动窗口的方式遍历各感兴趣区域11,例如设置滑动窗口的大小为3
×
3,可将位于该滑动窗口中第2行第2列的小窗口作为预设位置,若该滑动窗口中第2行第2列的小窗口中感兴趣区域对应的数组元素w[i][j]的标志位为1,而该滑动窗口中其他8
个小窗口中感兴趣区域对应的数组元素的标志位均不为1,则确定该滑动窗口中第2行第2列的小窗口中感兴趣区域对应的数组元素w[i][j]的标志位与该滑动窗口中其它8个小窗口中感兴趣区域对饮的数组元素的标志位均不相等,此时可计算该滑动窗口的9个小窗口中所有感兴趣区域加权平均数,并对该加权平均数以四舍五入的方式进行取整后,确定出滑动窗口中第2行第2列的小窗口中感兴趣区域对应的数组元素w[i][j]的标志位。其中,以滑动窗口的大小为3
×
3为例,计算滑动窗口中所有小窗口中感兴趣区域对应的数组元素的加权平均数的计算公式为:
[0128][0129]
式中,f[m]为感兴趣区域的权重,此时,可通过四舍五入计算方法对的计算结果取整,并将该加权平均数的取整值作为该滑动窗口预设位置处的感兴趣区域对应的数组元素w[i][j]。如此,在滑动窗口检测到缺陷时,可将缺陷区域中未相连细小区域进行过滤,以便将过滤后的缺陷类型相同的感兴趣区域进行组合连通。
[0130]
示例性的,若当前3
×
3滑动窗口的第二行第二列对应的感兴趣区域为702,且确定感兴趣区域702的数组元素w[7][2]=w3=0,而该滑动窗口中其它感兴趣区域601对应的数组元素w[6][1]、感兴趣区域602对应的数组元素w[6][2]、感兴趣区域603对应的数组元素w[6][3]、感兴趣区域701对应的数组元素w[7][1]、感兴趣区域703对应的数组元素w[7][3]、感兴趣区域801对应的数组元素w[8][1]、感兴趣区域802对应的数组元素w[8][2]和感兴趣区域803对应的数组元素w[8][3]的标志位均不为w3;此时,可计算该滑动窗口中所有感兴趣区域对应的数组元素的标志位的加权平均数,即计算感兴趣区域601对应的数组元素w[6][1]、感兴趣区域602对应的数组元素w[6][2]、感兴趣区域603对应的数组元素w[6][3]、感兴趣区域701对应的数组元素w[7][1]、感兴趣区域702对应的数组元素w[7][2]、感兴趣区域703对应的数组元素w[7][3]、感兴趣区域801对应的数组元素w[8][1]、感兴趣区域802对应的数组元素w[8][2]和感兴趣区域803对应的数组元素w[8][3]的标志位的加权平均数;其中,感兴趣区域601对应的数组元素w[6][1]、感兴趣区域602对应的数组元素w[6][2]和感兴趣区域603对应的数组元素w[6][3]的权重均为感兴趣区域701对应的数组元素w[7][1]、感兴趣区域702对应的数组元素w[7][2]和感兴趣区域703对应的数组元素w[7][3]的权重均为感兴趣区域801对应的数组元素w[8][1]、感兴趣区域802对应的数组元素w[8][2]和感兴趣区域803对应的数组元素w[8][3]的权重均为若计算出滑动窗口中各感兴趣区域的加权平均数为则将感兴趣区域702对应的数组元素w[7][2]的标志位修改为1。
[0131]
s325、将预设邻域内缺陷类型相同的感兴趣区域进行组合连通,以确定待检测电路板的焊点缺陷区域。
[0132]
可选的,图6是本发明实施例提供的又一种电路板焊点缺陷检测方法的流程图,如
图6所示,该电路板焊点缺陷检测方法包括:
[0133]
s411、基于3d线阵扫描相机,获取待检测电路板的原始深度图像。
[0134]
s412、根据原始深度图像,确定待检测电路板的拟合平面。
[0135]
s413、以拟合平面为基准面,将原始深度图像转换为待检测电路板的检测深度图像。
[0136]
s414、获取待检测电路板上焊点标记特征。
[0137]
s415、根据焊点标记特征,确定检测深度图像中的焊点区域。
[0138]
s416、将焊点区域划分为n个感兴趣区域。
[0139]
示例性的,参考图4,感兴趣区11为扇形或扇环;n个感兴趣区域11构成多个同心圆环;属于同一同心圆环的感兴趣区域为一感兴趣区组10;其中,属于同一感兴趣区组10的各感兴趣区域11对应的焊点高度阈值范围相同。
[0140]
s417、根据检测深度图像中各个位置处的深度数据,确定各感兴趣区域的焊点高度值。
[0141]
s418、构建与各感兴趣区域一一对应的二维数组的数组元素h[i][j]=hij;其中,h[i][j]表示从同心圆环的圆心开始依序排列的第i个同心圆环中第j个感兴趣区域对应的数组元素,hij为第i个同心圆环中第j个感兴趣区域的焊点高度值。
[0142]
s419、根据同一感兴趣区组内各感兴趣区域的焊点高度值,确定该感兴趣区组的焊点高度平均值。
[0143]
s420、一一对应地确定感兴趣区组中各感兴趣区域的焊点高度值与该感兴趣区组的焊点高度平均值的焊点高度差。
[0144]
s421、根据感兴趣区域对应的修正后的数组元素的标志位,确定各感兴趣区域的缺陷类型。
[0145]
s422、在各感兴趣区域对应的数组元素中搜索标志位为第一标志位的数组元素,并将首次搜索到的标志位为第一标志位的数组元素作为栈顶元素压入搜索栈中,以及将栈顶元素标记为已搜索;其中,第一标志位为w1或w3。
[0146]
s423、判断与栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位;若是,则执行s424;若否;则执行s427。
[0147]
s424、将与栈顶元素相邻且未标记已搜索的数组元素作为更新后的栈顶元素压入搜索栈,以及将更新后的栈顶元素标记为已搜索。
[0148]
s425、判断与更新后的栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位;若是,则返回执行s424;
[0149]
s426、直至与更新后的栈顶元素相邻的所有数组元素的标志位均不是第一标志位,则返回执行s423。
[0150]
s427、判断标志位为第一标志位的数组元素是否均为已搜索的数组元素;若是,则执行s428。
[0151]
s428、将压入搜索栈的各数组元素组合为第一缺陷的缺陷数组。
[0152]
s429、根据缺陷数组中各数组元素对应的感兴趣区域的面积权重,确定缺陷数组中各数组元素对应的感兴趣区域的连通面积,以确定待检测电路板的焊点缺陷区域的投影面积占比。
[0153]
具体的,可通过递归算法,将预设邻域内缺陷类型相同的感兴趣区域进行组合连通,首先在焊点区域的各感兴趣区域中依次搜索数组元素的标志位为第一标志位的感兴趣区域,第一标志位可以为w1或w3,搜索存在凹陷或凸起缺陷的感兴趣区域,搜索到之后将该感兴趣区域的数组元素作为栈顶元素压入搜索栈中,并将该感兴趣区域对应的数组元素标记为已搜索;然后搜索与该感兴趣区域相邻的感兴趣区域中是否存在相同的缺陷,即判断与栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位,如果相邻的感兴趣区域的数组元素的标志位也为第一标志位,则将该感兴趣区域的数组元素作为新的栈顶元素压入搜索栈中,而将之前的栈顶元素后移,并将新的栈顶元素标记为已搜索,再搜索与更新后的栈顶元素对应的感兴趣区域相邻的感兴趣区域是否存在相同的缺陷。而当与存在缺陷的感兴趣区域相邻的其他感兴趣区域均不存在相同缺陷时,则可返回搜索前一个栈顶元素对应的感兴趣区域相邻且未标记已搜索的感兴趣区域,如此完成全部感兴趣区域的搜索,即将焊点区域中感兴趣区域对应的数组元素标志位为第一标志位的数组元素全部压入搜索栈中,将压入搜索栈的各数组元素组合为第一缺陷的缺陷数组,以实现缺陷类型相同的感兴趣区域的组合连通,从而确定待检测电路板的焊点缺陷区域;最后根据缺陷数组中各数组元素对应的感兴趣区域的面积权重,确定缺陷数组中各数组元素对应的感兴趣区域的连通面积,以确定待检测电路板的焊点缺陷区域的投影面积占比,从而确定焊点缺陷区域的大小;例如,搜索栈中存储了所有具有相同缺陷类型的感兴趣区域的数组元素w[i][j],若其中包括属于第m个感兴趣区组的感兴趣区域有n[m]个,则焊点区域中具有同一类型缺陷的感兴趣区域的投影面积占比为
[0154]
示例性的,若确定感兴趣区域801存在凹陷缺陷,即w[8][1]=w3,则将数组元素w[8][1]作为栈顶元素压入搜索栈中并标记为已搜索,可再确定与感兴趣区域801相邻的其他确定感兴趣区域是否存在相同的缺陷,例如确定感兴趣区域802是否也同样存在凹陷缺陷,若确定w[8][2]=w3,则将数组元素w[8][2]作为栈顶元素压入搜索栈中并标记为已搜索,并将数组元素w[8][1]后移,此时搜索栈中存储了两个具有相同缺陷的数组元素,即w[8][1]和w[8][2];然后再确定与感兴趣区域802相邻的其他确定感兴趣区域是否存在相同的缺陷,例如确定感兴趣区域803是否也同样存在凹陷缺陷,若确定w[8][3]=w2,则将数组元素w[8][3]标记为已搜索,再返回搜索感兴趣区域802另一相邻的感兴趣区域702是否存在凹陷缺陷,若确定w[7][2]=w2,则将数组元素w[7][2]标记为已搜索,再搜索感兴趣区域801相邻的未标记已搜索的感兴趣区域701和832是否存在凹陷缺陷,若经过搜索确定w[7][1]=w2,w[8][32]=w2,则确定缺陷区域为w[8][1]和w[8][2]构成的区域,将其进行组合连通,确定缺陷数组中各数组元素对应的感兴趣区域的连通面积为2*f[8]/256,从而确定待检测电路板的焊点缺陷区域的投影面积占比为0.066。
[0155]
可选的,图7是本发明实施例提供的又一种电路板焊点缺陷检测方法的流程图,如图7所示,该电路板焊点缺陷检测方法包括:
[0156]
s510、基于3d线阵扫描相机,获取待检测电路板的原始深度图像。
[0157]
s520、根据原始深度图像,确定待检测电路板的拟合平面。
[0158]
s530、以拟合平面为基准面,将原始深度图像转换为待检测电路板的检测深度图像。
[0159]
s540、对检测深度图像进行滤波,以将滤波后的检测深度图像作为确定待检测电
路板的焊点区域内各个感兴趣区域的焊点高度值的检测深度图像。
[0160]
具体的,由于实际成像的图像存在噪点干扰,因此可对根据原始深度图像转换的检测深度图像进行滤波,滤除噪点,以将滤波后的检测深度图像作为确定待检测电路板的焊点区域内各个感兴趣区域的焊点高度值的检测深度图像。示例性的,可采用中值滤波方法对检测深度图像进行滤波。
[0161]
s550、根据检测深度图像,确定待检测电路板的焊点区域内各个感兴趣区域的焊点高度值。
[0162]
s560、将感兴趣区域的焊点高度值未在该感兴趣区域对应的焊点高度阈值范围内的感兴趣区域确定为待检测电路板的焊点缺陷区域。
[0163]
基于同样的发明构思,本发明实施例还提供了一种电路板焊点缺陷检测装置,该电路板焊点缺陷检测装置能够检测电路板焊点是否存在缺陷,该电路板焊点缺陷检测装置可用于执行本发明实施例提供的电路板焊点缺陷检测方法,该电路板焊点缺陷检测装置可由软件和/或硬件实现,该电路板焊点缺陷检测装置可集成于本发明实施例提供的电路板焊点缺陷检测设备的处理器中。
[0164]
图8是本发明实施例提供的一种电路板焊点缺陷检测装置的结构示意图,如图8所示,该电路板焊点缺陷检测装置包括:深度图像获取模块100,用于基于3d线阵扫描相机,获取待检测电路板的原始深度图像;拟合平面确定模块200,用于根据原始深度图像,确定待检测电路板的拟合平面;深度图像转换模块300,用于以拟合平面为基准面,将原始深度图像转换为待检测电路板的检测深度图像;焊点高度值确定模块400,用于根据检测深度图像,确定待检测电路板的焊点区域内各个感兴趣区域的焊点高度值;焊点缺陷区域确定模块500,用于将感兴趣区域的焊点高度值未在该感兴趣区域对应的焊点高度阈值范围内的感兴趣区域确定为待检测电路板的焊点缺陷区域。
[0165]
本发明实施例提供的电路板焊点缺陷检测装置,实现了对焊点形态的量化和统一,相较于传统检测方法,将焊点分区域检测,对每个区域的高度信息进行统计,针对性的获取缺陷大小,评判缺陷的严重程度,有效满足了电路板组装流水线对检测焊点的效率以及元件焊装质量信息能够及时反馈的需求,解决了人工检测效率慢、成本高的问题,大幅提高了检测精度和检测效率。
[0166]
可选的,焊点高度值确定模块包括焊点标记特征获取单元,用于获取待检测电路板上焊点标记特征;焊点区域确定单元,用于根据焊点标记特征,确定检测深度图像中的焊点区域;感兴趣区域划分单元,用于将焊点区域划分为n个感兴趣区域;焊点高度值确定单元,用于根据检测深度图像中各个位置处的深度数据,确定各感兴趣区域的焊点高度值。
[0167]
可选的,感兴趣区域为扇形或扇环;n个感兴趣区域构成多个同心圆环;属于同一同心圆环的感兴趣区域为一感兴趣区组;其中,属于同一感兴趣区组的各感兴趣区域对应的焊点高度阈值范围相同。
[0168]
可选的,焊点缺陷区域确定模块包括数组元素构建单元,用于构建与各感兴趣区域一一对应的二维数组的数组元素h[i][j]=hij;其中,h[i][j]表示从同心圆环的圆心开始依序排列的第i个同心圆环中第j个感兴趣区域对应的数组元素,hij为第i个同心圆环中第j个感兴趣区域的焊点高度值;焊点高度平均值确定单元,用于根据同一感兴趣区组内各感兴趣区域的焊点高度值,确定该感兴趣区组的焊点高度平均值;焊点高度差确定单元,用
于一一对应地确定感兴趣区组中各感兴趣区域的焊点高度值与该感兴趣区组的焊点高度平均值的焊点高度差;标志位修正单元,用于根据感兴趣区域对应的焊点高度差与该感兴趣区域所属的感兴趣区域对应的焊点高度阈值的比较结果,修正该感兴趣区域对应的数组元素的标志位;缺陷类型确定单元,用于根据感兴趣区域对应的修正后的数组元素的标志位,确定各感兴趣区域的缺陷类型;焊点缺陷区域确定单元,用于将预设邻域内缺陷类型相同的感兴趣区域进行组合连通,以确定待检测电路板的焊点缺陷区域。
[0169]
可选的,标志位修正单元包括,数组元素修正子单元,用于在感兴趣区域对应的焊点高度差大于该感兴趣区域所属的感兴趣区组对应的焊点高度阈值范围的最大值时,将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w1;或者在感兴趣区域对应的焊点高度差在该感兴趣区域所属的感兴趣区域对应的焊点高度阈值范围内时,将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w2;或者在感兴趣区域对应的焊点高度差小于该感兴趣区域所属的感兴趣区域对应的焊点高度阈值范围的最小值时,将该感兴趣区域对应的数组元素h[i][j]=hij修正为数组元素w[i][j]=w3;其中,w1>w2>w3,且w1、w2和w3均为固定的整数。
[0170]
可选的,焊点缺陷区域确定模块还包括,感兴趣区域遍历单元,用于在缺陷类型确定单元根据感兴趣区域对应的修正后的数组元素的标志位,确定各感兴趣区域的缺陷类型之前,生成大小为p
×
q的滑动窗口,以利用滑动窗口,遍历各感兴趣区域;其中,p
×
q小于焊点区域内感兴趣区域的数量;第一判断单元,用于判断当前滑动窗口中预设位置处的感兴趣区域对应的数组元素w[i][j]的标志位是否与当前滑动窗口中其它感兴趣区域对应的数组元素w[i][j]的标志位均不相等;标志位重置单元,用于在第一判断单元确定当前滑动窗口中预设位置处的感兴趣区域对应的数组元素w[i][j]的标志位是否与当前滑动窗口中其它感兴趣区域对应的数组元素w[i][j]的邻域值标志位均不相等时,将预设位置处的感兴趣区域对应的数组元素w[i][j]的标志位置为当前滑动窗口中所有感兴趣区域对应的数组元素w[i][j]的标志位的加权平均数的取整值。
[0171]
可选的,焊点缺陷区域确定单元包括栈顶元素确定子单元,用于在各感兴趣区域对应的数组元素中搜索标志位为第一标志位的数组元素,并将首次搜索到的标志位为第一标志位的数组元素作为栈顶元素压入搜索栈中,以及将栈顶元素标记为已搜索;其中,第一标志位为w1或w3;第一判断子单元,用于判断与栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位;栈顶元素更新子单元,用于在第一判断子单元确定与栈顶元素相邻且未标记已搜索的数组元素的标志位为第一标志位时,将与栈顶元素相邻且未标记已搜索的数组元素作为更新后的栈顶元素压入搜索栈,以及将更新后的栈顶元素标记为已搜索;第二判断子单元,用于判断与更新后的栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位;第一循环子单元,用于在第二判断子单元确定与更新后的栈顶元素相邻且未标记已搜索的数组元素的标志位是否为第一标志位时,返回栈顶元素更新子单元;第二循环子单元,用于在直至与更新后的栈顶元素相邻的所有数组元素的标志位均不是第一标志位时,返回执行第一判断子单元;第三判断子单元,用于判断标志位为第一标志位的数组元素是否均为已搜索的数组元素;缺陷数组组合子单元,用于在第三判断子单元确定标志位为第一标志位的数组元素是否均为已搜索的数组元素时,将压入搜索栈的数组元素组合为第一缺陷的缺陷数组;连通面积确定单元,用于根据缺陷数组中各数组元素
对应的感兴趣区域的面积权重,确定缺陷数组中各数组元素对应的感兴趣区域的连通面积,以确定待检测电路板的焊点缺陷区域的投影面积占比。
[0172]
基于同样的发明构思,本发明实施例还提供一种电路板焊点缺陷检测设备,括:3d线阵扫描相机和处理器;3d线阵扫描相机用于对待检测电路板进行扫描,并输出待检测电路板的点云数据至处理器;处理器用于根据待检测电路板的点云数据,执行本发明任一实施例提供的电路板焊点缺陷检测方法,因此本发明实施例提供的电路板焊点缺陷检测设备包括本发明任一实施例提供的电路板焊点缺陷检测方法的技术特征,能够达到本发明实施例提供的电路板焊点缺陷检测方法的有益效果,相同之处可参照上述对本发明实施例提供的电路板焊点缺陷检测方法的描述,在此不再赘述。
[0173]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
转载请注明原文地址:https://win.8miu.com/read-150435.html

最新回复(0)