0


论文研究 | 基于机器视觉的 PCB 缺陷检测算法研究现状及展望

  1. 前面分享了机器视觉在汽车行业与交通行业的应用,其实机器视觉在工业上的应用是最广泛也是最具挑战性的,其中PCB板缺陷检测一直是机器视觉待攻克的难题。印刷电路板(PCB)是电子零件的基板,需求量极大,承载着电路元件和导线的布局,其优良与否对电子产品的质量有着重要影响。本篇论文从传统图像处理方式、传统机器学习及深度学习3大维度全面回顾了近 10 年基于机器视觉的PCB 缺陷检测算法,并分析其优缺点;介绍了9PCB数据集,给出了评价 PCB 缺陷检测算法的性能指标,且在PCB数据集及流行的小目标数据集上分别对典型的算法进行了对比分析;最后指出了PCB缺陷检测算法目前存在的问题,展望了未来可能的研究趋势。

0 引 言

  1. 随着电子制造业的发展,电子产品趋向于多功能化、智能化、小型化。 作为电子产品重要的精密零部件,印刷电路板(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 缺陷检测方法

  1. 在机器学习方法流行以前,对于PCB缺陷检测问题主要应用传统的图像处理方式进行检测,这些方式 主要包含4种:傅里叶变换、主成分分析、小波变换、图像模式匹配。这4种方法并非相互独立,它们相互结合,相互渗透,共同组成了基于非分类器的PCB缺陷检测方法,其 中最常见的是,将其他方法融合在图像模式匹配中进行PCB的质量检测。从文献综述中可以看出,图像模式匹配方法主要分为:基于区域的匹配和基于特征的匹配。图像序列中对应像素差的绝对值( sum of absolute differences, SAD) 或平均绝对差值(mean absolute error, MSE)、图像的相关性(normalized cross correlation, NCC)和相位相关是基于区域匹配的典型度量。傅里叶变换、Hausdorff 距离和尺度不变特征变换 ( scale invariant feature transform, SIFT)是基于特征的匹配方式。
  2. Cho等为了识别不正确装配的 PCB 组件,使用了 一种模式匹配方法,利用离散小波变换缩小 PCB 组件标准图像的尺寸,缩短了计算时间,实验表明采集图像时光线变化对该方法的影响较小,但对于一些纹理丢失图像的检测结果不佳。 Hagi 等利用相位相关对 PCB 裸板 进行对齐,然后应用图像相减法识别缺陷。Loch 等、 Szymanski PCB 电子元器件缺陷的 SIFT 进行了评估,但实时性不佳。Dai 等使用了SIFT提取算法,并结合了粒子群优化,对传送带上的 PCB 图像进行匹配, 实验证明,该算法具有更强的鲁棒性和效率。
  3. 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 等又提出了全局傅里叶图像重建方法,用来检测和定位PCBIC这类非周 期模式图像中的微小缺陷,该方法改进了传统模式匹配 需依赖局部像素和傅里叶变换仅用于周期纹理的情况, 并且克服了旋转问题, 对光照变化不敏感, 可以检测1 pixel宽的微小缺陷。
  4. Xie等提出了一种检测焊点的统计外观模型 (statistical appearance model, SAM)。 首先,利用单一高斯模型对合格焊点图像进行训练,建立统计模板;然后, 将焊点图像与模板逐像素进行匹配,得到差值图像,最后,通过计算差值图像中不匹配像素的个数来识别缺陷。 实验结果表明,该模型效率较高,但是,这种方法只使用 一个固定模板,导致焊点的检测性能不理想。为了解决这一问题, Cai 等提出了一种基于ViBe ( visual background extraction)算法的 IC 焊点检测方法。 通过对合格的 IC 焊点图像进行训练,建立了6ViBe 固定模板,然后将输入图像与模板进行比较,检测 IC 焊点图像中潜在的缺陷, 实验结果表明,该方法具有合理的执行 时间和较高精度。 除此以外,Cai 等在中,建立了混合高斯模型(Gaussian mixture model, GMM)来模拟合格焊点图像中像素的真实分布,与文献[25] 不同的是,他们 通过混合几种高斯分布,对 SMT 焊点图像序列中每个像 素位置的变化值进行建模,实验表明,基于 GMM 的检测 方法在 SMT 焊点检测中也取得了令人满意的效果。 然文献[25]和[26]中基于统计建模的方法对焊点的检 测性能较好,但它们没有探索任何先验知识,这对于基于 视觉的方法来说往往是很重要的。 随后,Cai 等[27] IC 焊点检测定义为一个优化问题,使用基于鲁棒主成分分 析(robust principal component analysis, RPCA) 对焊点的 低秩分量进行分解,并结合了感兴趣区域的位置先验知 识,以便更好地检测 IC 焊点质量,然而,众所周知,RPCA 是一种非常复杂的数学方法,比较耗时且难以理解,目前 还没有关于 RPCA 在实际工业中的应用的报道。 虽然文 献[25]中使用了多个模板,一定程度地改善了 IC 焊点检 测的性能,但固定模板问题仍然存在,由于有限的固定模 板很难表征 IC 焊点的所有外观,影响检测精度,因此,与 文献[27]相似,Ye 等[28]也使用了优化问题的思想,使构 造的模板可以自适应地表征每个 IC 焊点,该优化问题由 弹性网络解决。 受文献[25]启发,针对其存在的固定模 板问题,Li 等[29]利用更多的 ViBe 模板对合格的 IC 焊点 图像进行统计模型训练,然后,结合模板聚类和随机模板 策略,构造一个均衡的潜在缺陷图像 ( potential defect image, PDI)的评价集,使用优化后的 PDI IC 焊点图 像质量进行评估。
  5. 由上可以看出,在工业检测应用中传统的模板匹配 方法对平移和光照敏感,只能检测较大尺寸的缺陷,基于 傅里叶的特征提取和图像重建技术只能检测均匀纹理或 周期性图案表面的局部缺陷,基于小波的缺陷检测方法 也主要关注均匀纹理表面的缺陷检测。 因此在实际检测 中可结合各种方法的特点,以提高 PCB 缺陷检测算法的性能。综上,主要方法对比如表 1 所示:

2 基于机器学习的 PCB 缺陷检测方法

  1. 采用基于机器学习的方法对 PCB 进行缺陷检测时, 可分为传统的机器学习方式和深度学习的方式。

****2.********1 基于传统机器学习的 PCB 缺陷检测方法 ****

  1. 采用传统的机器学习方式时,一般先对 PCB 图像进 行特征提取,如灰度、颜色、几何形状等特征,缺陷特征提 取环节主要是为后续分类提取出一些特征,并且在某些 情况下带来更好的可解释性[30] ,然后再将这些特征输入 分类器进行分类。 常用的 PCB 机器学习分类器包括支 持向量机(support vector machine, SVM)和各种传统的神 经网络。
  2. Jiang 等[31]提出了一种基于颜色生物特征的 PCB 膏缺陷检测方法,使用生物启发颜色特征( biologically inspired color feature, BICF) 来描述锡膏图像,然后引入 PNDA ( positive-negative discriminative analysis)的子流形学习( sub-manifold learning,SML)方法 提取嵌入在外部高维空间中的本征低维 BICF 流形。 PNDA 既保留了局部的几何结构,又保留了整体的鉴别 特性,并 类。 Xue 等[32]通过颜色特征对 PCB 板缺陷点进行定位、检 测。 Kumar 等[33]在 PCB 板的非铜件检测部分,使用 3D 非均匀颜色直方图进行缺陷检测,取得了较好的检测结 果。 但因为颜色特征易受光照影响,使得该类方法的适 用范围较小。 Wu 等[34] 从焊点图像中提取了 IC 焊点的 形状特征、数字特征和逻辑特征,用于检测 PCB 上回流 后的 IC 焊点缺陷。 实验结果表明,该方法能够有效地识 别出 IC 的焊点缺陷,如多焊点、缺焊点、无焊点、引线抬 起、引线弯曲、移位、桥接和伪接头等。 Hua 等[35] 采用特征跟踪角检测器和快速鲁棒特征描述子( speeded up robust feature descriptor, SURF) 描述符进行图像特征的 提取,解决了哈里斯(Harris)拐角检测中拐角信息丢失、 位置偏移等问题,进而提高 PCB 板缺陷检测效率、精度。 苑玮琦等[36]利用几何特征在柔性 PCB 板进行走线凸起缺 陷检测,有效地屏蔽噪声干扰,对 FPCB 图像凸起的走线进 行有效检测。 Zhong 等[37] 先对柔性 IC(flexible integrated circuits, FICS)图像的背景与缺陷之间(即边缘区域)的每 个像素背景特征进行概率计算,然后实现包含黄色电路背 景、带斑点的薄膜背景和黑色背景的 FICS 图像缺陷分类。
  3. 文献[38-39]根据先验知识将 SMT 电路板焊点划分 为若干子区域,然后提取每个子区域的各种特征,利用 AdaBoost 算法对特征进行最优选择,最后采用基于分类 回归树(classification and regression trees, CART) 将缺陷 检测定义为一种二叉决策树来确定最终的类型,实验表 明,该方法提高了检测速度。 Wu 等[40] 提出了一种带有 特征选择方法的两阶段(贝叶斯和 SVM) 分类器来检测 焊点。 实验结果表明,该方法减少了需要提取的特征数 量、提高了精度。 在提取了 PCB 焊点颜色及几何特征的 基础上,Wu[41]又提出了一种随机森林集成的方法,对缺 陷进行分类, 实验结果表明, 高。 Mak 等[42]提出了一种基于贝叶斯的面向焊锡喷射球头部框 架装配过程的 AOI 专家系统,该系统由 3 个增强的朴素 贝叶斯网络概率分类器、一个检查分类器和一种图像处 理技术组成。 他们提出的系统可以达到 91. 52% 的准确 率。 Tao 等[43]提出了一种新型的级联自动编码器体系结 构,可用于缺陷的分割和局部化。 Acciani 等[44] 的从输入 的焊点图像中提取几何特征,并将其送入多层感知机 (multilayer perceptron, MLP),用以检测焊点的质量,为了 达到更好的准确性,Acciani 等[45] 在文献[44]的研究基础 上进行了进一步的研究,提取 10 个几何特征和 8 个小波特 征作为 MLP 的输入,用于区分 5 种焊点缺陷。 实验结果证 明,该方法虽然能取得较好的检测性能,但特征提取时,对 于焊点图像中的重要特征提取还是存在困难的。
  4. 在图像识别和目标检测中,神经网络已经取得了非 常优秀的结果[46] Meyer 等[47] 建立了一个神经网络框 架,包括反向传播( back propagation, BP) 神经网络和径 向基函数神经网络来预测球栅阵列焊点的质量和可靠 性。 Wu[48]采用基于 Levenberg Marquardt 反向传播神经 网络的截面积、湿润高度和接触角特征对焊点进行检测。 上述基于分类器的方法成功地检测了一些类型的片状元 件,如片状电容器,但对于 SMT 焊点这类小尺寸缺陷时, 检测精度不高。 Wu 等[49] 提出了一种基于 BP 神经网络 和遗传算法的 SMT 印刷电路焊点缺陷诊断方法,在对特 征进行分类前,引入遗传算法来选择和去除冗余的输入 特征,以此避免神经网络过拟合问题,实验结果表明,输 入特征的数量减少,检测速度提高。 综上,主要方法对比如表 2 所示:

****2.********2 基于深度学习的 PCB 缺陷检测方法 ****

  1. 对于 SMT 焊点缺陷小的特点,Cai 等[26] 提出了一种用 于自适应学习焊点图像感兴趣区域(region of interest, ROI) 的级联卷积神经网络。 该方法将学习到的 ROI SMT 焊点图像输入至两个卷积神经网络( convolutional neural network, CNN),然后,通过级联学习的 CNN 得到了较优 的检测结果。 随后,Cai 等[50] 提出了一种使用了 3 CNN 的级联网络用于检测 SMT 焊点,一个 CNN 进行自 适应的学习图像 ROI,然后与输入图像一起送入其他两 CNN 中,该方法不需要提取底层特征,且精度高,具有泛化性,可适应于其他目标检测任务中。 Park 等[51] 针对 检测图像小于训练图像而导致的 CNN 性能下降问题,设 计了 MarsNet,该网络通过改进膨胀残留网络( dilated residual network, DRN)获得更高分辨率的特征图,并设 计了水平垂直池化(horizontal vertical pooling, HVP)收集 特征图中的位置信息,提高了池化效率,且采用多标签评 分模块和阈值估计模块实现多标签分类,最后在锡膏检 查(solder paste inspection, SPI)图像上验证了网络具有 良好的性能。 同年,Park 等[52] 针对焊膏缺陷( defective solder paste pattern, DSPP)图像(从 SPI 图像中获得)的 稀疏性、大小不一、数据集有限等原因,对传统 CNN 进行 改进,提出了一种双层缺陷检测点网 D3PointNet 检测 DSPP 图像上的锡膏打印缺陷。 该网络从 DSPP 图像中 提取点云特征,然后在微观和宏观两个语义层次上进行 缺陷检测,在微观层面上,通过分割来识别每个点的缺陷 类型,在宏观层面上,采用多标签分类方法对 DSPP 图像 中出 别。 MarsNet 及其他 CNN 模型相比,D3PointNet 对输入数据 的稀疏性和大小变化具有更强的鲁棒性。 Chan 等[53] IC 焊接质量进行检测时,提出了一种结合机器学习和人 类判断的检测框架,该检测框架结合了 CNNSVM 和圆 形霍夫变换( circle Hough transform, CHT) 算法,并设定 阈值切换使用人工检测。 实验结果表明,与经典的 CNN 和其他常用的分类器相比,所提出的框架分类结果更佳。 针对 FPCB 缺陷的非显著性且不同种类之间的相似性, Luo 等[54]提出了一种基于 CNN 解耦框架,其中定位任务 和分类任务通过两个特定模块进行解耦。 并为了有效地 定位非显著性缺陷,在定位时,提出了一种多层聚合块作 为定位特征增强模块,同时,为了准确分类相似的缺陷,在 缺陷分类任务中提出局部非局部块作为 SEF 增强模块。 与现有的表面缺陷检测网络相比,该框架的平均精确度 (mean average precision, mAP)达到了 94. 15%
  2. Wu 等[55]提出了一种使用 Mask RCNN 进行焊点缺 陷识别的方法,可同时实现焊点缺陷的分类、定位和分 割。 在训练骨干网络时,加入了迁移学习的方法,使用小 目标数据集( MS-COCO) 进行初始化训练,实验结果表 明,该方法可达到 100% 的分类正确率,以及 90% 以上的 分割正确率。 同年 Wu 等[56] 为了更快地生成 SMT 焊点 掩膜,以便高效且低成本的对 SMT 焊点缺陷进行定位, 使用一种新方法对 Mask RCNN 进行训练,可半自动的生 成掩膜。 该方法使用基于图割的图像分割输出像素级的 结果,然后通过图像变换获得图像掩膜。 该方法可以应 用于自动光学检测设备,也可以很容易地扩展到其他训 练中需要图像标注的领域。
  3. 针对 PCB 缺陷检测误检率和漏检率高、效率低的 问题,Ding 等[57]在 Faster R-CNN 的基础上提出了微小缺陷检测网络( tiny defect detection network, TDD-Net) , 该网络采用 ResNet-101 作为骨干,通过特征金字塔网 络( feature pyramid networks, FPN) 进行特征融合,使用 多种 PCB 缺陷“ anchor”尺寸(152252402602802) , 并在公共 PCB 缺陷数据集上取得了较好的检测结果, 实验 明, 性。 Hu 等[58] Faster RCNN 进, 使 GARPN ( region proposal network, RPN) ,自适应地生成锚点,且为了加快网络速度,结合 ShuffleNetV2 中的剩余单元,实验结果表明,改进后 的模型 mAP 及检测速度均有所提高。 Li 等[59] 在检测 PCB 双列直插式组件缺陷时将 Faster RCNN YOLOv2 集成起来,并安装在 AOI 上,提高了检测率并降低了误 报率。 然而,当该方法应用于其他生产线时,由于环境 的变化,如光照、进样方向、机械偏差等,导致检测性能 下降。 次年,Li 等[60]针对上述问题,提出了一种重新训 练机制,直接从异常中进行学习,并成功应用于 3 条生 产线,实现了各生产线 PCB 板焊接缺陷的高效检测、异 常数据采集和检测模型优化。
  4. 针对 PCB 缺陷小且对比度低的特点,Lin 等[61] ,设计 了边缘多尺度反向注意网络(edge and multi-scale reverse attention network, EMRANet),在特征提取过程中,设计了 一种新的金字塔边缘模块和一种可以获得不同尺度和分 辨率特征的多尺度融合(multi-scale fusion, MSF) 模块。 此外, 中, ( spatial channel domain reverse attention)模块和两个专门提取微 小和低对比度缺陷的新模块,融合了局部和全局特征。 实验表明,EMRANet 的性能优于现有的方法。 Li 等[62] 提出了一种扩展 FPN 的检测模型,该模型融合了高层与 底层语义信息,并引入了焦损函数。 实验表明,该方法具 有良好的可移植性,准确率达到了 96. 2% ,但其虽然在人 工标记的 PCB 缺陷数据集上平均精度得到了提高,在面 对实际的工业生产(噪声干扰、曝光等) 时,该网络性能 并不是最佳的。

  1. 综上,主要方法对比如表 3 所示。 至此可以看出, 传统图像处理方式,如模板匹配方法只能对对象的位 置进行匹配,而传统的分类方法,如传统的机器学习方 法,只能对缺陷类型进行分类,但一些基于深度学习的 方法,如实例分割网络可同时对缺陷进行分类、定位和 分割。

****3 数据集和性能评价指标 ****

****3.****1 PCB 缺陷数据集

  1. 数据集在对象检测中发挥了关键作用,因为它们能 够在不同竞争算法之间进行标准的比较,并为解决方案设定目标。 现已发布了一些关于 PCB 的公开数据集包 PCB Defect[63] PCB Defect-Augmented[57] FICS- PCB[64] PCB DSLR[65] PCB-METAL[66] DEEP PCB[67] HRIPCB[68]等,详见表 4 1 展示了 PCB Defect 数据集 中的缺陷类型。

图一 略。

****3.****2 性能评价指标

1)精度、查全率和平均精确度评价 PCB 缺陷检测的 性能时有 3 个常用的指标, 即精 度 ( precision)、 查 全 率(recall)和平均精确度( mAP)。 Precision 是检测到的 正确结果与所有实际检测到的结果间的比率,Recall 是 检测到的正确结果与所有应检测到的结果间的比率, mAP 是各类预测正确的结果占总样本数的平均值。

  1. 式中:n 为总样本数,m 为类别数,其余参数定义如表 5 所示。

  1. mAP 是许多目标检测数据集常用的评价指标。 PASCAL-VOC mAP ( intersection over union, IoU)等于 0. 5 时的值;在 MS-COCO 数据集中,以 0. 05 为间隔计算[0. 5,0. 95] 10 个不同 IoU mAP, 且在 MS-COCO 中还分别计算了小型、中型和大型目标的 精确度(average precision, AP);KITTI 数据集中计算了不 同检测难易度的 mAP 具体指标如表 6 所示。

