基于ORB算法及图像差分的PCB缺陷检测*

2022-04-14 09:59四川大学机械工程学院郭战岭徐雷冉光再陈建华
数字技术与应用 2022年3期
关键词:差分灰度准确率

四川大学机械工程学院 郭战岭 徐雷 冉光再 陈建华

为解决PCB缺陷传统人工检测方法误检率高、效率低等问题,提出一种基于ORB算法和图像差分的PCB缺陷检测方法。该方法首先使用ORB算法将待测图与模板图进行配准,而后对待测图进行图像预处理以减少噪声提高图片质量,之后对差分后的图像进行去噪,形态学处理及图像二值化,最后在待测图上标记出缺陷的位置并统计缺陷总数。实验结果表明,该方法对本文研究的六种缺陷的平均缺陷检测准确率达94.6%,每张待测图平均检测耗时少于3s。

2020年,我国PCB总产值已达350.5亿美元,占全球总产值的53.7%。据Prismark估计,在未来五年,我国PCB行业将稳定发展,在全球PCB产业中占据核心地位[1]。PCB作为实现电子元器件电气连接和支撑的重要载体,其质量的稳定性尤为重要,所以实现PCB的高质量检测是十分必要的[2]。传统的PCB缺陷检测方式以人工目检为主,但人工目检因人的主观性强,容易导致漏检、误检,且存在检测效率低、数据收集困难、自动化程度低等缺点[3]。近几年来发展迅速,已成为印制电路板缺陷检测的重要研究方向[4-6]。利用机器视觉技术进行的PCB缺陷检测可极大提高缺陷检测的准确率和效率。近年来,已有不少研究人员利用机器视觉技术进行PCB缺陷检测方面的研究,并取得了许多的成果。文献[7]提出了一种基于随机霍夫变换和坐标变换相结合的配准方法,提高了图像配准的效率和精度;文献[8]采用非参考法实现了电路板的缺陷检测;文献[9]提出采用参考法思想对PCB板上的焊接缺陷进行检测,而后通过分析各类焊接缺陷的特点,实现对缺陷的识别;文献[10]利用邻域梯度方向信息熵及边缘像素在局部区域的分布特性构建了用于训练SVM分类器的特征向量,实现了PCB缺陷的识别与定位;文献[11]采用仿射变换配准和差影计算,实现了PCB缺陷区域的获取;文献[12]通过求连通区域数,计算欧拉数,求缺陷区域面积等方法,准确的检测出待测PCB板的缺陷。文献[13]运用图像增强及图像配准技术实现了PCB板的常规缺陷检测,基本达到了中小企业的检测要求。

为解决PCB缺陷传统人工检测方法误检率高、效率低等问题,本文提出一种基于ORB算法和图像差分的PCB裸板缺陷检测方法。

1 PCB缺陷类型与图像配准介绍

1.1 缺陷类型

本文实验部分采用的开源数据集,包含六种PCB缺陷,待检测缺陷种类为:漏孔,鼠咬,开路,短路,毛刺,伪铜。缺陷示例如图1所示。

图1 六种PCB缺陷示例Fig.1 Examples of six PCB defects

1.2 图像配准算法

在实际工业生产中,受待测PCB位置误差、相机拍摄角度等不确定因素影响,实际采集到的PCB待测图与模板图在空间上不完全对齐,所以在进行缺陷检测前须将待测图和模板图进行配准,而后才可进行差分运算和缺陷检测。

现阶段,图像配准算法主要分为三大类:第一类是通过获得图像的灰度状况,得到图像的灰度特征,将其量化之后以此为依据来进行配准。基于灰度的配准方法仅需依据图像的灰度信息来进行图像的匹配,实现起来十分简单,但计算量大,配准精度受光照强度影响较大,使用范围不广泛。第二类是通过获取图像的局部像素变化,得到并记录图像的特征角点,进而以特征角点为KeyPoint依据来进行图像配准。此配准过程相对复杂,但配准精度高,抗噪性好,不易受光照影响。第三类则是基于变换域的图像配准算法。该算法抗噪性好,但配准时的计算量大,配准耗时较长。为获取较高的配准精度及配准效率,本文选用第二类算法进行图像配准。

1.3 ORB算法

ORB算法是一种对特征点进行快速的提取和描述的算法,具有计算速度快的特点。其计算时间大概只有SIFT的1%,SURF的10%,故本文使用ORB算法进行图像配准。

ORB算法的基本配准过程:

(1)利用FAST-N算法检测图像中的特征点。传统的Fast算法中,目标像素点会与周围圆上的16个像素点进行灰度值比较;但此处ORB算法中使用的FAST-N算法,仅需与周围的4个像素点进行比较。因此ORB中的Fast算法较传统的Fast算法,效率提高了4倍,且二者特征点提取效果接近。

(2)ORB算法中采用建立图像金字塔的方法使原FAST特征具有尺度不变性,即每层分别提取FAST特征点。针对FAST特征点不具有方向性的问题,此处使用灰度质心法获取特征点邻域内的质心,而后将特征点与质心之间的矢量的方向定义为特征点的方向。

(3)之后在BRIEF算法的基础上进行改进得到rBRIEF,使计算出来的二进制字符串组成的特征点描述子具有旋转不变性并增加了可区分性。

(4)最后使用汉明距离计算出2个特征点描述子的相似程度从而判断是否为正确匹配点。

2 算法实现流程

本文方法实现缺陷检测的基本流程,如图2所示。

图2 缺陷检测流程图Fig.2 Defect detection flow chart

2.1 图像配准模块

本文使用ORB算法对已获取的待测图进行配准。在两张图像的配准过程中,ORB算法将分别获得两幅图像各自的关键点和特征描述符,最后根据这些信息,进行特征匹配,将两幅图中极可能为同一对象的同一特征点匹配起来,配准效果如图3所示。

