球栅阵列焊点空洞缺陷的数学形态学分析
1、数学形态学
数学形态学通过结构元素去分析图像中的目标形状,基本运算单元为腐蚀和膨胀,在此基础上衍生出其他变换。
1. 1 腐蚀和膨胀运算
数学形态学的结构元素通常被定义为一个二值矩阵,一般指定矩阵中的某个元素为其原点,形态学运算时不断移动原点去遍历图像上的每一像素,每次遍历时与原点对应的那个像素为待处理像素,其灰度值取决于结构元素限定范围内对应的其他像素灰度值。结构元素的大小和形状可以任意设定,默认原点一般为其几何中心;设定大小时为获得唯一默认原点一般取奇数,如 3 × 3,7 × 7 的矩阵,设定形状时通过指定二值矩阵的 0、1 取值来实现,取 0 表示遍历时该位置的像素不参与运算,取1 表示该位置的像素参与运算,常见形状有方形、圆形、十字交叉等形状。图1为 3 × 3 的方形和十字形的结构元素。

假设待处理图像为 f(x,y),结构元素为 B,则数学形态学的膨胀定义为
fd(x,y) = f(x,y) ⊕ B (1)
式(1)中,fd(x,y) 为膨胀后的结果图像。膨胀运算是当 B 在 f(x,y)中遍历时,原点对应像素的灰度值由 B 中所有取 1 位置对应像素的灰度最大值决定,最终 f(x,y)中比 B 小的暗细节被去除,其他暗区域被收缩,整体图像变亮,相当于一个局部最大值运算。
数学形态学的腐蚀定义为
fe(x,y) = f(x,y)ΘB (2)
式(2)中,fe(x,y) 为腐蚀后的结果图像。腐蚀运算是当 B 在 f(x,y)中遍历时,原点对应像素的灰度值由 B 中所有取 1 位置对应像素的灰度最小值决定,最终 f(x,y)中比 B 小的亮细节被去除,其他亮区域被收缩,整体图像变暗,相当于一个局部最小值运算。
1. 2 开运算和闭运算
数学形态学的开运算定义为
fo(x,y) = f(x,y)。B = [f(x,y)ΘB]⊕ B (3)
式(3)中,fo(x,y) 为开运算后的结果图像。开运算先对 f(x,y)进行腐蚀运算,再对 f(x,y)进行膨胀运算,相当于先去除了比 B 小的亮细节,再通过 B 的膨胀去恢复受腐蚀影响的其它灰度,最终运算结果是 f(x,y)中比 B 小的亮细节被完全去除,比 B 大的亮细节中仅被去掉了不能容纳 B 的部分,其他灰度基本不受影响。
数学形态学的闭运算定义为
fc(x,y) = f(x,y)·B = [f(x,y) ⊕ B]ΘB (4)
式(4)中,fc(x,y) 为闭运算后的结果图像。闭运算先对 f(x,y)进行膨胀运算,再对 f(x,y)进行腐蚀运算,相当于先去除了比 B 小的暗细节,再通过 B 的腐蚀去恢复受膨胀影响的其他灰度,最终运算结果是 f(x,y)中比 B 小的暗细节被完全去除,比 B 大的暗细节中仅被去掉了不能容纳 B 的部分,其他灰度基本不受影响。
1. 3 顶帽变换
数学形态学的頂帽变换定义为
fWTH(x,y) = f(x,y) - fo(x,y) (5)
式(5)中,fWHT(x,y)为頂帽变换运算的结果。頂帽变换运算是原始图像减去其开运算,结果图像 fWHT(x,y)中开运算去除掉的灰度部分得以保留,不受开运算影响的部分相减过程中抵消,灰度接近于 0。顶帽变换可以用来提取比结构元素 B 小的亮细节。
2 实验过程与结果
BGA 焊点通过微焦点 X 射线检测设备成像时,电路板本身以及芯片内部走线同时也会成像,导致图像结构复杂、对比度低,影响空洞缺陷的自动提取。图 2(a)所示为电路板上BGA 芯片焊点的局部区域,可以看到图像上除了焊点和空洞缺陷外,还有过孔、走线、芯片内部连线等,这些干扰因素导致很难用单一的方法直接提取缺陷。
2. 1 焊球区域的提取
BGA 焊点面积较大,灰度较低,在图像直方图上能形成明显的峰值,可以使用全局阈值分割的方法提取出来。Otsu 算法是一种最早由日本学者大津展之提出的阈值分割方法,根据图像的直方图来穷举搜索目标和背景两类像素的最大类间方差,以此为阈值实现目标的提取。Otsu 分割算法对图像中占较大比例的目标提取效果较好,图 2(a)应用Otsu 算法的分割结果如图 2(b)所示。