2)ROC、AUC 和 IoU 接 受 者 操 作 特 性 曲 线[69] ( receiver operating characteristic, ROC)曲线和曲线下的面积[70] ( area under curve, AUC)也被用于测试检测性能。 ROC 曲线描述 TP 与 FP 间的关系。 图 2 为两条 ROC 曲线,ROC 曲线越接 近左上角,说明 FP 越低,TP 越高,模型越好。 AUC 为评 价 ROC 曲线的指标,即 ROC 曲线下的面积。 在使用 SSD 等模型的对象检测中,通常使用 IoU 来判断对象是否被 正确 检 测。 IoU 表 示 模 型 给 出 的 边 界 框 ( detection result, DR)与真值( ground truth, GT) 边界框间的重叠 率。 如果 IoU 大于预定义的阈值(通常为 0. 5),则认为 对象检测成功。

4 PCB 缺陷检测算法性能评估

  1. 本文从传统图像处理方式和机器学习两大维度总结 PCB 缺陷检测的方法。 基于对 PCB 缺陷检测算法的 分类,分别在表 7 8 中展示了一些最先进的机器学习 算法在 PCB Defect 数据集上的检测结果,表 9 展示了一 些算法在 FPCB 数据集[71] 上的性能比较,表 10 11 展示了一些算法在公共数据集 MS-COCO PASCAL- VOC 上的性能对比。

  1. 如表 7 所示,列出了一些算法在 6 种缺陷上测得的 AP mAP 在监督学习部分,HOG + SVM LBP +SVM SIFT + BOW +SVM 算法对于多类缺陷的识别准确率 较低,这些基于浅层特征的方式所得的 mAP 值要明显低 于使用深度特征的方法(第 2,3,4,5 行),以“Mouse bite 为例,基于 AlexNet+SVM 方法的 AP 要比其他 3 种至少 高出一倍多,对于这样显著地增长,可说明深度特征学习 的性能更好。 6 种缺陷中,“Missing hole 类别较容易检 出,MLDN AP 最高达到 99. 6,而“Open circuit”类别特 征不容易捕获,特征较少,因此 AP 最高达到 97. 3 由于 PCB 这几种缺陷都较小,文献[78]中结合偏振信息和红 外信息的模型获得了较高的 mAP 对比各种骨干网络 发现“ResNet101 + FPN”表现最佳在 PCB defect 数据集 mAP 96. 2%

  1. 8 参考于文献[62],比较了一些网络在不同 IoU 下的性能。 表中 MLDN [78]在 Faster RCNN 的基础上扩展 FPN,其 mAP 值为 96. 2% ,比 Faster RCNN 5. 4% , UF-Net 0. 6% ,这是因为 Extended FPN [62]扩展了 FPN 网络,融合了多尺度的特征,提高了网络性能,如表 8 中所示,使用了 FPN 的网络与原网络相比性能得到了 提升,但耗时会增加,即 FPS 会变小,如 Extended FPN (ResNet-101-FPN) FPS 13. 5, Faster RCNN FPS 39. 7 MLDN MobileNet 的基础上进行改进,性 能与 Thundernet 相似,但因为 Backbone 中融合了 MSAM C-PAnet,所以其精度更高,而 YOLOv3-tiny 的速度优 势显著,但精度相较于其他网络较低。 对于工业上的 PCB 缺陷检测来说,速度是一项需要考虑的重要指标,但 精度问题则更为迫切。

  1. 9 引自文献[54],文中使用了 FPCB 数据集,给出 了宝贵 论。 9 出, FPCB Scratch 类型缺陷较难检测,SOTA Cascade RCNN Libra RCNN 在此类缺陷上性能较优,“Open”类型缺陷检 出率很高,检测起来最为容易。 在表 9 中,突出了部分经 典网络添加 FPN 模块后的性能变化,这些网因融合了多 尺度特征或上下文语义信息性能皆有所提升。 除此外, 还可以看出在相同的网络中使更强的 Backbone,mAP 也会相应增加,如 Faster RCNNCascade RCNN Libra RCNN,Backbone 升级为 ResNet-101 后,mAP 分别提升了 0. 4% ,0. 5% 0. 8%

  1. 10 中反应的是,在 80 个类别的 MS COCO 数据集 上所总结的一些典型分类器的检测性能,在大、中、小这 3 类检测物体中,大物体检测性能( APL ) 最佳,中物体 (APM )次之,小物体(APS )最差,这也说明了对于 PCB 陷检测这类小目标物体检测的难度。 其中 RetinaNet RefineDet512+ +、M2Det800M2Det800 + +、Faster RCNN Libra RCNN Mask RCNNR-FCN++、Grid RCNNSNIP SNIPER APS 都达到了 20% 以上。 RefineDet512++与 M2Det800++通过对 FPN 进行改进使特征更加融合,分别 APS 16. 6% 22. 1% 25. 6% 29. 2% SNIPER 使用了多尺度特征,APS 提高至 29. 6% 此外Faster RCNN Mask RCNN 通过使用更强大的 Backbone APS 都有一定的提升。

  1. 在表 11 中,总结了一些典型的分类器在 VOC2007 数据集上的性能。 对比表 10 11 可以看出 MS-COCO 数据集的检测难度远大于 PASCAL-VOC 数据集[106] 可能是 MS-COCO PASCAL-VOC 数据集,图像背景复杂,每张图片的目标 多[107] ,且与 PASCAL-VOC 数据。