图3 图像配准示例Fig.3 Image registration example

从图中可以看到,该算法得到的结果十分精准,基本未出现不匹配的特征对,可以很好的满足配准需求。

2.2 缺陷提取及标注模块

2.2.1 图像预处理

该部分首先对整幅待测图进行二值化处理,而后依次采用直方图均衡化,Laplace图像锐化,中值滤波进行图像增强。直方图均衡化,Laplace图像锐化可促进缺陷与背景的分离;中值滤波可很大程度上滤除由图像增强引入的椒盐噪声。通过比较自适应阈值分割法与全局阈值分割法的分割效果,本文最终采用自适应阈值分割算法来对PCB图像进行图像分割,以减小PCB表面各处亮度差异对图像分割效果的影响。

经过图像预处理后的待测图,PCB边界清晰,分割效果较好,可以进行图像差分操作。图像预处理后的待测图,如图4所示。

图4 预处理后的待测图Fig.4 Picture to be tested after preprocessing

2.2.2 图像差分

本文将采集到的标准图像进行对比度调整、灰度化与二值化操作。将上述操作后的处理结果存储为模板,以节省计算机的计算时间,提高缺陷检测效率。模板图示例,如图5所示。

图5 模板图Fig.5 Template diagram

从图6图像差分后的结果可看出缺陷信息(此处缺陷为伪铜)可以被很好的提取出来,但存在部分缺陷产生两个连通域,缺陷信息不全及较暗的轮廓噪点等问题,故需对该图进行后续处理。

图6 图像差分后结果(伪铜)Fig.6 The result of image difference (spurious copper)

2.2.3 形态学处理及二值化

先采用中值滤波和均值滤波进行图像去噪,而后进行闭运算操作,以消除单个缺陷内部的孔洞,使单个缺陷恢复为单连通。处理结果如图7所示。从图7可看出单个缺陷已经恢复为单连通,但图像上还存在少量灰度值较低的噪点区域,故再次对图像进行中值滤波和均值滤波,在此次滤波后,孤立噪点已基本消除。为了避免误检,此时采用一个较大的全局阈值对图像进行二值化,将灰度值极低的噪点去除,以凸显缺陷信息。二值化结果,如图8所示。

图7 闭运算结果图Fig.7 Closed operation result

图8 图像二值化处理结果Fig.8 Image binarization processing result

2.2.4 缺陷标注

此时已获得仅存缺陷的二值图,在获得缺陷轮廓后,根据轮廓信息进行缺陷标注。伪铜检测示例,如图9所示。

图9 缺陷标注结果Fig.9 Example of false copper detection results

观察标注结果,可知此伪铜缺陷已被完整标注出来,且缺陷计数准确。

3 实验结果与分析

3.1 实验检测结果

本文缺陷检测实验采用的公开数据集包含十种不同规格的PCB线路板图像以及六种缺陷,总计690张图片。本文首先使用ORB算法对待测图进行配准,而对其进行图像预处理,之后将与模板图差分后的结果进行去噪和形态学处理,最后标记出缺陷位置并统计缺陷总数。实验缺陷检测准确率如表1所示,检测耗时如表2所示。

表1 PCB缺陷检测准确率Tab.1 PCB defect detection accuracy rate

表2 PCB缺陷检测耗时Tab.2 PCB defect detection time

3.2 结果分析

由表1可看出本文算法对大部分缺陷检测效果较好,如漏孔、鼠咬、开路、短路、毛刺的缺陷检测准

确率均达到94%以上,而针对伪铜缺陷的检测准确率较低,仅为85.2%。伪铜缺陷的检测准确率低的原因可能是伪铜缺陷形状呈长条状,在图像差分时易丢失中间段的信息,导致检测失败。本实验的平均缺陷检测准确率为94.6%,大体达到预期要求。

不同规格的PCB板的缺陷检测准确率也差别较大。1,4,5,6,7,8,9,10号PCB板的缺陷检测准确率均在95%及以上,而2号PCB板的缺陷检测准确率仅为83.3%。可能原因为2号板,自身形态较复杂,线路太过于密集,特征点过多,适配难度大,导致缺陷检测准确率低。以上两点,在2号板的伪铜缺陷检测体现的尤为明显,20块含有伪铜缺陷的PCB板仅检出13块,缺陷检测准确率仅为65%,远远低于平均检测准确率。

从表2可以看出,平均每张待测图检测耗为2.982s,对于不同缺陷类型,每张待测图平均检测耗时也有不同。毛刺缺陷检测耗时最长,每张待测图平均耗时为3.211s;漏孔缺陷检测耗时最短,每张待测图平均耗时为2.829s。

4 结论与展望

(1)本文提出一种基于ORB算法和图像差分的PCB裸板缺陷检测方法,并对该方法的检测流程进行了详细的说明。

(2)对该方法的检测准确度和效率进行了实验验证。实验结果表明,使用该方法对PCB进行缺陷检测,检测准确率平均可达到94.6%,每张待测图平均耗时少于3s,该方法能够快速准确的检测出常见缺陷,达到了预期目标。但该方法对伪铜缺陷及形状较复杂的PCB板检测效果有待改进,可作为后续研究的重点。

(3)介绍了ORB算法的配准过程,并使用ORB算法对待测图进行配准,很好的解决了待测图畸变问题。

猜你喜欢
差分灰度准确率
采用改进导重法的拓扑结构灰度单元过滤技术
数列与差分
基于灰度拉伸的图像水位识别方法研究
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
高速公路车牌识别标识站准确率验证法
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
基于差分隐私的大数据隐私保护
相对差分单项测距△DOR
差分放大器在生理学中的应用