基于机器视觉的晶圆裸片计数方法
2018-09-27田齐,张令
田 齐, 张 令
(1.江苏信息职业技术学院 机电工程学院,江苏 无锡 214153;2.南京启宸智能技术有限公司,江苏 南京 210012)
0 引 言
获取晶圆的良品率参数便于及时调整工艺,对于生产环节具有重要意义。而目前统计合格晶片数量主要采用人工计数的方式,不仅效率很低,而且准确率不高,不利于实现半导体生产自动化[1]。近年,机器视觉技术发展迅速,且在无损检测中的应用越来越普遍,如机械手运动检测[2]、人脸识别[3],以及工业零件测量[4]等。为了提高晶圆裸片的计数精度和效率,实现晶圆裸片的自动精确计数,本文提出了一种基于机器视觉的晶圆裸片自动计数方法。
1 晶圆裸片计数
图1所示为畸变矫正之后的晶圆图像。本文通过相机标定对图像进行畸变矫正。黑色表示不合格晶片,白色表示被取走的合格晶片。本文对被取走的合格晶片计数,如图2,为本文系统计数流程。
图1 晶圆图像
图2 系统计数流程
1.1 Sobel边缘检测
Sobel算子主要用作边缘检测,用于运算图像亮度函数的灰度之近似值,对离散的数据进行加权计算。利用图3所示小型卷积模板,与对应的图像数据进行卷积来进行近似计算,这2个方向模板分别为水平方向边缘检测和竖直方向边缘检测[5]。
图3 Sobel算子卷积模板
在图像处理中,Sobel算子检测图像边缘步骤如下[6]:
1)分别将2个方向模板沿着图像从一个像素移动到另一个像素,并将模板的中心像素与图像中的某个位置重合;
2)将模板内的系数与其对应的图像像素相乘;
3)将模板内所有相乘值相加;
4)将2个卷积的最大值,赋给图像对应模板中心位置的像素值,作为该像素的新灰度值。
本文Sobel算子检测图像边缘的结果如图4所示。
图4 边缘检测结果
1.2 行扫描
对Sobel边缘检测后的结果进行行扫描,保留每行中扫描到的第一个和最后一个点,扫描结果如图5所示。可以看出,扫描后可以得到圆的大致轮廓和一些噪声点。
图5 行扫描结果
1.3 随机抽样一致性算法拟合圆
由于存在噪声点,行扫描后,使用最小二乘法拟合圆会出现较大的误差。因此,本文采用随机抽样一致性(random sample consensus,RANSAC)算法进行圆的拟合,通过圆的拟合可以实现晶圆的定位,拟合结果如图6所示,拟合流程为:
1)将图5中像素点的坐标记录在Data中。
2)确定RANSAC算法的最大循环次数m和残差阈值θ。
3)在Data中随机选取3个不同的点,由该3个点确定一个圆,圆心坐标记作(x0,y0),半径记作R。计算Data中剩下的点到(x0,y0)的距离di(i=1,...,Data-3):如果di 4)重复步骤(3),至最大循环次数m。找出该过程中最大的S值,记作Smax。则获得Smax所对应的3个随机点所确定的圆模型,即为最优拟合圆。 图6 RANSAC拟合圆 由文献[7]可知,在置信度为η0的条件下,在循环过程中,至少有1次采样,使得到的b个点均为内点,才能保证在循环的过程中,至少有1次采样能取得目标函数的最大值。因此,最大循环次数m应该满足 (1) 式中ε为内点在Data中的比例,其中η0一般设置为[0.95,0.99]。一般ε未知,可取最坏条件下内点的比例。 本文假定外点为高斯白噪声,其均值为0,方差为σ,误差的残差符合r维的卡方分布。而残差阈值的选取为[8] (2) 式中α为置信概率,θ为残差阈值,r为卡方分布的维数。 传统的RANSAC算法只能拟合1条直线。本文提出了一种改进的RANSAC算法,用于拟合Sobel边缘检测后的多条切割线。拟合结果如图7所示,具体拟合流程为: 1)将图4中像素点的坐标记录在Data1中。 2)确定RANSAC算法的最大循环次数n和残差阈值λ。 3)在Data1中随机选取2个不同的点,构建直线L。计算Data1中剩余点到直线L的距离Di(i=1,…,n-2):若Di<λ,则该点为内点;否则,为外点。统计内点的数目,记作K。 4)重复步骤(3),至最大循环次数n。可找出该过程中最大的K值,记作Kmax。则获得Kmax所对应的2个随机点所确定的直线模型,即为最优拟合直线。 5)将最优拟合直线的所有内点,都从Data1中剔除。 6)确定所需拟合直线的数量a,重复a次步骤(3)~步骤(5),即可找到a条拟合直线(a为切割线的数量,为已知条件)。 图7 改进的RANSAC拟合直线 拟合直线过程中的最大循环次数n和残差阈值λ的确定方法与前述相同。 将图7中的拟合直线按照斜率分成2类,将斜率大于0的记录在集合P中,将斜率小于0的记录在集合Q中。计算P中的每一条直线与P中其他直线的斜率差,找到其中一条直线,与其他直线的斜率差的和最小,则该条直线为基准直线;按照此方法找出Q集合基准直线。实验结果如图8所示。 图8 基准直线 由于每个晶片的长和宽已知,通过作基准直线平行线的方式,便可拟合所有切割线。拟合结果如图9所示。 图9 拟合切割线 1)计算所有直线相互之间的交点,但只保留在圆中的交点,交点的集合记作H。 3)将集合H中各个交点的e值相加,即为被取走的合格晶片的数量。 为了验证计数的准确性,本文选用500幅晶圆的图像,图像分辨率为1 024×1 024。每幅图像中,晶片的位置和方向均不相同。计算机CPU为英特尔2.2 GHz。在VC++代码没有优化的情况下,1 024×1 024分辨率的图像检测以平均3.8 s/帧的速度完成,效率远高于人工检测。 如表1所示为实验结果。成功概率为检测出的合格晶片数量与合格晶片总数的比值;漏检概率为未检测出的合格晶片数量与合格晶片总数的比值;错检概率为误将不合格晶片当成合格晶片的数量与检测出的合格晶片数量的比值。由表1可以看出,本文的算法成功检测概率高,错检和漏检率较低,效果良好。 表1 合格晶片计数结果 提出了一种基于机器视觉的晶圆裸片自动计数方法。实验结果表明:该方法拥有良好的效率和精度,可以很好地代替人工进行晶圆裸片的计数。1.4 改进的RANSAC算法拟合直线
1.5 寻找基准直线
1.6 拟合切割线
1.7 计算合格晶片的数量
2 实验结果
3 结 论