5 存在的问题及展望

  1. 从上文可以看出,PCB 缺陷检测仍有广阔的发展空 间。 虽然目前已经提出了许多先进的算法,但由于 PCB 自身的属性,对于其缺陷的检测,仍存在一些难以避免的 问题,具体如下所示:

1)小目标问题。 对于 PCB 缺陷检测,首先要面对的 问题就是小目标问题,PCB 上的缺陷及一些元器件都是 极小的,尤其对于裸盘上一些线路缺陷如开路、短路等都 是毫米级缺陷。 但目前的目标检测算法大抵是针对大中 物体的,对于小目标检测效果不佳。 一方面因为,PCB 缺 陷本身背景很复杂,不易将缺陷与背景分开,另一方面对 于所有的小目标物体来说,精确定位的要求更高。 所以 对于 PCB 缺陷这类微小物体的检测,一直存在有技术 瓶颈。

2)小样本问题。 工业生产中可以提供的缺陷样本有 限,例如上述数据集中,许多缺陷种类是人工合成的,且 数量很有限,如 FICS-PCB 数据集仅从 31 个 PCB 样本上 采集。 如今,很多检测网络都是在通用数据集上进行测 试的,这使得在面对实际问题时网络性能往往不佳。 目 前对于小样本的问题有一些解决思路,如迁移学习将其 他一些目标检测网络迁移到 PCB 检测中;数据增强策略 通过数据增强弥补数据量不足的问题;多模态策略可融 合其他模态信息增强模型;无监督学习帮助算法摆脱对 数据集的依赖。 虽然有以上诸多解决思路,但在 PCB 缺 陷检测中该问题仍旧存在,其可用的数据集很有限,且在 工业流水线上可采集到的缺陷类型和数量更有限,因此 小样本是 PCB 缺陷检测中一个亟待解决的问题。

