一种BGA缺陷自动检测方法与流程

文档序号:12451634阅读:526来源:国知局
一种BGA缺陷自动检测方法与流程

本发明涉及到图像处理技术领域,具体是一种BGA缺陷自动检测方法。



背景技术:

近些年,经济的迅猛发展推动了电子产品的快速更新,电子行业的小型化对于电路板及芯片的制作和检测提出了更高的要求。芯片封装大量采用BGA(Ball Grid Array,球栅阵列)封装技术,同时由于封装的不可见性,使得封装之后的检测不能够按照传统的芯片检测方法进行。球栅阵列是近几年发展十分迅速的一种电子器件封装技术,广泛应用于大规模集成电路的封装,但其焊点气泡会影响焊点的力学性能或电学性。工业生产中常利用焊点钎料与印刷电路板PCB材料对X射线吸收差异,对BGA封装器件焊点缺陷进行检测。

随着集成电路器件的小型化及热可靠性要求的提高,对集成电路芯片焊接气泡检测与控制日益成为确保芯片质量可靠性的重要检测项目芯片焊接气泡一般表现为连续型大气泡以及随机分布的小气泡两种。这两类气泡对热阻的影响各不相同。但随着芯片小型化以及功率密度的提高,随机分布型的小气泡对热阻的贡献已不能忽视。

BGA封装的芯片电路在表面是无法检测到的,这就使得检测技术需要借助射线进入芯片内部,通过射线成像进行检测。X射线成像系统可以将隐藏的芯片内部的缺陷呈现在图像当中,那么利用X射线成像系统进行图像采集,获取的图像传输到计算机进行图像分析处理技术。因此针对X-Ray图像恰当的后续图像处理与气泡提取技术的研究尤为重要。

图像处理分析技术成为BGA缺陷检测的关键环节,通过对图像处理分割出缺陷,计算出缺陷的比例,从而实现对BGA缺陷的检测。

目前,已提出了一些BGA缺陷检测的方法,虽然检测速度快,但是精度不高,最重要的是未能实现完全的自动检测,往往需要手动调整参数来使检测结果更准确,从而增加了人力以及时间开销。



技术实现要素:

为了克服上述现有技术中存在的缺陷,本发明的目的是提供一种BGA缺陷自动检测方法。该方法通过在BGA缺陷检测之前对图像进行预处理以及在检测时对BGA外轮廓进行扩展,从而提高对靠近BGA球边缘的气泡缺陷的检测的准确率,实现BGA缺陷的自动检测的同时提高缺陷检测的准确率。

为了实现上述目的本发明采用如下技术方案:一种BGA缺陷自动检测方法,包括以下步骤:

S1:获取BGA图,并对图像进行预处理。该BGA图像是完整的一幅图像,直接进行处理。

S2:对图像取反,使用Otsu对图像进行二值化,得到二值图。由于X射线产生的图像亮度不均匀,固定阈值分割误差较大,因此采用Otsu全局阈值分割。

S3:在二值图上查找轮廓,并将轮廓存入链表中。

S4:过滤轮廓,遍历链表中的所有轮廓,轮廓是由点集组成,单个轮廓点数大于70并且小于120判断为BGA轮廓。

S5:对BGA轮廓进行外轮廓扩展,得到扩展轮廓后的BGA图,并对图像取反,同时计算每个BGA轮廓的面积作为最终缺陷比例的基数。扩展的目的是提高靠近每个BGA球边缘气泡缺陷检测的准确率。

S6、对步骤S5处理后的图像,用Sobel算子处理。

S7:检测图中BGA轮廓中的气泡。

S8:过滤轮廓中的气泡并计算BGA轮廓的面积,最后计算气泡与对应BGA轮廓面积之比,绘制并显示结果。

步骤S1所述图像进行预处理包括,用中值滤波处理图像,目的是减少噪声对图像的影响,和对图像进行整体的线性补偿,减少图像亮度不均匀的影响。线性补偿具体为:图像中心点的亮度最大,p表示距中心点单位距离补偿的灰度值,计算公式为:其中w为图像宽度,h为图像高度。

s为图像上的点距离图像中心的距离,则

线性补偿公式为:G(x,y)=f(x,y)+p*s,其中G(x,y)表示补偿后的图像灰度值,f(x,y)为原始图像中(x,y)点的灰度值。

步骤S5所述对BGA轮廓进行外轮廓扩展包括以下步骤:

S51:将图中中间位置的BGA轮廓内部灰度值在60~200的均值作为扩展外轮廓参考值p。

S52:在S4中每个BGA轮廓内填充的灰度值大小为p,该图像记为图像m0,通过两次图像形态学膨胀操作得到比原BGA外轮廓大两个像素的BGA图像记为图像m1,m1和m0进行相减运算得到宽度为两个像素的BGA外轮廓图记为图像m2

S53:图像m2和去除背景的BGA图像与运算得到扩展轮廓后的BGA图像。

上述Sobel算子内核大小为3*3,其计算公式为:

