摘 要:BGA封装焊点的分割和提取是焊点缺陷精确诊断的重要前提。传统图像处理方法针对复杂背景焊点的分割常需结合多种方法,致使算法速度较慢、鲁棒性很差。为此提出一种改进的UNet网络BGA焊点提取方法,采用深度可分离卷积代替原始网络中的标准卷积,以降低网络参数量,提高检测速度;通过增加卷积层数提高特征提取能力,加入批标准化层改善数据分布情况,加速网络收敛;在主干特征提取网络引入残差结构并融合不同分辨率特征。实验结果表明,改进后的算法参数量仅为原始模型的12.17%,交并比、准确率和F1分数分别达92.4%、98.31%和96.05%,较原始网络分别提升了2.17%、0.52%和1.18%,FPS达114.8帧/秒,在提升BGA焊点分割速度的同时拥有较高的准确率。
关键词:球栅阵列;图像分割;UNet;深度可分离卷积;残差模块
中图分类号:TP391.4;TP183 文献标识码:A 文章编号:2096-4706(2023)19-0069-06
BGA Solder Joint Segmentation Method Based on UNet Deep Separable Residual Network
YAO Yuan1,2
(1.College of Electrical and Electronic Engineering, Wenzhou University, Wenzhou 325035, China;
2.Intelligent Lock Research Institute, Wenzhou University, Wenzhou 325035, China)
Abstract: The segmentation and extraction of BGA package solder joints is an important prerequisite for accurate diagnosis of solder joint defects. Traditional image processing methods often need to combine multiple methods for the segmentation of complex background solder joints, resulting in slow algorithm speed and poor robustness. To this end, an improved UNet network BGA solder joint extraction method is proposed, using deep separable convolution instead of the standard convolution in the original network to reduce the amount of network parameters and improve detection speed; improve feature extraction capabilities by increasing the number of convolution layers, add batch normalization layer to improve data distribution and accelerate network convergence; introduce residual structure in backbone feature extraction network and integrate features of different resolutions. The experimental results show that the parameter amount of the improved algorithm are only 12.17% of the original model, and the intersection ratio, accuracy rate and F1 score are 92.4%, 98.31% and 96.05% respectively, which are respectively 2.17%, 0.52% and 1.18% higher than the original network. FPS is up to 114.8 frames per second, which has a higher accuracy rate while improving the speed of BGA solder joint segmentation.
Keywords: ball grid array; image segmentation; UNet; deep separable convolution; residual module
0 引 言
現今,电子信息行业迅猛发展,高密度集成化成为电子设备的主要发展趋势[1-3],其中球栅阵列(Ball Grid Array, BGA)作为主流封装技术已被广泛应用于集成电路板中[4],其主要特点是在芯片底部使用焊球代替引脚,使封装芯片的体积更小、引脚数更多、电性能更优[5,6]。由于BGA封装焊点位于芯片底部,对焊接质量的检测一般采用X射线成像系统。常见的BGA焊接缺陷有短路、空洞、虚焊、焊点过大或过小等[7],能否对焊点进行准确分割将影响对焊点缺陷的诊断,故对焊点分割方法的研究至关重要。
目前较广泛使用的是传统图像处理方法,李伟等[8]考虑焊点边缘模糊情况,对OSTU分割算法进行改进,二次选取阈值并再度分割,较完整地保留了焊点区域。张俊生等[9]提出一种自适应阈值分割方法,通过对原始图像与平滑图像差值设定阈值,实现了对存在气泡缺陷焊点的准确提取。针对复杂背景下BGA焊点分割,李乐等[10]采用阈值分割、焊点的圆度及面积等标准提取未被遮挡的焊点,并提出交互式射线轮廓法提取被遮挡轮廓的焊点。Wang等[11]提出了一种基于独立连通区域面积均值作为阈值与数学形态学相结合的图像分割方法,对于线桥和无效焊点有较好的过滤效果。Li等[12]根据焊点的几何特征,提出一种基于边缘检测和坐标系变换的分割算法,针对背景存在干扰和焊点内部灰度不均匀的情况,有较好的分割效果。传统的BGA焊点分割方法都是基于边缘、阈值、形态学及几何特征,对于轮廓清晰、背景简单焊点的分割有着较好效果,但是针对复杂背景,往往需要结合多种方法,分割速度慢且鲁棒性较差。
近年来随着人工智能技术的发展,深度学习因其具有优秀的特征选择和提取能力被广泛应用,相关学者将其应用于BGA焊点分割领域。赵瑞祥等[13]采用全卷积神经网络(Full Connected Network, FCN)提取焊点区域,利用深层和浅层信息,通过跳跃结构融合多尺度特征,但分割精度较低。为此,陈雅琼[14]通过粒子群算法优化反卷积层的融合比例,采取不同比例多尺度融合方式提高卷积网络的性能,保证图像特征的完整性,取得较好的精度,但是分割速度较慢。
本文提出一种基于UNet语义分割网络的改进算法,通过增加卷积层数增强网络特征提取能力,融入残差结构解决梯度消失等网络退化问题,同时使用深度可分离卷积减轻模型计算量,提高运算速度,实现针对BGA焊点快速分割的同时拥有较高的精度。
1 UNet算法
UNet[15]是一种端到端的U形语义分割网络,最初因其具有能较好地解决生物医学图像分割问题而被重视。UNet是一个编码器(Encoder)-解码器(Decoder)对称结构,如图1所示,左侧部分为编码器,主要用于特征提取,一共分为五层,每一层由两个3×3的卷积层和激活函数及一1个2×2的池化层组成,输入通过卷积层提取特征信息,然后经池化层进行二倍下采样,每通过一层,分辨率减半的同时通道数加倍。浅层网络提取轮廓、边缘等浅层次信息,深层网络提取高层次的语义信息。右侧部分为解码器,通过上采样和特征拼接将低级特征和高级的语义特征融合,最后通过1×1的卷积层分类,实现像素級分割。
考虑到BGA焊点图像结构相对固定、语义信息较简单、边界较为模糊,与医学图像特点具有很大相似性,因此在UNet网络的基础上提出本文算法。
2 提出的算法
2.1 深度可分离卷积
UNet网络在编码端和解码端运都用了大量的3×3的卷积操作,为了提升网络的运算速度,减少网络参数和复杂度,实现对BGA焊点的快速分割,采用深度可分离卷积(Depthwise Separable Convolution, DSC)[16]代替原网络中所有的标准卷积。
深度可分离卷积将卷积核拆分成两个小卷积核,分别进行深度卷积和1×1的逐点卷积运算,代替标准卷积提取语义特征,此方法仅牺牲较小的精度,却极大减少了网络的计算量(GFLOPs)和参数量(Parameters),标准卷积和深度可分离卷积的结构分别如图2和图3所示。
假设输入的特征维度为Kin×Kin×Cin,标准卷积核参数为Ka×Ka×Cin×Cout,输出特征图维度Kout×
Kout×Cout。同维度特征图输出情下,深度可分离卷积将卷积核拆分成Ka×Ka×1×Cin和1×1×Cin×Cout两个卷积核。第一个卷积核与输入有相同的通道数,首先进行逐通道卷积,输出的特征图通道数不变,然后经过Cout个1×1的卷积核进行维度扩充,将上一层的特征图在通道上进行加权组合,生成新的特征图。
2.1.1 计算量对比
标准卷积的计算量如式(1)所示:
深度可分离卷积的计算量如式(2)所示:
2.1.2 参数量对比
标准卷积和深度可分离卷积的参数量分别如式(3)和式(4)所示:
深度可分离卷积的参数量与标准卷积的计算量比对如式(5)所示:
标准卷积相比,输出特征图通道数越多,卷积核越大,深度可分离卷积在计算量和参数量上优势越明显。在相同参数量条件下、采用深度可分离卷积可以使网络层数更深。
2.2 残差模块
深度神经网络能够学习丰富的图像表征,然而随着网络层数加深,会带来网络退化、梯度弥散甚至爆炸问题。针对该问题,He等[17]提出残差网络结构,通过shortcut操作将输入恒等映射到输出,保证信息传递的完整性,使深层网络更易训练。残差模块为残差网络的核心,其结构如图4所示。
weight layer中通过卷积层进行残差学习,残差模块可以表示为:
其中,ReLU为非线性激活函数,x为残差块的输入,w为权重参数,F(x,w)是经第一层线性变化并激活后的输出,H(x)为残差块的输出。
当输入x和F(x,w)维度不匹配时,无法进行恒等映射,此时,需将输入x乘以Z矩阵投影映射到新的空间,此时输入和输出的关系可表示为:
2.3 改进的UNet网络结构
原始UNet网络虽拥有较高的分割精度,但是参数量较多,计算量较大。针对BGA焊点这种结构相对固定、特征清晰的目标,过多的参数会提取大量的冗余信息,减缓模型的运算速度,本文提出改进的UNet网络结构如图5所示。首先,为降低模型复杂度,提高运算效率,采用深度可分离卷积代替编码器和解码器中的标准卷积。其次,在所有卷积层后面加入批归一化层(Batch Normalization, BN),改善数据分布情况,加快网络收敛速度[18]。再者,原始网络编码器端每层采用的都是两个卷积层进行特征提取,本方法将第三、第四和第五层改为三个卷积层,增强特征学习能力,使模型学习深层网络中更多的语义信息,并且将残差网络引入编码器的每层特征提取中,在shortcut支路引入1×1的卷积层和BN层,一方面解决输入和输出维度不匹配的问题,另一方面通过卷积层可以学习到更多的信息,将不同分辨率的特征融合。残差模块的加入有助于解决网络反向传播中的梯度消失和梯度爆炸问题,有助于解决网络退化问题。图5中DR_2Conv表示此层使用深度可分离卷积和残差结构,2表示其中使用两个卷积层,相应的DR_3Conv表示该模块中使用三个卷积层。Up_Cat模块为特征拼接结构,主要是将深层特征上采样与编码器学习到的特征在通道维度拼接,通过解码器还原到与输入尺寸相同大小,最后经通道数为2的卷积层,将焊点部分与背景部分分为两类,完成分割。
3 实验及结果分析
3.1 实验数据
本实验采用实验室自制数据集,通过微焦点X-Ray设备对PCB板上BGA焊点部分进行采集,此外从搜索引擎下载部分图片,共采集原始图像80张,包含焊点4 800个。使用labelme软件对焊点图像标注,背景部分值为0,焊点区域值为1,并通过Augmentor数据增强库对原始数据进行随机旋转、翻转、缩放等操作扩充数据,经筛选得到400张图片作为原始数据集,按照8:2比例随机划分为训练集和验证集。
3.2 实验环境与参数配置
本实验环境配置如表1所示,本文算法及其对比算法均在同样实验环境下运行。
本模型训练采用交叉熵作为损失函数,使用Adam优化器,初始学习率设置为0.000 1,训练迭代次数200次,根据迭代次数以指数衰减方式动态调整学习率,最小学习率为0.000 001。
3.3 评估指标
BGA焊点分割为像素级别的语义分割,判断每个像素点属于焊点或背景,属于二分类问题,采用混淆矩阵统计分类结果,分类结果混淆矩阵如表格2所示。TP(True Positive)表示图像中属于焊点的像素被正确归类;FP(False Positive)表示图像中非焊点区域(即背景)被误归类为焊点;FN(False Negative)表示将图像中焊点区域误归类为背景;TN(True Negative)表示图像中非焊点区域被正确归类。
基于混淆矩阵本实验采用交并比(IoU)、精确率(Accuracy,Acc)、F1分数(F1_Score)三个指标评价网络性能,分数越高说明网络分割效果越好,模型更优秀,同时辅以参数量(parameters),计算量(GFLOPs)和FPS三个指标对网络进行综合评价。
其中,precision表示精确率,是正确预测为焊点占全部预测为焊点的比值;recall表示召回率,是正确预测为焊点占实际总焊点的比值,F1分数作为精确率和召回率的调和平均,它们的计算公式为:
3.4 消融实验
为了验证加入不同模块对UNet网络性能的影响,在相同训练集和测试集、同样训练参数下做了大量的消融实验,实验结果如表3所示。实验1为基础UNet网络模型,实验2与实验1相比增加了编码器后三层的卷积层数量,并且添加了BN层,实验3在实验2的基础上将标准卷积替换成深度可分离卷积,实验4在实验3的基础上,在编码器端加入了残差结构。各实验的参数量、计算量和FPS如图6所示。
对比实验1和实验2数据,实验2的交并比、精确率和F1分数分别提升了1.93%、0.62%和1.05%,说明与原始网络相比,在编码器端增加一定数量的卷积层可以增强网络的特征提取能力。对比实验2和实验3數据可以发现,加入深度可分离卷积后模型的交并比、精确率和F1分数仅降低了0.87%、0.22%和0.48%,但参数量和计算量降低了89%和87%,FPS提高了78.9帧/秒,证明了对于BGA焊点这种结构固定、特征简单的目标来说,标准卷积层中大量的参数提取了过多冗余的信息,深度可分离卷积虽然参数较少,但学习到了BGA焊点大多数重要的特征。对比第3组和第4组数据,残差网络的加入弥补了深度可分离卷积带来的性能损失,由于旁路增加了1×1的卷积改变维度,计算量和参数量有些许增加,FPS降低了11.9帧/秒。
模型训练的Loss值随迭代次数的变化趋势如图7所示,可以看出BN的加入加快了模型的收敛,本文采用的轻量型深度可分离残差网络模型收敛速度最快且损失值最小。
3.5 对比试验
选取主流的语义分割算法UNet、DeepLabV3+[19]、PSPNet[20]作为本方法的对比算法,图8为采用不同算法网络分割效果的对比图。其中图8(a)为原始图像,其中包括简单背景、有过孔和阻容干扰的复杂背景、焊点被遮挡以及焊点内部有较大气泡几种典型情况。图8(b)为原始图像对应的标签图,图8(c~f)分别为采用的主流分割算法PSPNet、DeepLabV3+、UNet和本文方法得到的分割结果,其中红色的部分表示焊点区域,黑色部分表示背景。图8(g)为使用本文方法将分割后的结果映射到原图,提取BGA焊点分割后的图片。从图8(c)和图8(d)可以看出,虽然PSPNet和DeepLabV3+都能提取BGA焊点的大概轮廓,但是边缘信息比较粗糙,从图8(e)可观察到,原始的UNet网络虽然能够很好地提取焊点的边缘信息,但是存在误检情况(第一幅图),对于焊点被遮挡的情况无法提取较完整的轮廓(第二幅图),而且当焊点内部存在气泡时,会将气泡区域归为背景,无法完整的提取整个焊点。本文提出方法虽然在边缘细节上处理得没有UNet那么平滑,但能够较好地提取各种情况下的BGA焊点。表4对比了不同网络模型的在自制数据集上的分割评价指标,本文方法拥有较少的参数量和计算量,较其他算法在交并比,准确率和F1分数都有较大的提升,且FPS达到了114.8帧/秒,保证了在快速提取焊点的同时保持较高的精度,对工业BGA焊点缺陷检测有积极的参考意义。
4 结 论
本文根据BGA焊点图像的特点,通过对UNet分割算法进行改进,提出了一种基于深度可分离残差网络的轻量级UNet语义分割模型,实现了BGA焊点像素级的快速分割。使用深度可分离卷积仅牺牲较少的精度却极大地减少了网络的参数量和计算量,加快了网络运算速度。通过对编码器端卷积层数量的调整以及残差模块的加入,进一步增加特征提取能力,弥补了深度可分离卷积带来的精度损失,避免梯度消失、梯度爆炸以及网络退化问题。通过一系列的消融实验,显示本改进算法的各模块引入对于网络性能的提升。通过与UNet、PSPNet、DeepLabV3+主流语义分割算法的对比,本算法在IoU、Accuracy、F1分数最优,分别达到了92.4%、98.31%、96.05%。在分割效果上,本方法对于较为复杂背景的图像表现出很好的分割效果,优于其他算法,没有出现漏检、误检等情况,虽然边缘分割没有UNet算法平滑,但本方法的参数量仅为UNet算法的12.17%,FPS达到114.8帧/秒,满足BGA焊点分割的精度要求,实现了BGA焊点的准确快速分割。
参考文献:
[1] CHUNG S,KWAK J B. Comparative Study on Reliability and Advanced Numerical Analysis of BGA Subjected to Product-Level Drop Impact Test for Portable Electronics [J/OL].Electronics,2020,9(9):[2023-03-05].https://www.mdpi.com/2079-9292/9/9/1515.
[2] REN J,HUANG M L. Board-level drop reliability and fracture behavior of low-temperature soldering Sn–Ag–Cu/Sn–Bi–X hybrid BGA solder joints for consumer electronics [J].Journal of Materials Science:Materials in Electronics,2021,32(11):15453-15465.
[3] YE H,XUE S B,ZHANG L,et al. Reliability evaluation of CSP soldered joints based on FEM and Taguchi method [J].Computational Materials Science,2010,48(3):509-512.
[4] HUANG J Q,ZHOU M B,ZHANG X P. The Melting Characteristics and Interfacial Reactions of Sn-ball/Sn-3.0Ag-0.5Cu-paste/Cu Joints During Reflow Soldering [J].Journal of Electronic Materials,2017,46(3):1504-1515.
[5] 汪威,呂斌,杨轶睿,等.基于点云与图像融合的BGA锡球检测方法研究 [J].电子测量技术,2022,45(9):140-146.
[6] 赵胜军,黄春跃,梁颖,等.BGA无铅焊点再流焊焊后残余应力分析与优化 [J].机械工程学报,2020,56(10):86-94.
[7] DEPIVER J A,MALLIK S,AMALU E H. Thermal fatigue life of ball grid array(BGA) solder joints made from different alloy compositions [J/OL].Engineering Failure Analysis, 2021,125[2023-03-05].https://doi.org/10.1016/ j.engfailanal.2021.105447.
[8] 李伟,张硕.一种改进的球栅阵列封装焊点射线图像阈值分割算法 [J].光子学报,2011,40(7):1046-1050.
[9] 张俊生,王明泉,郭晋秦,等.BGA焊点气泡缺陷X射线图像的动态阈值分割方法 [J].火力与指挥控制,2018,43(10):113-116.
[10] 李乐,陈忠,张宪民.复杂背景下X射线BGA焊点气泡检测 [J].焊接学报,2015,36(3):80-84+5.
[11] WANG H,Liu D. A new threshold segmentation algorithm for segmenting micro-focus X-ray BGA solder joint image [C]//Proceedings of the 4th International Conference on Information Technology and Management Innovation.[S.I.]:Atlantis Press,2015:1174-1177.
[12] LI J Y,FANG L Y,HU D C,et al. A new method to extract BGA solder balls in complex background X-ray image based on coordinate transformation [C]//2019 IEEE 3rd Information Technology,Networking,Electronic and Automation Control Conference (ITNEC). Chengdu:IEEE,2019:257-261.
[13] 赵瑞祥,侯宏花,张鹏程,等.结合全卷积网络和K均值聚类的球栅阵列焊球边缘气泡分割 [J].计算机应用,2019,39(9):2580-2585.
[14] 陈雅琼.基于深度学习的BGA焊球空洞缺陷检测研究 [D].桂林:桂林电子科技大学,2021.
[15] JIAO L B,HUO L Z,HU C M,et al. Refined UNet: UNet-Based Refinement Network for Cloud and Shadow Precise Segmentation [J/OL].Remote Sensing,2020,12(12):[2023-03-06].2001.https://doi.org/10.3390/rs12122001.
[16] CHOLLET F. Xception: Deep Learning with Depthwise Separable Convolutions [J/OL].arXiv:1610.02357 [cs.CV].[2023-03-06].https://arxiv.org/abs/1610.02357.
[17] HE K M,ZHANG X Y,REN S Q,et al. Deep Residual Learning for Image Recognition [J/OL].arXiv:1512.03385 [cs.CV].[2023-03-10].https://arxiv.org/abs/1512.03385.
[18] WU S,LI G Q,DENG L,et al. L1 -Norm Batch Normalization for Efficient Training of Deep Neural Networks [J].IEEE Transactions on Neural Networks and Learning Systems,2019,30(7):2043-2051.
[19] DU S J,DU S H,LIU B,et al. Incorporating DeepLabv3+ and object-based image analysis for semantic segmentation of very high resolution remote sensing images [J].International Journal of Digital Earth,2021,14(3):357-378.
[20] ZHAO H S,SHI J P,Qi X J,et al. Pyramid Scene Parsing Network [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Honolulu:IEEE.2017:6230-6239.
作者简介:姚远(1995—),男,汉族,江苏宿迁人,硕士研究生在读,主要研究方向:深度学习、图像处理、机器视觉等。
收稿日期:2023-04-03