3)复杂背景问题。 前文中提到 PCB 的制作越来越 精良,追求精小、轻薄,以至于其上的布线及焊接密度都 非常的大,PCB 缺陷又极小,这使得缺陷背景与前景难区 分,面临着复杂背景的问题。

4)实时性问题。 由于 PCB 缺陷目标小且背景复杂, 常采用高分辨率相机进行采集,得到的图片像素数目很 多,且对于目标小且背景复杂的物体,为了提高精度网络 结构容易过大,这些因素都会对工业流水线上的 PCB 质 检实时监控效率产生影响。

  1. 综上,虽然最近在 PCB 缺陷检测领域取得了可喜的 进展,但与人类认识水平相比,仍存在很大差距,需要做 的工作还很多,如以下几个方面:
  2. 数据集更新策略及其他。 文中介绍了相关数据集, 根据文献情况可知,较为流行的数据集为 PCB Defect DEEP PCB,但这些数据集中的图像数量及缺陷种类都很 有限,为提高 PCB 缺陷检测算法的精度,使算法更有通 用性,有必要研究一种大规模的数据集,当然这也是小目 标类检测的一个共同的发展方向。 再者未来也可以研究 无监督学习,以减少对数据集的依赖。 除此之外,迁移学 习和 GAN( generative adversarial network) 也是一个不错 的选择。
  3. 多标签分类问题中的标签之间的相关性[114] 多标 签分类又称多目标分类,用于 PCB 缺陷检测中时,既可 以预测输入图像中缺陷的类型,又可以预测该缺陷的严 重程度等属性。 近年来,理解多标签问题中标签之间的 相关性已成为一个重要的研究方向。 因此,在未来的工作中,可利用图像中出现的标签之间的相关性来提高检 测算法的性能[51]
  4. 模型再训练策略。 有时在一条固定的生产线上训练 好的模型,一旦更换了生产线或改变了 PCB 上的排线布 局,模型的性能就会有波动,因此面对此类问题时,可考 虑使用再训练机制,如何在模型中加入再训练机制,以及 如何在一个系统上启动多个再训练过程,都是值得思考 的。 此外,该怎样维持训练策略与实时性检测间的平衡 也是引人深思的[60]
  5. 多任务联合学习及多尺度特征融合策略。 对于 PCB 这类目标较小的缺陷,可结合不同检测方法以提高检测 性能,且在特征提取时可以采用多尺度特征融合,以提高 小目标检测精度。 具体来说,当同一个网络同时联合多 个任务,如目标检测、语义分割等,可大幅提高单任务算 法性能;众所周知,不同尺度的特征适合处理不同大小的 目标,多尺度融合对于缺陷较小的 PCB 来说是一个不错 的选择。 所以多任务联合学习及多尺度特征融合也是 PCB 缺陷检测算法发展的一个不错的方向。

