基于线性灰度增强的PCB板偏孔异常检测方法转让专利

申请号 : CN202211276260.2

文献号 : CN115345883B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 戴军王世贤

申请人 : 元能微电子科技南通有限公司

摘要 :

本发明属于数据处理技术领域,具体涉及基于线性灰度增强的PCB板偏孔异常检测方法。方法包括:根据焊盘区域图像上的像素点灰度值,得到受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域;紧接着根据受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域,得到线性灰度化中的增强系数和调整灰度值;最后根据线性灰度化中的增强系数和调整灰度值,得到焊盘区域完整图像;对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;根据焊盘外边缘以及钻孔边缘,判断钻孔是否为偏孔。本发明能够提高对PCB板偏孔的检测精度。

权利要求 :

1.一种基于线性灰度增强的PCB板偏孔异常检测方法,其特征在于,该方法包括如下步骤:获取PCB板灰度图像;

对PCB板灰度图像进行语义分割,得到焊盘区域图像;根据焊盘区域图像上的像素点灰度值,得到受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域;

根据受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域,得到线性灰度化中的增强系数和调整灰度值;

根据线性灰度化中的增强系数和调整灰度值,得到焊盘区域完整图像;对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;根据焊盘外边缘以及钻孔边缘,判断钻孔是否为偏孔;

得到受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域的方法,包括:计算焊盘区域图像上的所有像素点的灰度均值;

根据焊盘区域图像上的所有像素点的灰度均值和焊盘区域图像上各像素点的灰度值,得到焊盘区域对应的灰度异常程度;

根据焊盘区域对应的灰度异常程度,判定焊盘区域内是否出现反光现象,若是,则将灰度值大于灰度均值的像素点记为特征像素点,获取特征像素点的各邻域像素点;所述特征像素点的各邻域像素点为特征像素点对应的3*3区域内的像素点;

计算各特征像素点与对应的各邻域像素点之间的灰度差值;

灰度差值最大的点为种子点,以灰度差值 为生长条件进行区域生长,表示焊盘区域内第a个像素点的相邻像素点的灰度值,得到受反光影响的焊盘的不完整区域 以及因反光被遮挡的区域和背景区域所构成的连通域 ;将受反光影响的焊盘的不完整区域记为受反光影响的焊盘区域;

根据如下公式计算焊盘区域对应的灰度异常程度:

式中g为焊盘区域对应的灰度异常程度, 表示焊盘区域图像上的第i个像素点的灰度值,表示焊盘区域图像上的所有像素点的灰度均值,n为焊盘区域图像上的像素点数量。

2.如权利要求1所述的基于线性灰度增强的PCB板偏孔异常检测方法,其特征在于,得到焊盘区域图像的方法,包括:利用语义分割网络对PCB板灰度图像进行语义分割,将焊盘区域像素点标注为1,非焊盘区域像素点标注为0,得到掩膜图像;将掩膜图像与PCB板灰度图像进行相乘,得到PCB板灰度图像对应的焊盘区域图像。

3.如权利要求1所述的基于线性灰度增强的PCB板偏孔异常检测方法,其特征在于,对于任一特征像素点,根据如下公式计算该特征像素点与对应的各邻域像素点之间的灰度差值:其中, 为第a个特征像素点与对应的各邻域像素点之间的灰度差值, 为第a个特征像素点对应的第m个邻域像素点的灰度值, 为第a个特征像素点的灰度值。

4.如权利要求1所述的基于线性灰度增强的PCB板偏孔异常检测方法,其特征在于,根据线性灰度化中的增强系数和调整灰度值,得到焊盘区域完整图像;对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;根据焊盘外边缘以及钻孔边缘,判断钻孔是否为偏孔的方法,包括:根据线性灰度化中的增强系数和调整灰度值,得到线性灰度化增强函数;

根据线性灰度化增强函数,得到焊盘区域完整图像;

对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;

获取焊盘外边缘以及钻孔边缘的圆心,根据圆心之间的位置关系来判断钻孔是否为偏孔。

说明书 :

基于线性灰度增强的PCB板偏孔异常检测方法

技术领域

[0001] 本发明涉及数据处理技术领域,具体涉及基于线性灰度增强的PCB板偏孔异常检测方法。

背景技术