从图 2(b)中可以看到,焊点区域基本被全部提取出来,电路板上的过孔边缘灰度与焊球接近,也被同时提取了出来。焊球区域较大,干扰区域较小且为垂直走向的细条,可以通过数学形态学的开运算来去除。定义 3 × 11 的方形结构元素,对图2(b)进行开运算,得到图 2(c),干扰被完全去除。图 2(b)和(c) 中的部分焊球区域有黑色的孔洞,这是由于空洞缺陷区域部分像素灰度取值较高,Otsu 算法分割时被当做背景处理。定义5 × 5 的方形结构元素,对图 2(c) 进行数学形态学的闭运算,得到的结果为图 2(d)。可以看到,BGA 焊点经过Otsu分割、数学形态学开闭运算,被完整地提取出来。
2. 2 空洞缺陷的提取
BGA 焊点中的空洞缺陷对于整个图像而言所占比例较低,在直方图上形不成明显的峰值,很难直接通过类似于 Otsu 算法等全局阈值分割方法提取出来。但是,空洞缺陷位于黑色焊球区域内,局部对比度较为明显,可以通过设计与焊球区域大小相当的结构元素进行顶帽变换,凸显空洞区域后再进行阈值分割来实现提取。图 3(a)为原始图像经过半径为 21 的圆形结构元素顶帽变换后的结果,此处半径 21 指结构元素的原点到结构元素中取 1 元素的最远距离为 21 像素。可以从图中看出,整幅图像的灰度大大降低,小于结构元素的亮区域被较好保留,空洞缺陷区域在暗背景上更加明显。使用固定阈值 5 对图 3(a) 进行二值化运算,得到的结果如图 3(b) 所示,所有的空洞区域被分割出来,同时焊点外的电路板区域也被分割出来。用图 2(d)与图 3(b)进行逻辑与运算得到图 3(c),可以看到只有焊球内的空洞缺陷区域被保留,焊点外的电路板区域被完全去除,上一步分离出来的焊球区域起到了掩模的作用,去掉了与焊点无关的干扰。

经过顶帽变换后二值化提取了全部的空洞缺陷区域,但图像中依然存在少量很小的噪声干扰点。定义 3 × 3 的矩形结构元素,对图 3(c)进行形态学开运算,得到的结果如图 3(d)所示。可以看到,不能容纳 3 × 3 的矩形结构元素的噪声干扰点被全部去掉,保留下来的空洞缺陷区域不受影响。
2. 3 检测结果的标注
将实验过程中第一步提取的焊球区域和第二步提取的空洞缺陷区域以图形的形式直接标注在BGA 焊点的原始图像上,如图 4 所示。

可以直观看到,4 个焊球和各自的空洞缺陷区域均被准确提取。按图 4 中的焊球编号顺序,以图像中的像素为单位,分别计算焊球面积以及空洞缺陷面积,得到的数据如表 1 所示。4 个焊球的实际面积并不是完全一致,每个焊球内空洞缺陷的个数不同,空洞缺陷的总面积也不相同,各自的空洞面积比也不一样。按照焊球内存在多个空洞缺陷时缺陷的面积总和不超过焊球面积 20% 的质量检测标准,4 个焊球中仅有编号为 4 的焊球焊接质量合格。
、3 结论
BGA 焊点在焊接过程中容易出现空洞缺陷,实际检测过程中需要通过图像分析的方法计算空洞缺陷所占的面积比,然后才能确定焊接质量是否合格。文中使用 Otsu 算法初步分割提取焊球区域,然后用数学形态学中开闭运算修正提取区域,以此区域为掩模模板,与顶帽变换后分割的结果相与提取焊球的空洞缺陷区域,实现空洞缺陷的自动分析,形成一个完整的技术方案,可直接应用于工程实践中。

EMT电子制造技术 小程序
与EMT电子制造技术 APP内容无缝对接
涵盖SMT印刷、贴片、焊接、点胶涂敷、检测、返修、清洗、SIP先进封装、MPT微组装等技术提供企业招聘、个人求职、新闻与产品发布、品牌推广等服务,
只需识别二维码,即可轻松拥有!免费入驻、免费发布产品信息!
电子制造技术APP,可从华为、小米、VIVO、OPPO、苹果等应用市场下载:电子制造技术,亦可识别图中二维码直接下载:
