基于图像处理的PCB板表面检测分析研究

2018-09-21 03:18夏成蹊
电视技术 2018年8期
关键词:导线宽度运算

夏成蹊,杨 晨,赵 雪,丁 召

(贵州大学 大数据与信息工程学院 贵州省微纳电子与软件技术重点实验室,贵州 贵阳 550025)

1 引言

随着电子设备的飞速发展,PCB板生产过程愈加复杂,客观地对PCB板的表面形貌进行评判成为了一项愈加重要的任务,同时在其生产的各个工序中也可能出现某些线路的断路、短路和缺损等问题,通过对PCB板表面数据的分析也成为一种检测缺陷的方法。传统的人工目测难以实现对精度越来越高的PCB板的检测分析[1]。因此,设计一种准确、高效的PCB板表面检测方法十分符合PCB生产厂家的需求。

近年来,诸多研究已经将计算机视觉与PCB表面检测技术相结合,大致分为为以下几种方法:参考法[2]、准则法[3]、混合法[4]。参考法是对比待测PCB和标准PCB,通过异或计算识别并判断其表面是否存在缺陷;基于准则法是通过检测待测PCB是否满足预先定义的设计准则来检测;混合法是结合以上两种方法,以充分发挥二者的优势。

以上方法应用于PCB板的表面缺陷识别,减少了人工识别过程中可能出现的误差,但是只能对预先设定的PCB板进行缺陷检测,不能给出对未知的PCB板进行分析,并提供分析统计数据[5]。

为实现自动分析PCB生产质量的目的,本文利用图像识别技术处理分析PCB表面形貌数据,根据图像灰度特性选取适当阈值对图像进行二值化变换,将数学形态学与图像处理相结合,消除微小噪声、平滑线路。之后对处理完成的图像进行数据检测统计。通过统计图像像素比例计算表面金属占比;将霍夫变换应用至图像处理领域,对PCB表面焊盘形状和数目进行统计分析;通过计算图像中连通域的个数来统计分析PCB表面线路数目;对表面不同线路中心点做最大内切圆的方法来计算导线宽度。最后对获取的各项数据绘制统计图表,分析样本PCB板中金属占比、线路宽度等数据的分布情况。根据对统计结果进行分析,不仅可以辅助检测PCB中的缺陷,还能为客观评判生产质量而服务。

2 检测流程

基于图像处理的PCB电路板表面检测基本流程图如图1所示。

图1 PCB电路板表面检测基本流程图

首先选取对原始图像进行阈值分割和数学形态学手段,获取和原图相似的二值图像。之后对处理后的图像按照连通域分割,然后对分割完成的线路通过霍夫变换识别焊盘形状和数目,并用边缘检测算法获取表面线宽数据,最后对单个PCB生成统计表,将此PCB数据与规定数据进行比对,若在规定阈值内,则此PCB合格,计算其具体偏差值;若不在阈值允许范围则淘汰该PCB板。对一定数量的PCB进行统计后可得到其总体数据报表,获取此批次PCB成品率、总平均线宽等数据。

2.1 图像预处理

为实现对PCB板表面的精确检测,需对其图像进行预处理,在保留图像特征的同时减少图像复杂度,还可以消除图片拍摄过程中的噪声[6]。本文采取的预处理过程分为两步:第一步为采取选取合适阈值将图像处理为二值图像,第二步为形态学处理并分割,以简化图像数据。

在二值化方面,本文采用最大类间方差法[7]根据图像灰度特征选取最优阈值,根据阈值将PCB图像分为二值图像。该步骤将原始图像分为背景和目标线路两部分,该方法的优点在于除去图像中无关信息,简化后续操作的难度[8]。

数学形态学为一门分析空间结构的理论[9],在图像分析识别领域得到了广泛的应用。本文利用形态学来简化图像数据,保持图像基本形状特征的同时除去不相干的结构[10]。其最基本的运算包括膨胀和腐蚀、开运算和闭运算。

