基于多尺度轻量级卷积网络的PCB裸板缺陷识别算法
2020-10-30刘伟森方亦建
刘伟森 方亦建
学术研究
基于多尺度轻量级卷积网络的PCB裸板缺陷识别算法
刘伟森 方亦建
(广州安易自动化科技有限公司,广东 广州 510289)
针对目前印刷电路板(PCB)缺陷检测方法存在的检测效率低、接触式检测易损伤PCB、误检率高、难以适应多种缺陷类型等问题,提出一种基于多尺度轻量级卷积网络的PCB裸板缺陷识别算法。该算法在网络第一层采用多尺度卷积核对缺陷图片进行特征提取,并采用深度可分离卷积操作替代网络中的标准卷积操作,提高网络模型特征提取能力的同时减少模型的参数数量及计算量。实验结果表明:与经典卷积网络、传统缺陷检测算法相比,本文算法具有缺陷识别准确率高、通用性强等特点,满足工业应用要求。
多尺度;轻量级;PCB裸板;缺陷识别
0 引言
随着我国智能制造2025强国战略的提出以及现代工业信息化水平的不断提升,对电子产品质量的要求也越来越高。印刷电路板(printed circuit board,PCB)裸板作为电子产品的核心组件,其质量检测成为满足电子制造业日益增长的质量需求的关键。PCB裸板检测先定位缺陷位置,再识别短路、断路、凸起、缺口、余铜和漏孔等缺陷类型。目前PCB裸板缺陷检测方法存在检测效率低、误检率高、接触受限等问题[1-2]。因此,研究一种快速可靠的PCB裸板缺陷识别算法具有重要实际意义。
目前,PCB裸板缺陷检测主要有3种方法:1)人工检测法,检测员需用放大镜甚至显微镜对PCB裸板进行重复观察查找电路板缺陷,存在检测效率低、主观误差较大、人工成本较高等问题[3-4];2)电气检测法,利用电气特性通过针床对PCB裸板进行接触式检测,检测效率、精度较高,存在接触式检测易损伤PCB、检测缺陷类型单一等问题[5-6];3)传统视觉检测法,通过摄像头采集图像,并传输至计算机,再利用图像处理算法分析判断缺陷位置和类型,特征识别算法通用性较差,在缺陷类型较多的情况下,该方法误检率较高[7-8]。
深度学习模型因具有强大的学习能力,高效的特征表达能力,在图像分类、识别和匹配等领域均取得较快进展[9-10]。其采用卷积神经网络在训练期间自动提取图像最有效的特征,可直接将图像作为输入,隐式地学习多层次特征,进而实现分类,相比于传统人工设计算法,具有显著优势。文献[11]提出一种基于卷积神经网络的PCB缺陷识别方法,通过训练卷积神经网络自动提取有效特征,实现对多种PCB缺陷准确识别,准确率远高于传统缺陷识别方法;WEI P等[12]提出一种基于卷积神经网络PCB缺陷检测算法,加入dropout机制,提升模型训练效果及防止过拟合,实现对多种PCB缺陷进行准确识别,准确率高达95.7%;ADIBHATLA V等[13]采用多个卷积神经网络分类器组合实现对PCB良品、半成品、不良品的准确分类,取得优异效果。上述基于卷积神经网络的PCB缺陷检测算法效果远优于传统缺陷检测算法,但都采用单尺度卷积核提取特征,特征细节提取不够全面,且网络模型参数较多、计算量较大,对主机硬件配置要求较高,无法适用于工业应用场景。为此,本文提出一种多尺度轻量级的PCB裸板缺陷识别算法,高效准确地实现PCB裸板缺陷分类识别。
1 算法流程
基于多尺度轻量级卷积网络的PCB裸板缺陷识别算法流程如图1所示。
图1 基于多尺度轻量级卷积网络的PCB裸板缺陷识别算法流程图
2 PCB裸板缺陷定位
本文通过工业相机采集无缺陷的PCB裸板图作为模板图像,采集有缺陷的PCB裸板图为待测图像。
2.1 图像配准
在工业现场在线检测过程中,由于工位偏差、传送带振动等因素影响,相机拍摄的PCB裸板待测图像与模板图像存在一定方向的偏差,对后续的缺陷定位、识别造成较大影响。为此,本文采用图像配准方法校正PCB裸板待测图像。加速鲁棒特征(speeded-up robust features,SURF)算法对图像旋转、尺度变换、亮度保持不变性,对视角变换、噪声也有一定程度的抗干扰能力。故本文采用SURF算法对PCB裸板待测图像进行图像校正。首先,采用SURF算法提取2幅图像的特征点进行配准;然后,计算变换矩阵,将PCB裸板待测图像校正。
2.2 差分运算定位缺陷
图2 定位缺陷位置
3 基于多尺度卷积轻量级的PCB裸板缺陷识别
3.1 经典卷积网络
经典卷积网络一般由输入层、池化层、全连接层和输出层构成。经典卷积网络结构如图3所示,主要由4个卷积层、3个最大池化层和2个全连接层组成。该网络结构简单,但特征提取能力较弱,且卷积核个数较多,参数超过400万个,影响模型预测速度,且较占用资源,不利于部署到工业计算机上。为此,从多尺度卷积和深度可分离卷积应用改进优化网络模型,提高模型特征提取能力,减少模型参数和计算量。
3.2 多尺度卷积改进
相关研究表明[14-15],不同卷积核尺寸可以提取图像不同特征,小卷积核可提取细节特征但特征提取能力较弱,大卷积核感受野更大但容易忽略细小特征。因此,在经典卷积网络结构的第一层采用多种尺度的卷积核进行特征提取,可获得不同尺度的特征信息,充分挖掘PCB裸板缺陷图像的特征信息,从而更加准确、全面地表达出输入图像的特征信息。PCB裸板缺陷图像多尺度卷积特征融合过程如图4所示。
图3 经典卷积网络结构
图4 PCB裸板缺陷图像多尺度卷积特征融合过程
将拼接融合后的特征图作为下一层卷积输入,为下层卷积层提供更加丰富的图像特征信息,提高网络模型的特征提取能力和PCB裸板缺陷识别准确率。
3.3 深度可分离卷积应用
工业现场对PCB裸板缺陷识别实时性要求较高,且工业现场的工控机配置相比实验室深度学习服务器性能差。针对经典卷积网络参数多,运算量大问题,本文采用深度可分离卷积操作替代标准卷积操作,减少网络参数和计算量,提高网络预测效率。
HOWARD A等[16]提出深度可分离卷积方法,核心在于采用深度卷积和点卷积操作替代标准卷积操作,相比标准卷积操作,可减少模型参数和计算量。深度卷积操作、点卷积操作过程如图6所示。
图6 深度可分离卷积
由式(7)可知:相比标准卷积,采用深度可分离卷积计算量和参数大幅减少,降低模型对工控机计算能力要求,提高网络模型的PCB裸板缺陷识别效率。
4 实验测试与分析
4.1 实验平台
软件环境:深度学习框架 pytorch 1.0、集成开发环境spyder 3.0、第三方函数库Anaconda3-4.2.1以及操作系统Windows 10。
硬件环境:酷睿i5-8500、英伟达GTX1660Ti、8 GB内存、1 TB硬盘。
4.2 数据集
图7 6种缺陷部分样本
4.3 实验设计与分析
4.3.1单尺度与多尺度卷积实验对比
表1 多尺度和单尺度卷积网络PCB裸板缺陷识别率对比
由表1可看出:多尺度卷积神经网络在PCB裸板缺陷识别总体准确率及各种缺陷识别准确率上均优于单尺度卷积网络。主要是因为多尺度卷积网络能够从不同尺度获取PCB裸板缺陷更多的特征细节,更充分挖掘PCB裸板缺陷的特征信息,从而提高网络模型的PCB裸板缺陷识别准确率。
4.3.2标准卷积与深度可分离卷积实验对比
为验证深度可分离卷积操作可有效减少网络模型参数和计算量,提升模型运行效率,本文基于多尺度卷积网络结构对深度可分离卷积操作和标准卷积操作进行对比。方法1采用标准卷积操作的多尺度卷积网络;方法2将方法1中的全部标准卷积操作替换为深度可分离卷积结构,测试结果如表2所示。
表2 标准卷积与深度可分离卷积操作测试结果
由表2可知:深度可分离卷积替换标准卷积操作后,网络模型的缺陷识别准确率基本保持不变,但模型大小压缩约为原模型的1/30,参数数量从428万个减少至12万个,计算量只有原模型的1.74%,训练时间减少超过60%,预测时间提升84%。
4.3.3多种算法对比
为验证本算法的有效性,将本文算法与经典卷积网络、多种传统缺陷检测算法作对比。其中文献[5]基于图像参考对比法:首先,对待测PCB裸板图像进行图像配准;其次,采用图像差分算法确定PCB裸板缺陷位置;然后,求待测PCB裸板图像缺陷区域的连通区域数、欧拉数、面积特征;最后,通过简单的特征对比进行PCB裸板缺陷分类。文献[6]基于决策树的PCB裸板缺陷识别法:首先,对待测PCB图像进行图像预处理、图像差分等操作提取PCB裸板缺陷区域图像;然后,提取待测PCB图像缺陷区域的轮廓、连通区域数、欧拉数、面积特征并组成特征向量;最后,输入到已训练好的决策树模型实现缺陷分类。多种算法的测试结果如表3所示。
表3 多种算法测试结果
由表3可知:传统的图像参考对比法、基于决策树的PCB裸板缺陷识别法对6种缺陷识别准确率较低,总体识别准确率只有81.81%和92.01%,难以达到实际检测要求;经典卷积网络整体PCB裸板缺陷识别准确率达96.16%,相比传统缺陷检测算法有明显提高,但在某种缺陷识别准确率较低,如毛刺缺陷识别率仅有93.75%;本文改进的卷积网络整体PCB裸板缺陷识别率达99.09%,6种缺陷识别率均高于97.5%,明显优于经典卷积网络法、传统缺陷检测算法,可满足工业应用实际要求。
5 结论
本文提出的基于多尺度轻量级卷积网络的PCB裸板缺陷检测算法,从多尺度卷积和深度可分离卷积对经典卷积网络进行改进。针对经典卷积网络单尺度卷积特征提取能力较弱问题,本文在网络第一层采用多尺度卷积提取特征,从不同尺度获取PCB裸板缺陷更多的特征细节,提高PCB裸板缺陷识别准确率;针对经典卷积网络结构参数多、计算量大问题,本文采用深度可分离卷积替代标准卷积,大幅减少模型的参数和计算量,在保证识别准确率下,显著提高模型的运行效率。实验测试表明:本文算法对PCB裸板常见6种缺陷的整体识别准确率达99.09%,单种缺陷识别准确率均高于97.5%,与经典卷积网络、传统算法相比,无论是整体识别准确率,还是单种缺陷识别准确率,都具有明显的优势,对PCB裸板缺陷检测有一定借鉴意义,具有一定工业应用价值。
[1] MA J. Defect detection and recognition of bare PCB based on computer vision[C]//2017 36th Chinese Control Conference (CCC). IEEE, 2017: 11023-11028.
[2] 张永宏,黄晓华.基于SIFT匹配算法的PCB板缺陷检测[J].计算机测量与控制,2012,20(9):2328-2330.
[3] LU Z, HE Q, XIANG X, et al. Defect detection of PCB based on Bayes feature fusion[J]. The Journal of Engineering, 2018, 2018(16): 1741-1745.
[4] 刘国忠,李运生,周玺,等.基于分层参考比对法印刷电路板自动检测技术[J].制造业自动化,2010,32(11):6-10.
[5] 陈姜嘉旭.基于机器视觉的PCB裸板缺陷检测技术研究[D].长沙:湖南大学,2017.
[6] 杨庆华,陈亮,荀一,等.基于机器视觉的PCB裸板缺陷自动检测方法[J].中国机械工程,2012,23(22):2661-2666.
[7] ZHANG C, SHI W, LI X, et al. Improved bare PCB defect detection approach based on deep feature learning[J]. The Journal of Engineering, 2018, 2018(16): 1415-1420.
[8] 熊光洁,马树元,武思远,等.新型高密度电路板的自动光学检测系统设计[J].计算机工程与设计,2011,32(9):3218-3221.
[9] 刘建伟,刘媛,罗雄麟.深度学习研究进展[J].计算机应用研究,2014,31(7):1921-1930,1942.
[10] 王宪保,李洁,姚明海,等.基于深度学习的太阳能电池片表面缺陷检测方法[J].模式识别与人工智能,2014,27(6):517-523.
[11] 王永利,曹江涛,姬晓飞.基于卷积神经网络的PCB缺陷检测与识别算法[J].电子测量与仪器学报,2019,33(8):78-84.
[12] WEI P, LIU C, LIU M, et al. CNN-based reference comparison method for classifying bare PCB defects[J]. The Journal of Engineering, 2018, 2018(16): 1528-1533.
[13] ADIBHATLA V A, SHIEH J, ABBOD M F, et al. Detecting defects in PCB using deep learning via convolution neural networks[C]// 2018 13th International Microsystems, Packaging, Assembly and Circuits Technology Conference, 2018.
[14] LI Y, XU Y, WANG J, et al. Ms-rmac: Multiscale regional maximum activation of convolutions for image retrieval[J]. IEEE Signal Processing Letters, 2017, 24(5): 609-613.
[15] WANG X, BAO A, LV E, et al. Multiscale multipath ensemble convolutional neural network[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2020(99):1-11.
[16] HOWARD A G, ZHU M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv:1704.04861, 2017.
PCB Bare Board Defect Recognition Algorithm Based on Multi-Scale Lightweight Convolutional Network
Liu Weisen Fan Yijian
(Guangzhou Anyi Automation Technology, Guangzhou 510289, China)
At present, the defects of Printed Circuit Board (PCB) are generally detected by manual visual inspection, electrical inspection, visual inspection, etc. But it has disadvantages such as low detection efficiency, easy damage of PCB in contact detection, high false detection rate and difficulty in adapting to various defect types. To solve the above problems, we propose a Convolutional Neural network (CNN) based algorithm for PCB bare board defect recognition, which adopts multi-scale convolution to check defect images for feature extraction, and adopts deep separable convolution operation to replace the standard convolution operation in the network. It can improve the ability of network model feature extraction and reduce the number of model parameters and computation. The experimental results show that compared with the classical convolutional network and the traditional defect detection methods, the proposed algorithm has the advantages of high accuracy and versatility in defect identification, and meets the requirements of industrial application.
multi-scale; lightweight; PCB bare board; defect recognition
刘伟森,男,1990年生,本科,助理工程师,主要研究方向:测控系统集成应用。E-mail: 798286225@qq.com
TP391
A
1674-2605(2020)05-0004-07
10.3969/j.issn.1674-2605.2020.05.004