6 结 论

  1. PCB 缺陷检测由于其目标较小、背景复杂、数据集有 限在机器视觉领域中是一个具有挑战性的问题。 本文从 传统图像处理方式、传统机器学习及深度学习 3 大维度 全面回顾了基于机器视觉的 PCB 缺陷检测算法。 搜集 9 个公开数据集,并在 PCB Defect 数据集上做了全面 的算法比较,除此以外还在目前比较流行的小目标数据 集如 PASCAL-VOCMS-COCO 上对比分析了一些经典的 目标检测算法。 旨在能够为研究人员提供便利,可以快 速地了解 PCB 缺陷检测这一课题的研究现状及一些先 进的算法。

参考文献

略。

感兴趣的同学可以在知网上下载此论文


文章来源:吴一全,赵朗月,苑玉彬,杨洁. 基于机器视觉的 PCB 缺陷检测算法研究现状及展望 [J]. 仪器仪表学报, 2022,43(8)


这篇论文可以说是把PCB缺陷检测算法近几年的研究都概述的很透彻了,在做机器视觉这块研究的同学可以去搜一搜这篇论文。


本文转载自: https://blog.csdn.net/Bella_zhang0701/article/details/128022261
版权归原作者 太阳碎片Bella 所有, 如有侵权,请联系我们删除。

“论文研究 | 基于机器视觉的 PCB 缺陷检测算法研究现状及展望”的评论:

还没有评论