前面分享了机器视觉在汽车行业与交通行业的应用,其实机器视觉在工业上的应用是最广泛也是最具挑战性的,其中PCB板缺陷检测一直是机器视觉待攻克的难题。印刷电路板(PCB)是电子零件的基板,需求量极大,承载着电路元件和导线的布局,其优良与否对电子产品的质量有着重要影响。本篇论文从传统图像处理方式、传统机器学习及深度学习3大维度全面回顾了近 10 年基于机器视觉的PCB 缺陷检测算法,并分析其优缺点;介绍了9个PCB数据集,给出了评价 PCB 缺陷检测算法的性能指标,且在PCB数据集及流行的小目标数据集上分别对典型的算法进行了对比分析;最后指出了PCB缺陷检测算法目前存在的问题,展望了未来可能的研究趋势。
0 引 言
随着电子制造业的发展,电子产品趋向于多功能化、智能化、小型化。 作为电子产品重要的精密零部件,印刷电路板(printed circuit board, PCB) 扮演着骨架的角色, 承载着电路元件和导线的布局,可以说 PCB 及其上焊接的组件的质量与产品性能是唇齿相依的。随着集成电路 (integrated circuit, IC)封装技术的飞速发展,电子产品也逐渐变得轻薄、精小,同时这也使得 PCB 上的布线越来越拥挤,因此,对PCB的质量要求也越来越高。为了保证电子设备的性能,PCB 缺陷检测技术已成为现代电子产品行业中一项非常关键的技术。在印制 PCB 时,需要经过十几道复杂的工序,但即使严格把控每一道工序,也无法保证百分之百的良品率, PCB 上可能会存在诸多缺陷,如:“missing hole(缺孔)”、 “mouse bite (鼠咬)”、 “open circuit ( 开 路)”、“short (短路)”、“spur (毛刺)”、“spurious copper (假铜)”。 PCB 作为载体用于电子产品时,常采用表面贴片安装技术( surface mount technology, SMT) ,贴片元器件往往体积较小,但焊接的密度很大,这一过程常会存在以下问题:使用真空吸盘将 IC 放置在正确的位置上焊接时导致组件缺失(真空吹掉组件) ;涂抹锡膏等焊接操作导致的一系列焊点缺陷;机械性能差异等引起的组件位置偏移。如今,根据PCB缺陷的类型,已经研究与开发出了一些符合工业生产要求的检测方法,如人工目视法、仪器线上检测法、功能测试法、视觉检测法。其中视觉检测法包含:自动光学检测技术[2](automated optical inspection, AOI)、机器视觉检测技术[3](machine vision inspection, MVI)、自动视觉检测技术(automated visual inspection, AVI)。以上方法各有千秋,但显然传统的目视方法已经不能满足现代化产业的需求,其存在诸多主观不足因素,如疲劳、速度、成本等;线上检测法成本低,易操作,但编程调试异常耗时;功能测试法需在生产线中、末端配备专门的测试设备,且编程复杂,难推广;基于上述方法的局限性,视觉检测技术因其成本低、效率高已作为眼下PCB质检的主流方式。本文主要综述各种先进的基于机器视觉的 PCB 缺陷检测方法。鉴于国内关于PCB的缺陷检测方法的综述文章极少,本文对近十年来的文献进行了分析归纳。与文献不同的是,本文不仅总结了国内外PCB缺陷检测 的相关文献,还给出了公开的PCB数据集及算法评估指标,并针对典型的PCB数据集分析了经典算法性能,探讨了算法在检测柔性印刷电路板( flexible printed circuit board, FPCB)上缺陷时的性能,同时研究了一些典型算法在流行的小目标数据集上的性能。
1 基于传统图像处理方式的 PCB 缺陷检测方法
在机器学习方法流行以前,对于PCB缺陷检测问题主要应用传统的图像处理方式进行检测,这些方式 主要包含4种:傅里叶变换、主成分分析、小波变换、图像模式匹配。这4种方法并非相互独立,它们相互结合,相互渗透,共同组成了基于非分类器的PCB缺陷检测方法,其 中最常见的是,将其他方法融合在图像模式匹配中进行PCB的质量检测。从文献综述中可以看出,图像模式匹配方法主要分为:基于区域的匹配和基于特征的匹配。图像序列中对应像素差的绝对值( sum of absolute differences, SAD) 或平均绝对差值(mean absolute error, MSE)、图像的相关性(normalized cross correlation, NCC)和相位相关是基于区域匹配的典型度量。傅里叶变换、Hausdorff 距离和尺度不变特征变换 ( scale invariant feature transform, SIFT)是基于特征的匹配方式。
Cho等为了识别不正确装配的 PCB 组件,使用了 一种模式匹配方法,利用离散小波变换缩小 PCB 组件标准图像的尺寸,缩短了计算时间,实验表明采集图像时光线变化对该方法的影响较小,但对于一些纹理丢失图像的检测结果不佳。 Hagi 等利用相位相关对 PCB 裸板 进行对齐,然后应用图像相减法识别缺陷。Loch 等、 Szymanski 等 PCB 电子元器件缺陷的 SIFT 进行了评估,但实时性不佳。Dai 等使用了SIFT提取算法,并结合了粒子群优化,对传送带上的 PCB 图像进行匹配, 实验证明,该算法具有更强的鲁棒性和效率。
Wang 等提出一种局部信息 NCC 来检测 IC 图像 缺陷,其仅使用邻域窗口中的显著点来计算 NCC,较好地降低了误报率。Su 等先使用NCC定位倒装芯片焊接凸点的中心,然后提取了焊接凸点的特征进行缺陷检测, 得到较优的检测性能。然而,NCC 虽被广泛应用于机器视觉的工业检测中,但其计算量大,难以实现实时检测, 针对此缺点,Annaby 等提出了一种改进的低复杂度 NCC 用以定位PCB上缺失的IC,匹配时将二维子图像转换为一维特征描述符,并对生成的特征描述符进行离散余弦变换(discrete cosine transform, DCT),在变换域实现 NCC,不仅提高了计算速度,而且对噪声具有鲁棒性。Tsai 等提出了一种图像对齐的E-M ( expectation- maximization)方法用于 PCB 的质量检测,与传统的NCC使用窗口遍历整幅图像相比,该方法只需将待测图像的窗口固定在与模板相同的位置即可,减小了计算成本,且 该算法对旋转角度的变化非常敏感,增加了寻找旋转角度的计算过程。随后2019年,Tsai 等又提出了全局傅里叶图像重建方法,用来检测和定位PCB、IC这类非周 期模式图像中的微小缺陷,该方法改进了传统模式匹配 需依赖局部像素和傅里叶变换仅用于周期纹理的情况, 并且克服了旋转问题, 对光照变化不敏感, 可以检测1 pixel宽的微小缺陷。
Xie等提出了一种检测焊点的统计外观模型 (statistical appearance model, SAM)。 首先,利用单一高斯模型对合格焊点图像进行训练,建立统计模板;然后, 将焊点图像与模板逐像素进行匹配,得到差值图像,最后,通过计算差值图像中不匹配像素的个数来识别缺陷。 实验结果表明,该模型效率较高,但是,这种方法只使用 一个固定模板,导致焊点的检测性能不理想。为了解决这一问题, Cai 等提出了一种基于ViBe ( visual background extraction)算法的 IC 焊点检测方法。 通过对合格的 IC 焊点图像进行训练,建立了6个ViBe 固定模板,然后将输入图像与模板进行比较,检测 IC 焊点图像中潜在的缺陷, 实验结果表明,该方法具有合理的执行 时间和较高精度。 除此以外,Cai 等在中,建立了混合高斯模型(Gaussian mixture model, GMM)来模拟合格焊点图像中像素的真实分布,与文献[25] 不同的是,他们 通过混合几种高斯分布,对 SMT 焊点图像序列中每个像 素位置的变化值进行建模,实验表明,基于 GMM 的检测 方法在 SMT 焊点检测中也取得了令人满意的效果。 虽 然文献[25]和[26]中基于统计建模