[0002] PCB即印制线路板,简称印制板,是电子工业的重要部件之一。只要有集成电路等电子元件,为了使各个元件之间的电气互连,都要使用PCB板。而随着集成电路的迅速发展,对PCB板的要求也越来越高,体积越来越小,电路布线密度和难度也越来越大,这就要求PCB板质量的确保。
[0003] 对PCB板的质量影响的一个重要因素便是其焊孔内钻孔是否出现偏孔问题,而对偏孔的常规检测中,是对PCB板进行图像采集,即对焊孔内钻孔的内外圆的边缘进行提取,然后进行偏孔的识别,但识别过程中因为设备自身光源的问题会出现不同程度的反光影响,致边缘的丢失以至于影响偏孔结果的识别,即采集图像时光照因素会影响偏孔的识别结果,因此会导致对PCB板进行偏孔识别时的准确性较低。

发明内容

[0004] 本发明提供基于线性灰度增强的PCB板偏孔异常检测方法,用于解决现有方法对PCB板进行偏孔识别时的准确性较低的问题,所采用的技术方案具体如下:
[0005] 本发明实施例提供了一种基于线性灰度增强的PCB板偏孔异常检测方法包括以下步骤:
[0006] 获取PCB板灰度图像;
[0007] 对PCB板灰度图像进行语义分割,得到焊盘区域图像;根据焊盘区域图像上的像素点灰度值,得到受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域;
[0008] 根据受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域,得到线性灰度化中的增强系数和调整灰度值;
[0009] 根据线性灰度化中的增强系数和调整灰度值,得到焊盘区域完整图像;对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;根据焊盘外边缘以及钻孔边缘,判断钻孔是否为偏孔。
[0010] 优选的,得到焊盘区域图像的方法,包括:
[0011] 利用语义分割网络对PCB板灰度图像进行语义分割,将焊盘区域像素点标注为1,非焊盘区域像素点标注为0,得到掩膜图像;将掩膜图像与PCB板灰度图像进行相乘,得到PCB板灰度图像对应的焊盘区域图像。
[0012] 优选的,得到受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域的方法,包括:
[0013] 计算焊盘区域图像上的所有像素点的灰度均值;
[0014] 根据焊盘区域图像上的所有像素点的灰度均值和焊盘区域图像上各像素点的灰度值,得到焊盘区域对应的灰度异常程度;
[0015] 根据焊盘区域对应的灰度异常程度,判定焊盘区域内是否出现反光现象,若是,则将灰度值大于灰度均值的像素点记为特征像素点,获取特征像素点的各邻域像素点;所述特征像素点的各邻域像素点为特征像素点对应的3*3区域内的像素点;
[0016] 计算各特征像素点与对应的各邻域像素点之间的灰度差值;
[0017] 将灰度差值最大的点记为种子点,以灰度差值 为生长条件进行区域生长, 表示焊盘区域内第a个像素点的相邻像素点的灰度值,得到受反光影响的焊盘的不完整区域 以及因反光被遮挡的区域和背景区域所构成的连通域 ;将受反光影响的焊盘的不完整区域记为受反光影响的焊盘区域。
[0018] 优选的,根据如下公式计算焊盘区域对应的灰度异常程度:
[0019]
[0020] 式中,g为焊盘区域对应的灰度异常程度, 表示焊盘区域图像上的第i个像素点的灰度值,表示焊盘区域图像上的所有像素点的灰度均值,n为焊盘区域图像上的像素点数量。
[0021] 优选的,对于任一特征像素点,根据如下公式计算该特征像素点与对应的各邻域像素点之间的灰度差值:
[0022]
[0023] 其中, 为第a个特征像素点与对应的各邻域像素点之间的灰度差值, 为第a个特征像素点对应的第m个邻域像素点的灰度值, 为第a个特征像素点的灰度值。
[0024] 优选的,根据线性灰度化中的增强系数和调整灰度值,得到焊盘区域完整图像;对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;根据焊盘外边缘以及钻孔边缘,判断钻孔是否为偏孔的方法,包括:
[0025] 根据线性灰度化中的增强系数和调整灰度值,得到线性灰度化增强函数;
[0026] 根据线性灰度化增强函数,得到焊盘区域完整图像;
[0027] 对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;
[0028] 获取焊盘外边缘以及钻孔边缘的圆心,根据圆心之间的位置关系来判断钻孔是否为偏孔。
[0029] 本发明首先获取PCB板灰度图像;然后对PCB板灰度图像进行语义分割,得到焊盘区域图像;根据焊盘区域图像上的像素点灰度值,得到受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域;紧接着根据受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域,得到线性灰度化中的增强系数和调整灰度值;最后根据线性灰度化中的增强系数和调整灰度值,得到焊盘区域完整图像;对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;根据焊盘外边缘以及钻孔边缘,判断钻孔是否为偏孔。本发明能够提高对PCB板偏孔的检测精度。

