先进电子封装用焊锡球关键尺寸检测研究
先进电子封装用焊锡球关键尺寸检测研究*
李赵龙 王同举 刘亚浩 张文倩 雷永平
(北华航天工业学院电子与控制工程学院 北京工业大学材料与制造学部)
摘 要:
焊锡球圆度和粒径的精度决定着 BGA、CSP 等先进芯片封装产品的质量。在对焊锡球进行检测时,焊锡球会粘连在检测视野内,难以快速精确的批量测量其圆度和粒径。为实现对760μm 以下粘连焊锡球的精准检测,提出了一种基于凹点检测与椭圆拟合相结合的检测算法。该算法运用 Harris 角点检测算子检测图像中粘连焊锡球的凹点,结合凹点最短路径匹配准则实现焊锡球分离。通过 Canny 边缘检测算子检测焊锡球的边缘轮廓,基于轮廓点坐标拟合出椭圆曲线,从而实现焊锡球圆度与粒径的检测。检测结果表明:与扫描电镜测量值相比,算法检测的焊锡球圆度误差可控制在 3%以下,粒径相对误差可控制在 1%以下。该技术为焊锡球的批量检测提供了一种快速有效的方法。
0 引言
焊锡球是球栅阵列封装(BGA)、芯片级封装(CSP)等电子封装技术中所使用的关键材料。替代了传统元件封装结构中的引脚,起信号传输、电流承载和机械支撑的作用[1]。焊锡球在生产后要求有较高的尺度精度和表面光洁度以保证后续焊接过程中不会出现“桥连”现象[2]或焊锡球高度不一致[3]等问题。
焊锡球的粒径范围为 200~760 μm。容许的粒径公差范围为 10~20 μm,真圆度范围为 8~20μm[4]。目前焊锡球主要通过切丝重熔法[5-6]和射流扰动断裂技术制备[7-8]。焊锡球的粒径通常利用显微镜自带的标尺测量粒径,真圆度利用影像测量仪或者二次元测量仪测量得到。但上述方法将粒径与真圆度分开测量,使得操作步骤较为繁琐。因此,研究人员[9-12]提出了将焊锡球粒径与真圆度合并在一起测量的方法,即利用显微镜预先拍摄焊锡球的图像,将图像导入特定的软件(Image J、AutoCAD 或自行设计的软件)中进行测量。然而这种方法有测量速度较慢,且误差大的缺点。
目前,机器视觉测量技术已经广泛应用于各种工件尺寸的测量,其中杨玉龙[13]基于机器视觉提出一种高斯混合模型的 BGA 焊锡球分类算法,经测试该算法的误判率为 2.94%,漏判率为0%。GAO 等[14]提出了一种检测 BGA 器件缺陷的新方法。该方法适用于大多数不同球阵的 BGA,对图像分割产生的干扰具有较强的鲁棒性,同时具有较好的时间效率和检测精度。基于此,本文提出基于机器视觉实现焊锡球粒径和圆度的快速和精确测量。
因此为减小焊锡球粒径和圆度的测量误差,基于机器视觉提出一种 Harris 算子与最短路径准则相结合的算法,解决了焊锡球边缘粘连导致无法检测焊锡球圆度和粒径的问题,并在 Harris算子与最短路径准则的基础上,提出了一种焊锡球边缘优化策略。该优化策略先利用 Canny 算子检测边缘轮廓,再结合最小二乘法拟合计算出了焊锡球的圆度与粒径,经过边缘优化后,焊锡球的粒径测量误差可降低至 1%以下,圆度误差可降低至 3%以下。同时为了适应更便捷快速的检测需求,用 MATLAB 中的 App Designer 软件设计工具开发了焊锡球尺寸检测软件。该视觉测量软件可为电子封装用焊锡球生产者提供实用参考。
1 焊锡球尺寸检测系统
1.1 实验装置
焊锡球尺寸视觉检测装置如图 1 所示,检测系统包括工业相机、光学镜头、光源、检测箱和计算机。工业相机(海康机器人,MV-CA013-20GM)分辨率为 1280×1024。光学镜头(浩立自动化,HL-ZX-0745-5M)为远心镜头,以减少图像畸变。光源(浩立自动化,HL-COPL30P)为同轴光源,采用背部打光的方式实现焊锡球边缘轮廓的采集。
1.2 实现流程
焊锡球视觉检测过程如图 2 所示,分为图像预处理、粘连球分割与椭圆拟合。
通过工业相机采集光源照射下的焊锡球图像,再通过 GIGE 接口将图像传输至计算机中的MATLAB(R2018b)软件中进行预处理,经中值滤波滤除噪声杂点;二值化实现焊锡球目标与背景的分离;形态学运算去除图像中的污渍点。
预处理后的图像存在焊锡球的粘连现象,为了使焊锡球成为单独目标便于后续参数计算,采用 Harris 算子检测图像中的角点,以此作为焊锡球粘连区域的“凹点”,随后基于最短路径匹配算法准则完成凹点匹配,实现焊锡球目标的分离。
孤立的焊锡球二值图像进行边缘检测,统计焊锡球边缘轮廓的坐标值并基于最小二乘法拟合椭圆,以拟合的椭圆曲线计算焊锡球的圆度与粒径。
1.3 焊锡球视觉检测软件的开发
设计焊锡球可视化检测平台的用户界面,该界面主要用于焊锡球的图像处理和参数计算结果的显示。图像用户界面主要包括图形对象、菜单、窗口、文本等。图 3 表示最终焊锡球视觉检测平台界面。
2 焊锡球图像处理
2.1 图像预处理
焊锡球的原始图像由工业相机拍摄获得,如图 4(a)所示。检测时,需要将焊锡球均匀地平铺到玻璃凹槽中。原始图像是分辨率为 1280×1024 的 8 位灰度图像。焊锡球图像的预处理主要经过三个步骤。
第一步是减少环境和图像传输过程中产生的噪声干扰,特别是椒盐噪声,影响后续凹点检测的准确性。因此,对原始图像进行了中值滤波[15],以起到平滑滤波和保护图像边缘信息的作用。MALAB 的工具箱调用函数是 medfilt2。选取合适的滤波模板,中值滤波后的图像如图 4(b)所示。
第二步是将滤波后的图像二值化,可以减少原始灰度图像的数据量,实现焊锡球和背景的区分。OTSU 法[16-17]是一种用于阈值选择的图像二值化分割方法。它根据整个图像中的灰度值分布以最大化目标和背景的类间方差找到了最佳阈值。这种类型的方法适用于目标和背景灰度值差异较大的情况。MATLAB 调用代码:graythresh。分割的二值图像如图 4(c)所示。
第三步是去除图像背景部分不可避免的污渍,其中包括孤立和重叠的污渍。孤立的污渍通过MATLAB 工具箱的 bwareaopen 功能去除,如图 4(c)所示。与焊锡球边缘重叠的污渍通过形态处理中的开运算操作去除。开运算操作可以在不改变焊锡球尺寸的情况下平滑焊锡球的轮廓,并修复有缺陷的边界。其原理是通过连续侵蚀和膨胀圆形结构元来实现焊锡球边缘的平滑。开运算操作可以通过调用 MATLAB 工具箱中的 imopen 函数来实现,来运算后的图像如图 4(d)所示。
2.2 凹点检测与匹配
图像中不可避免的出现了焊锡球与焊锡球的粘连现象(如图 4d 所示),互相粘连的焊锡球成为了一个整体。为了精确分离成单独的焊锡球,需要对图像做相应的处理。可以看到,焊锡球与焊锡球在边缘处有相连部分,本研究采用 Harris 算子[18]检测图像中的角点作为焊锡球与焊锡球连接部分的凹点,再通过两点最短路径匹配准则进行凹点匹配与连接,完成粘连焊锡球的分离。
具体步骤如下。
1)Harris 角点检测:Harris 算子是一种特征点提取算子,它以像素点为中心建立一个检测窗口,检测窗口沿图像中任意方向移动时,以各个方向上的灰度值变化来判断是否为角点。对于 x,y 方向上的局部微小移动量[u,v],产生的灰度变化自相关函数的数学表达式可写为:
其中,E(u,v)为窗口内的灰度变化量,w(x,y)为窗口加权函数,I(x+u,y+v)为图像平移后的像素灰度值,I(x,y)为图像平移后的像素灰度值。
再用泰勒公式展开、简化后形成一个自相关矩阵,即:
其中,Ix,Iy 分别为图像在水平方向和垂直方向的偏导数。
矩阵 M 的特征值表示了像素点的变换激烈程度,通过角点响应函数来计算每个像素点的响应值 R,根据 R 值来判断是否为角点,公式为:
其中,k 为常数,λ1、λ2 为矩阵 M 的两个特征值。用设定的阈值 T 与 R 值进行比较,若 T<R,则该像素点为图像中的角点;若 T>R,则为非角点。
表 1 列出了阈值 T 为 0.1~0.9(T 的选取范围为 0~1)时焊锡球图像的角点数量以及检测角点的误差(角点数量与理想角点数量的差值)。可以看出,阈值 T 设置较高时,检测的角点数量较少;反之,角点数量较多。
图 5(a)(b)(c)分别显示了阈值 T 为 0.3、0.4、0.5 的角点检测图像,角点用红色“+”标出。焊锡球图像粘连区域的凹点是理期望检测到的特征点,即表 1 中的理想角点。为了尽量检测所有凹点且保证误差较小,选取阈值 T 为 0.4 进行后续实验。
2)凹点匹配与连接:Harris 算子检测的角点在粘连焊锡球图像中叫做凹点,根据粘连区域凹点的特征,基于最短路径准则使两两凹点匹配,即计算每一凹点与其余凹点的欧氏距离,距离最小的两点为一凹点对。然后对匹配好的凹点对进行连线,将线段经过的像素点灰度值设置为 0即可。如图 6 所示为凹点匹配连接的锡球图像,图 6(a)(b)为粘连焊锡球分离的细节图,图6(a)为焊锡球正确分离的情形;图 6(b)出现了过分割现象,分析是因为这部分焊锡球处于图像的边界,不完整的焊锡球检测出来的凹点可能找不到与之正确匹配的对象而导致出错。总体来说,位于图像中心部分的粘连焊锡球分离效果较好。
2.3 边缘检测与椭圆拟合
孤立的焊锡球二值图像首先进行边缘检测。先使用单位为 1 的圆形结构元腐蚀二值图像,然后用原图像减去腐蚀后的图像得到焊锡球边缘。焊锡球边缘检测运算过程和边缘图像如公式(4)(5)和图 7 所示。
其中,y 是表示集合平移的位移量;Bw1 表示被腐蚀的图像;Bw2 表示腐蚀后的二值图像集合;Ed 表示边缘图像;E 表示用来进行腐蚀的结构元素。
统计焊锡球边缘坐标,然后采取最小二乘法[19-20]进行椭圆拟合,其被认为是从一组测量值中求另一组未知量的最可信赖的椭圆拟合方法之一。最小二乘法分为代数拟合法和几何拟合法。采用代数拟合法的简要拟合过程为如下。
确定椭圆曲线代数一般方程表达式为
其中,A,B,C,D,E 为椭圆方程中各系数,拟合的过程就是要将焊锡球边缘检测后的轮廓点做最小二乘处理,使得各点到方程的代数距离之和最小,从而求得方程中各系数,如式(7)所示,i 为轮廓点的序列,n 为轮廓点个数。轮廓点(xi,yi)到椭圆方程的代数距离可表示为 F(xi,yi)。
为了使 F 最小,需使得 F 的各项偏导为 0,即
经过化简后可得方程为
设左边矩阵为 M1,右边矩阵为 M2,则可得到最终化简公式(10),即可求出拟合椭圆的各系数。
拟合椭圆曲线如图 8 所示,然后以椭圆曲线的参数来评价焊锡球圆度与粒径。具体计算公式为
其中,S1 与 S2 分别为椭圆面积和其等效圆面积;a 与 b 分别为椭圆半长轴与半短轴长;D 为焊锡球粒径。令 S1=S2,可推导出焊锡球粒径公式为
焊锡球圆度 C 为
3 检测结果分析
3.1 系统标定
利用数字图像分析焊锡球粒径与圆度的关键是对图像像素大小和个数的综合处理。为更好地减少测量误差,采用自主设计的软件进行系统标定。如图 9 所示,载物台放置精度为 100 μm 的菲林尺进行标定,镜头的放大倍率为 1 倍,求得标定结果为 5 μm/pixel,视野大小为 640 μm×512μm。标定完成后,在同样的实验条件下放置焊锡球进行粒径与圆度的测量。
3.2 系统标定结果与误差分析
将焊锡球随机散布在相机视野中,装置的检测结果可在软件中显示,如图 10 和图 11 所示,由于位于图像边界的锡球显示不完整,这些焊锡球没有实际的测量意义,因此软件系统进行了数据剔除,留下来了完整焊锡球的尺寸测量数据。
选取了 50 粒焊锡球样本分别进行软件测量与 SEM 测量。SEM 测量过程可分为四步,即
1)拍摄 SEM 图像。
2)图像导入 PS。
3)确定像素比例。
4)标尺工具测量焊锡球尺寸。
采用 SEM 测量焊锡球的过程如图 12 所示。测量了焊锡球的水平直径、垂直直径、45°直径和 135°直径,并取平均值作为焊锡球粒径的 SEM 测量值 DSE。取 4 个直径的最大值 dmax 与最小值 dmin,利用式(15)计算焊锡球圆度的 SEM 测量值 CSE。
软件测量结果与 SEM 测量结果进行了对比,如图 13 和图 14 所示。焊锡球样本圆度分布在97%以上,粒径分布在 740~755 μm 之间。
从圆度数据对比上来看,软件测量值均比 SEM 测量值偏小,但均小于 3%。分析误差的来源是凹点匹配连接产生的。凹点匹配连接后图像中焊锡球具有不同的粘连情况,如图 15 所示,对于单粒焊锡球来说,凹点匹配连接后会有数量不同的分割线,这些分割线会导致焊锡球边缘不平滑,而不平滑的轮廓点作为椭圆拟合的样本点会导致出现拟合误差进而影响焊锡球圆度与粒径。可以看出,分割线的数量最多为 6 条并且分割线数量的增加会减小焊锡球圆度。
从粒径数据对比上来看,软件测量值在 SEM 测量值小范围内波动,分析误差一方面同样是因为粘连焊锡球之间的分割线影响了椭圆拟合效果,另一方面是因为图像二值化。焊锡球图像经过二值化时,阈值的选取会直接影响焊锡球粒径大小。图 16 为阈值分别选取为 0.1、0.3 和 0.5时的单粒焊锡球二值图像,粒径可通过 MATLAB 求取,可以明显看出阈值越大,焊锡球目标越大。最佳阈值的选取可以根据原焊锡球图像的灰度特性判断,如文中所采用的 OTSU 方法获取阈值,采用 OTSU 方法分割阈值为 0.18。由图 13 可得出粒径相对误差在 1%以下,满足焊锡球的尺寸检测需求。
4 结论
基于机器视觉搭建了焊锡球尺寸检测平台并基于 MATLAB 设计了相应的软件。对装置采集的焊锡球原始图像进行了预处理,包括中值滤波、二值化、形态学处理,随后根据图像特征采用Harris 算子检测到粘连焊锡球之间的凹点并基于最短路径准则进行匹配,成功分离粘连焊锡球。最后检测到焊锡球边缘后进行椭圆曲线拟合以求得焊锡球圆度与粒径。实验结果表明:图像二值化和焊锡球凹点匹配是影响焊锡球圆度与粒径检测精度的主要因素。与 SEM 测量值相比,圆度检测误差可控制在 3%以内,粒径检测误差为 1%以内,满足电子封装用焊锡球的尺寸检测需求。