其中A代表原始图像,Gx和Gy分别代表经横向和纵向边缘检测的图像的灰度值。

本发明中,在对图像选取时,图像的传入无需截图以及在缺陷检测过程中无需调整任何参数,实现BGA缺陷的完全自动检测。

本发明优点在于检测缺陷时充分考虑缺陷的可能位置,首先对图像进行线性补偿亮度不均匀,减少图像亮度不均匀产生的影响。通过对BGA图像进行边缘扩展,大大提高了对靠近BGA球边缘的气泡缺陷检测准确率,从而在总体上缺陷检测的准确率得到有效提高。

附图说明

为了使本发明的目的、技术方案更加清楚明白,以下结合附图,对本发明做进一步详细说明,其中:

图1为本发明一种BGA缺陷自动检测方法的流程图;

图2为图像预处理流程图;

图3为BGA样例图像及使用本发明后的检测结果图。

具体实施方式

下面对本发明的具体实施步骤详细阐述,如图1所示为本发明的主要流程图,主要步骤为:

S1:获取BGA图像,该BGA图像是整幅图像,不需要截图,直接进行处理实现自动检测。

S2:图像预处理,包括如图2所示的流程图,其步骤包括S21:使用中值滤波,目的是减少噪声对图像的影响;S22:由于X射线产生的图像,亮度不均匀,为减少图像亮度不均匀的影响,对图像的亮度进行整体的线性补偿,图像中间部分的亮度比边缘部分的亮度大20px左右,假设图像中心点的应补偿的灰度值为0,p表示距中心点单位距离补偿的灰度值,计算公式为:其中w为图像宽度,h为图像高度,设s为图像上的点距离图像中心的距离,则从而线性补偿公式为:G(x,y)=f(x,y)+p*s,其中G(x,y)表示补偿后的图像灰度值,f(x,y)为原始图像中(x,y)点的灰度值。

S3:对图像取反,使用Otsu对图像进行二值化。由于X射线产生的图像亮度不均匀,固定阈值分割误差较大,因此采用Otsu全局阈值分割,得到二值图。

S4:使用OpenCV库函数(cvFindContour)对二值图像查找轮廓,并将轮廓存入链表中。

S5:过滤轮廓。通过cvFindContour函数将每个轮廓存放到双向链表中,遍历链表中的所有轮廓,判断轮廓是否属于BGA轮廓的主要依据是组成轮廓的点的个数,单个轮廓点数大于70并且小于120判断为BGA轮廓。

S6:扩展BGA外轮廓,目的是提高靠近每个BGA球边缘气泡缺陷检测的准确率。其步骤如下:S61:计算图中中间位置BGA轮廓中灰度值在60~200的均值作为扩展外轮廓参考值p,同时根据S4中存放轮廓的链表计算出每个BGA轮廓的面积并作为最终缺陷比例的基数;S62:以S5中的结果图像中每个BGA轮廓内填充灰度值大小为p,该图像记为图像m0,通过两次图像形态学膨胀操作得到比图像m0轮廓大两个像素的BGA图像记为图像m1,m1和m0进行相减运算得到宽度为两个像素的BGA外轮廓图记为图像m2;S63:最后图像m2和m0进行与运算得到扩展轮廓后的BGA图像,然后对图像取反得到与原图对应的处理后图像。

S7:使用改进的Sobel算子处理,内核大小为3*3,其计算公式为:

其中A代表原始图像,Gx和Gy分别代表经横向及纵向边缘检测的图像的灰度值,具体计算如下:

Gx=(-1)*f(x-1,y-1)+0*f(x,y-1)+1*f(x+1,y-1)+

(-2)*f(x-1,y)+0*f(x,y)+2*f(x+1,y)+(-1)*

f(x-1,y+1)+0*f(x,y+1)+1*f(x+1,y+1)

Gy=1*f(x-1,y-1)+2*f(x,y-1)+1*f(x+1,y-1)+

0*f(x-1,y)+0*f(x,y)+0*f(x+1,y)+(-1)*

f(x-1,y+1)+(-2)*f(x,y+1)+(-1)*f(x+1,y+1)

其中f(a,b)表示图像(a,b)点的灰度值。图像的每一个像素的梯度G通过方程来计算。为了提高效率使用方程|G|=|Gx|+|Gy|进行不开方的近似值。如果G值大于等于10时,将该点的灰度值置为255,否则为置为0。

S8:由S7得到二值化后的图像,在图像中查找轮廓,轮廓同样存放在双向链表中,根据每个轮廓的点的个数,使用OpenCV库函数计算出每个轮廓围成的面积。

S9:根据步骤S5得到的所有BGA的轮廓,根据每个BGA轮廓的点集围成的区域来过滤每个气泡并确定归属的BGA,并计算每个BGA范围内所有气泡的面积之和,最后计算气泡总面积与对应BGA面积之比是否符合标准。绘制结果并显示。

采用上述方法进行处理,可得到图3的BGA样例图像及检测结果图。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1