附图说明

[0030] 为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0031] 图1为本发明一种基于线性灰度增强的PCB板偏孔异常检测方法的流程图;
[0032] 图2为本发明的拟合曲线示意图;
[0033] 图3为本发明的灰度直方图波峰示意图;
[0034] 图4为本发明的理想灰度直方图波峰示意图。

具体实施方式

[0035] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明实施例,本领域普通技术人员所获得的所有其它实施例,都属于本发明实施例保护的范围。
[0036] 除非另有定义,本文所使用的所有的技术和科学技术术语与属于本发明的技术人员通常理解的含义相同。
[0037] 本实施例提供了基于线性灰度增强的PCB板偏孔异常检测方法,详细说明如下:
[0038] 如图1所示,该基于线性灰度增强的PCB板偏孔异常检测方法,包括以下步骤:
[0039] 步骤S001,获取PCB板灰度图像。
[0040] 本实施例主要是对图像识别中采集的PCB板图像进行分析,并结合焊盘的圆形结构,通过对焊盘区域以及反光区域的像素点做滑窗操作,对滑窗内的像素点通过拟合曲率特征,以及滑窗内像素点与焊盘像素点的灰度差值得到反光区域像素点的增强系数,来对反光区域进行线性灰度化增强得到完整焊盘图像,再进行常规的钻孔偏孔检测,来避免因反光而导致焊盘结构采集不完整从而影响对钻孔是否为偏孔的判断。本实施例能够提高对PCB板偏孔的检测精度。
[0041] 本实施例在PCB板的上方进行常规图像采集,得到PCB板图像;因为PCB板上的焊盘等结构较小,所以需要高像素的相机,获得较为清晰的PCB板图像,并对图像做灰度化处理,得到其对应灰度图像,记为PCB板灰度图像。
[0042] 步骤S002,对PCB板灰度图像进行语义分割,得到焊盘区域图像;根据焊盘区域图像上的像素点灰度值,得到受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域。
[0043] 在常规的焊盘钻孔偏孔检测中,因为常规焊盘的材质为铜,表面则会镀锡,所以因为反光问题,部分区域是检测不到完整边缘的;但焊盘是以圆形为焊接路径所得到的,得到的焊盘是近圆度较高的,所以可以根据反光区域内的像素点与焊盘区域的像素点拟合得到的曲率来判断像素点趋近于外圆边缘的程度来计算得到增强系数;同时焊盘的正常区域的像素点本身的灰度值差距不大,所以根据这个特征可以得到线性灰度化中的截距;进而便可以针对反光区域进行线性灰度化增强;具体为:
[0044] 首先对PCB板灰度图像通过语义分割的方式,使用的数据集为采集的PCB板焊盘图像数据集。即利用语义分割网络对PCB板灰度图像进行语义分割,将焊盘区域像素点标注为1,非焊盘区域像素点标注为0,网络任务为分类,所以使用的loss函数为交叉熵损失函数,并以该图像作为掩膜,与原图像进行计算,获取PCB板灰度图像对应的焊盘区域图像。
[0045] 然后对分割出的焊盘区域图像进行分析,计算得到焊盘区域对应的灰度异常程度;计算焊盘区域图像上的所有像素点的灰度均值;根据焊盘区域图像上的所有像素点的灰度值的均值和焊盘区域图像上各像素点的灰度值,得到焊盘区域对应的灰度异常程度;根据如下公式计算焊盘区域对应的灰度异常程度:
[0046]
[0047] 式中g为焊盘区域对应的灰度异常程度, 表示焊盘区域图像上的第i个像素点的灰度值,表示焊盘区域图像上的所有像素点的灰度均值。并且当 时,则判定焊盘内出现反光现象, 为根据经验参考值得到的正常焊盘区域对应的灰度异常程度。
[0048] 由于在正常的外圆边缘像素点,因为焊盘表面是镀锡的,而背景板多为绿色反光较弱的材质;所以即使未出现反光太过严重导致边缘采集不完整的情况,其正常焊盘表面的灰度值也会大于背景,而反光区域的灰度值则又会大于正常区域,所以可以根据像素点的梯度方向来确定反光区域;对于检测到的外圆边缘不完整的焊盘,计算不完整的边缘像素点的梯度幅值和方向,在正常区域的梯度幅值趋近相同,但是梯度方向应该是相切于这一点所在线段的垂直方向,同时指向圆弧内部的方向。而相邻反光区域的边缘像素点,其灰度幅值与正常区域不同,且其灰度方向除了指向圆弧内部以外,还有指向其余方向,甚至指向圆弧外部的方向。
[0049] 对判定出现反光现象的焊盘区域,以区域内所有灰度值大于平均灰度即 的像素点,计算其邻域像素点的灰度差值,将灰度值大于灰度均值的像素点记为特征像素点;获取特征像素点的各邻域像素点;且特征像素点的各邻域像素点为特征像素点对应的3*3区域内的像素点;然后计算各特征像素点与对应的各邻域像素点之间的灰度差值;对于任一特征像素点,根据如下公式计算该特征像素点与对应的各邻域像素点之间的灰度差值:
[0050]
[0051] 其中, 为第a个特征像素点与对应的各邻域像素点之间的灰度差值, 为第a个特征像素点对应的第m个邻域像素点的灰度值, 为第a个特征像素点的灰度值。然后灰度差值最大的点为种子点,以灰度差值 为生长条件进行区域生长, 表示焊盘区域内第a个像素点的相邻像素点的灰度值。
[0052] 至此得到了受反光影响的焊盘的不完整区域 以及因反光被遮挡的区域和背景区域所构成的连通域 ;将受反光影响的焊盘的不完整区域记为受反光影响的焊盘区域。
[0053] 步骤S003,根据受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域,得到线性灰度化中的增强系数和调整灰度值。
[0054] 基于焊盘的圆形结构,通过对其做滑窗操作,计算滑窗内的像素点与完整的外边缘像素点之间的曲率,是否更趋近于完整的外边缘像素点的曲率大小,若越接近,则这部分像素点是被反光遮挡部分的概率越大,相对的需要增强的程度“越大”。因为后续识别钻孔是否偏孔的操作只需要得到钻孔的外边缘以及焊盘的外边缘就可以得到偏孔的程度,所以这里我们只需要针对焊盘的边缘特征来判断。
[0055] 因此本实施例计算受反光影响的焊盘区域 上外边缘上每一个像素点对应的曲率,为防止 和 区域之间的边缘对均值曲率的结构产生影响,判断 的外边缘上的点其邻域内是否含有区域 的像素点,若有,则这一像素点不进行曲率计算。于是得到焊盘区域外边缘上的未受反光影响区域的边缘像素点所得到的曲率集合,同时得到焊盘区域曲率均值 , 为焊盘区域图像上的第i个像素点的曲率, 为焊盘区域图像上的第i‑1个像素点的曲率。其中曲率计算公式为公知技术,在本案中不再赘述。
[0056] 以区域 的外边缘点曲率发生较大变化处,即 处,以符合条件的两点为端点处,并以 区域内的任一像素点为另一点,拟合顺序为 (这里的区域代表的是区域上的点),拟合一条最短曲线。如图2所示,除去曲线 以外剩下的圆弧部分为检测到的 区域的未受反光影响的外圆边缘部分,而曲线 分别为三条以反光区域中的像素点与区域 的两个外端点拟合所得到的最短曲线。可以看出 更趋近与被反光遮掩的剩余边缘,所以其曲率也会更接近于上述所得的曲率均值 。
[0057] 选择反光区域中任意一个像素点作为中间点,以三点拟合得到一条最短曲线(使用高斯函数拟合);计算拟合曲线中这一点的曲率 ,表示反光区域中以第b个像素点为中点所得到的曲线对应的曲率;计算曲率均值与第b个像素点为中点所得到的曲线对应的曲率的差值k,将差值记为第b个像素点所对应的位置程度,记为曲率差值;计算公式如下:
[0058]
[0059] 并且若 ,则表示这一点曲率大于曲率均值,同时k越大对应的这一点的曲度越小,越容易是外边缘外部靠近外边缘的像素点;若 ,则表示这一点曲率小于曲率均值,同时k越小则表示这一点对应的曲度越小,容易是外边缘内部越靠近外边缘的像素点。
[0060] 对于反光区域这部分像素点之间仍存在灰度差异,所以对于反光区域像素点,还需要计算其邻域灰度差异值;根据如下公式计算反光区域中第b个像素点的灰度差异值:
[0061]
[0062] t表示反光区域中第b个像素点的灰度差异值,t越大则表示这一点灰度差异值越大,即越接近边缘位置; 表示反光区域中第b个像素点的灰度值, 表示反光区域中第b个像素点的八邻域中第c个点的灰度值。
[0063] 由于在反光区域中的像素点在邻域内的灰度差异较小,为了使相对来说灰度差值更大的值对应的影响值更大,这里选择使用方差作为计算方式;于是得到增强系数,k0表示增强的方向,t1对其进行程度上的增幅。
[0064] 受反光影响的区域,其本身的材质与焊盘的材质一样,所以若不考虑反光因素,这部分像素点的灰度值与不完整部分的灰度均值应该趋近一样,而背景区域正常像素点的灰度值则高于焊盘区域;在焊盘的正常区域中,因为其表面镀锡的原因,所以在焊盘的表面同时也存在部分微弱的反光现象,但因为焊锡在焊接时,其焊接的横截面为半圆形,即整个焊路呈半圆柱状覆盖在焊盘周边一圈,这样的结构会在保留表面部分反光的同时,因边缘的高度差以及设备中的光源角度位置等因素,保留其正常的外边缘梯度信息;反应在灰度直方图中如图3所示,存在两个边界分明的波峰,进行线性灰度化后,理想的直方图中,我们需要得到三个波峰如图4所示,一个是正常区域内部微弱反光区域对应的波峰 ,一个是焊盘正常区域 对应的波峰 ,一个是反光区域 的波峰 (这里的波峰指波峰处对应灰度值)。其中 。但是进行线性灰度化后,可能会出现 所对应的波峰出现重叠部分,导致本身清晰的边缘梯度变差,所以需要进行对应的调整值。
[0065] 如图3和图4所示,横坐标表示灰度值,取值范围为0‑255。考虑到位置关系对应的特征,以及后续的主要目的只是根据梯度得到内外边缘。所以根据位置信息,计算波峰之间的灰度差值,所述波峰之间的灰度差值 ,以及代表位置信息的曲率差值k;根据灰度差值 和曲率差值k,得到调整的灰度值;根据如下公式计算调整灰度值:
[0066]
[0067] 其中, 为调整灰度值,为灰度差值, 为曲率差值k的归一化值。这里的b0表示像素点需要调整的灰度值,d表示波峰 之间的差值, 表示对曲率差值k的归一化,取值范围为0到1,所代表的含义为:反光区域中,越接近外边缘的外部像素点,需要调整的值越大。
[0068] 根据得到的增强系数,是容易导致内部弱反光区域和调整后的外部区域之间的边缘梯度变小,所以越是靠近边缘的外部区域像素点,需要调整的值越大。至此线性灰度化中的增强系数K和调整灰度值b0都已得到。
[0069] 步骤S004,根据线性灰度化中的增强系数和调整灰度值,得到焊盘区域完整图像;对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;根据焊盘外边缘以及钻孔边缘,判断钻孔是否为偏孔。
[0070] 根据线性灰度化中的增强系数和调整灰度值,得到线性灰度化增强方式:0,y是反光区域像素点进行线性灰度化后的灰度值,K表示增强系数,表示反光区域中像素点本身的灰度值,b0为灰度调整值。
[0071] 至此完成对焊盘反光区域的图像增强,得到完整图像
[0072] 根据得到的焊盘完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘,进行常规判断技术手段,检测内外边缘的圆心,通过两圆心之间的位置关系来判断是否偏孔。
[0073] 本实施例首先获取PCB板灰度图像;然后对PCB板灰度图像进行语义分割,得到焊盘区域图像;根据焊盘区域图像上的像素点灰度值,得到受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域;紧接着根据受反光影响的焊盘区域以及因反光被遮挡的区域和背景区域所构成的连通域,得到线性灰度化中的增强系数和调整灰度值;最后根据线性灰度化中的增强系数和调整灰度值,得到焊盘区域完整图像;对焊盘区域完整图像进行边缘检测,得到焊盘外边缘以及钻孔边缘;根据焊盘外边缘以及钻孔边缘,判断钻孔是否为偏孔。本实施例能够提高对PCB板偏孔的检测精度。
[0074] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。