设A为原图像,B为结构元素,对于待处理图像中每一像素点x,有:

腐蚀:A⊙B={x:B(x)∈A}

(1)

膨胀:A⊕B={x:B(x)∩A≠∅}

(2)

用B(x)对A进行腐蚀的结果就是把结构元素B平移后使B包含于A的所有点构成的集合。用B(x)对A进行膨胀的结果就是把结构元素B平移后使B与A的交集非空的点构成的集合。

开运算的实质是对图像先进行腐蚀运算然后再进行膨胀运算,闭运算的实质是对图像先膨胀后腐蚀,选择合适的结构元素,对图像进行开运算和闭运算,即可实现平滑线路边界、滤除噪声的效果,同时能保留原图像基本形状和大小不变,保证最终结果的准确性。对PCB图像先后进行开运算理处理,消除图像中小颗粒噪声,再进行闭运算处理,平滑线路轮廓。结果如图2所示。

图2 对PCB图像形态学处理后结果

对预处理之后的图像进行分割,可以为图形的识别与统计做后续服务[11]。本文以连通域为单位对图2中每条线路进行分割,以便进行之后的焊盘、导线等信息的分析、统计。

2.2 焊盘检测

焊盘是PCB板中的焊接电子器件的底座,分析焊盘的形状和数量有助于分析PCB中电子元器件的类型和个数。本文采取霍夫(Hough)变换[12]以识别图像中矩形[13]和识别圆形[14]的算法来实现焊盘检测。

霍夫变换是利用图像全局特征将边缘像素连接组成区域封闭边界的一种方法。在xy平面中,任何直线都可以用极坐标方程描述:

ρ=xcosθ+ysinθx∈[0,π]

(3)

其中,参数ρ确定了该直线到原点的距离,参数θ确定了直线的方位,如图3所示。

图3 对直线霍夫变换

该变换可以看成,图像中任取一点(xi,yi)映射到霍夫空间中的一组累加器C(ρ,θ)中,累加器C(ρ,θ)表示图像空间中符合式(3)的像素数量。遍历图像全部像素点进行上述操作后,得到的C(ρ,θ)中每一个局部最大值就对应一直线段,其对应的ρ和θ可以唯一确定此直线。

对于矩形,可看作四条直线的组合,对矩形轮廓进行霍夫变换后会出现四个峰值,表示检测出的四条直线,同时四个峰值满足以下条件:

(1)四个峰值成对存在,因为检测矩形四条直线段两两平行;

(2)两对峰值点间横坐标差为90°;

(3)同一对中两个峰值累加值相同,因为矩形对边的长度相等;

(4)同一峰值对中两点间的距离值等于矩形边长。

满足以上四个条件即可识别其为矩形,而对于圆形的检测与检测直线类似,为求参数坐标中的圆心和半径,先对空间中的圆变换坐标系,将圆在空间坐标系中的方程为转换到参数空间(a,b,r)中,其中(x0,y0)为已知点,转换方程为:

(a-x0)2+(b-y0)2=r2

(4)

根据(4)式,将图像空间中的边缘点映射到参数空间,然后将参数空间中得到的所有坐标点对应的累加值进行累加,即可根据累加值判断是否为圆形,若为圆形获得其半径和圆心坐标。

根据以上原理,对两种二值化线路板进行实际测试,结果如图4所示,可以完成对线路板中焊盘形状和数目的识别。

图4 识别PCB板表面焊盘

2.3 导线信息检测

PCB板中导线宽度是描述PCB表面形貌的重要数据,也是衡量PCB质量的重要参数。测量此条线路宽度分为两个步骤,第一步,需要找出导线内部和两导线之间的中心线,第二步,根据此中心线计算导线不同位置的宽度。

本文用Hilditch细化算法[15]来获取PCB板线路中心线。该算法为利用如图5所示的模板沿图像的扫描方向移动,逐点考察各像素的邻域状况,将图像边界像素逐次扫描消除。

P4P3P2P5PP1P6P7P8

图5 细化算法模板

(1)∑4(P)≤3,即P点的4邻域最多有3个值为1

(2)X(P)=1,此点为边缘点

(3)∑8(P)≥1,此点非端点

(4)P3=1或X(P)3=1

(5)P5=1或X(P)5=1

其中∑4(P)和∑8(P)分别表示P的4邻域内和8邻域内像素为0的个数,X(P)表示连接数,X(P)3和X(P)5分别为假设P3=0和P5=0时P的连接数目。

通过上述操作对导线进行处理,可得到线宽为几个像素的线条,此即为导线中心线,对PCB进行处理,结果如图6所示。

图6 PCB板细化算法效果

从中心线做垂线是一种检测线宽的方法[16],此方法可较为精确地测量图像中导线宽度,但只适用于PCB图像中的竖向和横向导线,无法对斜向导线做精确测量。本文设计一种最大内切圆方法,以导线中心线上某点为圆心绘圆,圆形的半径从0以设定的步长值不断扩大,当圆与线路取交集的面积小于圆的面积时,即圆半径大于某个值时会有部分在线路外,此时的圆的直径即为该点处线路的宽度。选取一条线路测量如图7所示。

图7 用最大内切圆方法测量部分线路宽度

对中心线上除去焊盘位置之外的所有点进行上述操作,求得各位置导线宽度,取平均数作为线路的宽度,统计分析上述数据以分析判断此线路制作水平。

3 实验结果与分析

通过MATLAB软件对100张PCB样品图片进行上述测试,选取测试的PCB板图像像素为620×300像素,测得数据为像素值,通过比例尺换算,可以获取PCB板表面数据,最后对100张PCB图像进行数据统计,统计线路和焊盘平均数目如图8所示。

图8 图像线路和焊盘数据统计

从图8中可以看出,在100张PCB板图像中,某些板线路条数和焊盘存在错误,存在断路导致识别的线路条数多于正常值,存在焊盘形状不规范导致识别焊盘数小于正常值。可以判断该PCB板存在不同程度的表面缺陷。

对100张PCB表面金属占比和线路宽度数据进行统计,结果如图9~图10所示。

图9 PCB板金属占比统计图

图10 PCB板线路宽度统计图

分析图9中数据可以看出,此PCB板表面的金属占比集中在22.65%。可以认为,在此数值的一定区间范围内,PCB的误差可以接受;在此区间外PCB板的分析信息应该进一步关注。在本测试集中,有7张PCB板表面金属占比偏离百分之一,因此,需要进一步调取其信息进行分析。

分析图10中数据可以看出,线路板表面平均线路宽度集中分布在0.7 mm和1.0 mm。在本测试集中,有5张PCB表面导线宽度偏离0.1 mm,结合图9和表2中信息进行分析,即可得出不合规范的PCB板表面具体缺陷原因及位置。

查看数据异常的PCB图像,发现其局部存在缺陷,存在短路导致识别线路条数少于正常值,存在方形焊盘形状不规范导致错误识别成圆形焊盘,存在缺陷的局部图像如下图11~图12所示。

图11 存在断路缺陷

图12 焊盘存在缺陷

5 结论

本文将计算机视觉技术应用到PCB的表面检测中,通过软件将相关图像处理、检测算法应用在测试PCB裸板样板中,最后对获取的样板表面形貌数据进行统计和分析,对测试样板质量进行评价。实验结果表明,该方法可以协助检测、识别PCB板上的短路与断路缺陷可以进行有效的检测、识别,同时对评价PCB生产质量可以提供依据。

猜你喜欢
导线宽度运算
重视运算与推理,解决数列求和题
东华大学研发出可体内吸收型蚕丝导线
有趣的运算
220千伏输电线路导线断裂分析
架空导线的几种防腐措施
“整式的乘法与因式分解”知识归纳
红细胞分布宽度与血栓的关系
孩子成长中,对宽度的追求更重要
GDX-2导线机过线轮改进
你有“马屁股的宽度”吗?