一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种芯片引脚缺陷的检测方法、检测装置及设备与流程

2022-12-09 23:18:50 来源:中国专利 TAG:


1.本技术涉及芯片缺陷检测技术领域,尤其涉及一种芯片引脚缺陷的检测方法、检测装置及设备。


背景技术:

2.芯片为一种微型电子器件或者部件,通过一定的工艺,将一个电路中所需的晶体管、二极管、电容、电阻以及电感等元件还有布线连接在一起,制作在一小块或者几小块半导体晶片或者介质基片上,最后封装在一个管壳之中,成为具有所需电路功能的微型结构。
3.在芯片生产制造过程中,各工艺流程环环相扣,技术复杂,材料、环境、工艺参数等因素的微变常导致芯片产生缺陷,影响产品良率。封装前芯片制造过程中产生的表面缺陷大致可划分为原材料不良、异物、划伤、元件缺陷(凸起、错位或缺失)、金属性污染物和蚀刻液脏污残留。此外,芯片制造过程中还会产生如蚀刻锈斑、电镀过多、异色和金属线损坏等小样本缺陷。封装后的芯片缺陷包括印刷缺陷和引脚缺陷。封装体表面印刷符号表明了其名称、规格、型号和性能等信息,是辨识芯片的重要依据。清晰的符号是高质量芯片的内在需求。实际生产中常存在的印刷缺陷包括错字、偏移、漏印、多印、模糊、倾斜、位移、断字、双层印和无字等。引脚缺陷包括引脚缺失、引脚破损和引脚弯曲等。
4.在上述上述各类缺陷中,引脚缺陷是最难进行检测的。随着芯片愈加集成化,传统的机器视觉技术难以充分且有效地提取到引脚缺陷的特征,效率低下,准确率很低。


技术实现要素:

5.有鉴于此,本技术的目的在于提出一种芯片引脚缺陷的检测方法、检测装置及设备。
6.基于上述目的,本技术提供了第一方面提供了一种芯片引脚缺陷的检测方法,包括:
7.利用双目相机的左右摄像头分别采集待检测芯片的图像,得到左检测图像和右检测图像;
8.对所述双目相机进行标定,计算所述双目相机的内参数矩阵、外参数矩阵和畸变参数;
9.基于所述内参数矩阵、外参数矩阵和畸变参数,对所述左检测图像和所述右检测图像进行立体校正,得到校正后左检测图像和校正后右检测图像;
10.将所述校正后左检测图像和所述校正后右检测图像的图像信息进行立体匹配与深度计算,得到校正后检测图像中待检测芯片映射到实际三维空间中的空间三维坐标,基于所述空间三维坐标建立重建后的芯片三维图像;其中,所述校正后检测图像为校正后左检测图像或校正后右检测图像;
11.基于芯片三维图像,检测所述待检测芯片的引脚缺陷信息,并判断所述引脚缺陷信息是否符合预设规则;
12.响应于所述引脚缺陷信息符合所述预设规则,则判定所述待检测芯片的引脚存在缺陷。
13.进一步地,所述对所述双目相机进行标定,计算所述双目相机的内参数矩阵、外参数矩阵和畸变参数,包括:
14.获取棋盘标定板,用双目相机的左右摄像头分别从不同方向拍摄所述棋盘标定板的棋盘图像,获得每个所述棋盘图像中所有内角点的图像坐标及对应的空间三维坐标;
15.将每个所述棋盘图像中所有内角点的图像坐标及对应的空间三维坐标输入预训练的双目相机成像几何模型中,输出所述双目相机的内参数矩阵和外参数矩阵;
16.基于内参数矩阵和外参数矩阵及畸变校正方法,得到所述畸变参数。
17.进一步地,所述基于所述内参数矩阵、外参数矩阵和畸变参数,对所述左检测图像和所述右检测图像进行立体校正,得到校正后左检测图像和校正后右检测图像,包括:
18.将所述外参数矩阵中的旋转矩阵划分为左摄像头的合成旋转矩阵和右摄像头的合成旋转矩阵,将左摄像头和右摄像头各旋转一半,使得左摄像头和右摄像头的光轴平行,实现左摄像头和右摄像头的成像面共面;
19.将所述左摄像头的合成旋转矩阵、所述右摄像头的合成旋转矩阵、所述内参数矩阵、所述外参数矩阵中的平移向量以及每个所述棋盘图像的尺寸信息输入计算机视觉和机器学习软件库中,计算得到校正后数据;
20.将所述校正后数据作为已知常量,基于预设的左右视图校正查找映射表,采用逆向映射的方法,对所述左检测图像和所述右检测图像进行立体校正,得到校正后左检测图像和校正后右检测图像。
21.进一步地,将所述校正后左检测图像和所述校正后右检测图像的图像信息进行立体匹配与深度计算,得到校正后检测图像中待检测芯片映射到实际三维空间中的空间三维坐标,基于所述空间三维坐标建立重建后的芯片三维图像,包括:
22.基于所述校正后左检测图像和所述校正后右检测图像的图像信息,计算得到所述左检测图像和所述右检测图像在预设视差范围内各像素点的匹配代价;
23.基于所述匹配代价,计算得到各像素点在预设视差范围内的多路径代价聚合值;
24.基于所述多路径代价聚合值,计算得到各像素点在代价聚合后的视差;
25.基于各像素点在代价聚合后的视差进行视差优化,得到校正后检测图像视差图;
26.对所述校正后检测图像视差图进行深度计算,得到校正后检测图像深度图;
27.基于校正后检测图像深度图,得到校正后检测图像中待检测芯片映射到实际三维空间中的空间三维坐标,基于所述空间三维坐标建立重建后的芯片三维图像。
28.进一步地,所述引脚缺陷信息包括引脚数目信息、引脚长度信息和引脚重心信息。
29.进一步地,基于芯片三维图像,检测所述待检测芯片的引脚缺陷信息,并判断所述引脚缺陷信息是否符合预设规则,包括:
30.检测所述引脚数目信息,判断所述引脚数目信息是否符合引脚数目预设规则;
31.检测所述引脚重心信息,判断所述引脚重心信息是否符合引脚偏移预设规则;
32.检测所述引脚长度信息,判断所述引脚长度信息是否符合引脚长度预设规则。
33.进一步地,响应于所述引脚缺陷信息符合所述预设规则,则判定所述待检测芯片的引脚存在缺陷,包括:
34.响应于所述引脚数目信息符合所述引脚数目预设规则、所述引脚重心信息符合引脚偏移预设规则、或所述引脚长度信息符合引脚长度预设规则,则判定所述待检测芯片的引脚存在缺陷。
35.基于同一发明构思,本技术第二方面提供了一种芯片引脚缺陷的检测装置,包括:
36.图像采集模块,被配置为:利用双目相机的左右摄像头分别采集待检测芯片的图像,得到左检测图像和右检测图像;
37.相机标定模块,被配置为:对所述双目相机进行标定,计算所述双目相机的内参数矩阵、外参数矩阵和畸变参数;
38.立体校正模块,被配置为:基于所述内参数矩阵、外参数矩阵和畸变参数,对所述左检测图像和所述右检测图像进行立体校正,得到校正后左检测图像和校正后右检测图像;
39.立体匹配与三维重建模块,被配置为:将所述校正后左检测图像和所述校正后右检测图像的图像信息进行立体匹配与深度计算,得到校正后检测图像中待检测芯片映射到实际三维空间中的空间三维坐标,基于所述空间三维坐标建立重建后的芯片三维图像;其中,所述校正后检测图像为校正后左检测图像或校正后右检测图像;
40.缺陷检测模块,被配置为:基于芯片三维图像,检测所述待检测芯片的引脚缺陷信息;
41.判定模块,被配置为:响应于所述引脚缺陷信息符合预设规则,则判定所述待检测芯片的引脚存在缺陷。
42.基于同一发明构思,本技术第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面任意一项所述的方法。
43.基于同一发明构思,本技术第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述第一方面任一所述方法。
44.从上面所述可以看出,本技术提供的一种芯片引脚缺陷的检测方法、检测装置及设备,基于双目相机构建3d模型实现芯片引脚缺陷的检测,经过相机标定及立体校正后,得到校正后检测图像中待检测芯片映射到实际三维空间中的空间三维坐标,基于所述空间三维坐标建立重建后的芯片三维图像,完成了3d建模,基于完成的芯片三维图像进行引脚缺陷检测,最终得到检测结果,通过3d建模的方式进行引脚缺陷的检测,可以提高芯片引脚缺陷的效率和准确率,同时非接触式的检测减少芯片损坏。
附图说明
45.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为本技术实施例的芯片引脚缺陷的检测方法的流程示意图;
47.图2为本技术实施例的芯片引脚缺陷的检测装置的示意图;
48.图3为本技术实施例的电子设备的示意图。
具体实施方式
49.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。
50.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
51.参考图1,本技术提供了一种芯片引脚缺陷的检测方法,具体包括如下步骤。
52.步骤s101、利用双目相机的左右摄像头分别采集待检测芯片的图像,得到左检测图像和右检测图像。
53.具体地,双目相机为同时具有左摄像头和右摄像头的相机,利用左摄像头对待检测芯片进行拍摄,得到待检测芯片的左检测图像,利用右摄像头对待检测芯片进行拍摄,得到待检测芯片的右检测图像。
54.步骤s102、对所述双目相机进行标定,计算所述双目相机的内参数矩阵、外参数矩阵和畸变参数。
55.具体地,本步骤包括如下步骤:
56.(1)制作棋盘标定板,用双目相机的左右摄像头分别从不同方向拍摄所述棋盘标定板的棋盘图像,获得每个所述棋盘图像中所有内角点的图像坐标及对应的空间三维坐标;
57.(2)将每个所述棋盘图像中所有内角点的图像坐标及对应的空间三维坐标输入预训练的双目相机成像几何模型中,输出所述双目相机的内参数矩阵和外参数矩阵;
58.(3)基于内参数矩阵和外参数矩阵及畸变校正方法,得到所述畸变参数。
59.其中,所述外参数矩阵为所述外参数矩阵反应所述双目相机的相机坐标系与世界坐标系的转换。其中,r为双目相机的右摄像头相对左摄像头的旋转矩阵,t为双目相机的右摄像头和左摄像头之间的平移向量,为1
×
3的零矩阵。
60.其中,所述内参数矩阵所述内参数矩阵反应像素坐标系与双目相机的相机坐标系的转换。其中,f为透镜焦距,分别为x
轴和y轴上的归一化焦距,(uo,vo)为图像坐标系原点在像素坐标系下的坐标,dx、dy为每个像素点在图像坐标系x轴、y轴方向的数值。
61.其中,将所述棋盘图像的内角点的图像坐标进行畸变校正,得到畸变校正前后的图像坐标。基于畸变校正前后的图像坐标,利用畸变校正算法,计算得到所述畸变参数。所述畸变参数包括k1、k2、k3、p1、p2,所述k1,k2,k3径向畸变,p1,p2是切向畸变系数。
62.所述畸变校正算法为:
[0063][0064]
其中,(x
p
,y
p
)是畸变校正前的图像坐标,(x
t
,y
t
)是畸变校正后的图像坐标,r为预设值。
[0065]
将所述(x
p
,y
p
)、(x
t
,y
t
)及预设的r值输入所述畸变校正算法中,得到所述畸变参数k1、k2、k3、p1、p2。
[0066]
步骤s103、基于所述内参数矩阵、外参数矩阵和畸变参数,对所述左检测图像和所述右检测图像进行立体校正,得到校正后左检测图像和校正后右检测图像。
[0067]
具体地,本步骤具体包括如下步骤:
[0068]
(1)将所述外参数矩阵中的旋转矩阵划分为左摄像头的合成旋转矩阵和右摄像头的合成旋转矩阵,将左摄像头和右摄像头各旋转一半,使得左摄像头和右摄像头的光轴平行,实现左摄像头和右摄像头的成像面共面。
[0069]
(2)将所述左摄像头的合成旋转矩阵、所述右摄像头的合成旋转矩阵、所述内参数矩阵、所述外参数矩阵中的平移向量以及每个所述棋盘图像的尺寸信息输入计算机视觉和机器学习软件库(也称为“opencv”)中,计算得到校正后数据。
[0070]
(3)将所述校正后数据作为已知常量,基于预设的左右视图校正查找映射表,采用逆向映射的方法,对所述左检测图像和所述右检测图像进行立体校正,得到校正后左检测图像和校正后右检测图像。
[0071]
其中,所述计算得到校正后数据,具体为利用opencv的库函数,输出左摄像头的行对准校正旋转矩阵r1、右摄像头行对准校正旋转矩阵r2、校正后的左摄像头的内参矩阵m1、校正后的右摄像头的内参矩阵mr、校正后的左摄像头投影矩阵p1、校正后的右摄像头投影矩阵pr以及重投影矩阵q。
[0072]
步骤s104、将所述校正后左检测图像和所述校正后右检测图像的图像信息进行立体匹配与深度计算,得到校正后左检测图像中待检测芯片映射到实际三维空间中的空间三维坐标,基于所述空间三维坐标建立重建后的芯片三维图像。
[0073]
具体地,本步骤具体包括如下步骤:
[0074]
(1)基于所述校正后左检测图像和所述校正后右检测图像的图像信息,计算得到所述左检测图像和所述右检测图像在预设视差范围内各像素点的匹配代价;
[0075]
(2)基于所述匹配代价,计算得到各像素点在预设视差范围内的多路径代价聚合值;
[0076]
(3)基于所述多路径代价聚合值,计算得到各像素点在代价聚合后的视差;
[0077]
(4)基于各像素点在代价聚合后的视差进行视差优化,得到校正后左检测图像视差图;
[0078]
(5)对所述校正后左检测图像视差图进行深度计算,得到校正后左检测图像深度图;
[0079]
(6)基于校正后左检测图像深度图,得到校正后左检测图像中待检测芯片映射到实际三维空间中的空间三维坐标,基于所述空间三维坐标建立重建后的芯片三维图像。
[0080]
其中,所述匹配代价的计算方法为:
[0081][0082]
其中,e(xr,y,d)表示像素灰度值差值,ir(xr,y)表示候选图像像素点(x
r-0.5,y)与(xr 0.5,y)之间亚像素位置的灰度值,表示匹配图像像素点(x d-0.5,y)与(x d 0.5,y)之间亚像素位置的灰度值,i
t
(xr d,y)表示候选图像像素点(xr d-0.5,y)与(xr d 0.5,y)之间亚像素位置的灰度值,表示匹配图像像素点(x-0.5,y)与(x 0.5,y)之间亚像素位置的灰度值,xr表示候选图像像素的横坐标,y表示图像像素的纵坐标,d表示视差,x表示匹配图像像素的横坐标。
[0083]
其中,所述多路径代价聚合值的计算方法为:
[0084][0085]
其中,p代表像素,r代表路径,d代表视差,p-r代表像素p在路径r内的像素,l表示某一路径的聚合代价值,lr(p-r,d)表示路径内上一个像素视差为d时的代价值,lr(p-r,d-l)表示路径内上一个像素视差为d-l时的代价值,lr(p-r,d l)表示路径内上一个像素视差为d 1时的代价值,minilr(p-r,i)表示路径内上一个像素所有代价值的最小值,c(p,d)表示初始代价值。
[0086]
由像素p沿着路径r的路径代价可得到总路径代价值s:
[0087]
s(p,d)=∑rlr(p,d)
[0088]
其中,基于所述多路径代价聚合值,计算得到各像素点在代价聚合后的视差,基于各像素点在代价聚合后的视差进行视差优化,得到校正后左检测图像视差图,具体包括:
[0089]
(1)左右一致性检查:经过代价聚合我们得到了校正后左检测图像视差图,然后将左右图像互换位置,即左图像变成右图像,右图像变成左图像,这时候再重新做一次立体匹配,会得到新的左图像(原右图像)的视差图,这时比较左右图像同名点的视差,看视差是否一致,若一致,则满足一致性检查,否则不满足,这时就把不满足的点给剔除掉。实际上,我们对比较左右图像同名点的视差有一定的容忍程度,即不需要两者视差一致才保留,而是若两个视差值之间的差值若小于一定阈值(一般为1个像素),则满足唯一性约束被保留,反之则不满足唯一性约束而被剔除。一致性检查的公式如下所示:
[0090][0091]
其中,b指的是左视图,m指的是右视图,p和q为同名点对。
[0092]
(2)剔除小连通域:剔除掉视差图中连通的极小块区域,其在图像上一般表现为一些极不协调的一些小块,是判断同一个连通区域内的视差与邻域视差的差值,若差值大于规定的阈值,则将其剔除,将该块区域都视为无效的视差区域。
[0093]
(3)唯一性检测:对每个像素计算最小代价和次最小代价的值,若两者相对差小于一定阈值,则被剔除。
[0094]
(4)子像素拟合:采用二次曲线内插的方法获得子像素精度,对最优视差的代价值以及前后两个视差的代价值进行二次曲线拟合,曲线的极值点所对应的视差值即为新的子像素视差值。
[0095]
(5)视差填充:先判断像素点是被遮挡点(若一个像素p在左视图中可见,但在右视图中不可见,即为被遮挡点)还是普通误匹配点(视差连续),然后根据不同的分类采取不同的分类策略。判断像素点是否属于遮挡区的方法为:1)像素p是否通过各种优化操作而判定的无效像素。
[0096]
2)左图像像素p在右图像上的匹配像素为q=p-d,像素q在右视差图上的值为dr,通过dr找到左图像的匹配点p’,获取p’的视差d’,若d’》d,则p为遮挡区。
[0097]
对于遮挡区像素,因为它是背景像素,所以不能选择周围的前景像素视差值,我们选择周围背景像素的视差值。由于背景像素视差值比前景像素小,所以在收集周围的有效视差值后,选择次最小视差。对于误匹配像素,它并不位于遮挡区,所以周围的像素都是可见的,而且没有遮挡导致的视差非连续的情况,它就像一个连续的表面凸起的一小块噪声,这时周围的视差值都是等价的,我们取中值。
[0098]
其中,对所述校正后左检测图像视差图进行深度计算,得到校正后检测图像深度图,所述深度计算的计算方法为:
[0099][0100]
其中,f为焦距长度,b为基线长度,d为视差,c
xr
为右色摄像头的主点的列坐标,c
xl
为左摄像头的主点的列坐标。
[0101]
基于得到的校正后检测图像深度图,根据公式:
[0102][0103]
得到校正后检测图像中待检测芯片映射到实际三维空间中的空间三维坐标。
[0104]
其中,z为深度图像中每个像素点的值,为一个n
×
m的矩阵;u和v分别是二维矩阵z中每个点所对应的x和y像素点坐标,范围分别为1-m和1-n;c
x
和cy是拍摄相机的相机参数;x和y为所需求得的空间三维坐标。
[0105]
将得到的所有空间三维坐标整合为一个集合,基于基于所述空间三维坐标的集合建立重建后的芯片三维图像。
[0106]
步骤s105、基于芯片三维图像,检测所述待检测芯片的引脚缺陷信息,并判断所述引脚缺陷信息是否符合预设规则。
[0107]
步骤s106、响应于所述引脚缺陷信息符合所述预设规则,则判定所述待检测芯片的引脚存在缺陷。
[0108]
具体地,所述引脚缺陷信息包括引脚数目信息、引脚长度信息、引脚重心信息。
[0109]
具体地,检测所述待检测芯片的引脚缺陷信息,并判断所述引脚缺陷信息是否符合预设规则具体包括:检测所述引脚数目信息,判断所述引脚数目信息是否符合引脚数目预设规则;检测所述引脚重心信息,判断所述引脚重心信息是否符合引脚偏移预设规则;检测所述引脚长度信息,判断所述引脚长度信息是否符合引脚长度预设规则。
[0110]
响应于所述引脚数目信息符合所述引脚数目预设规则、所述引脚重心信息符合引脚偏移预设规则、或所述引脚长度信息符合引脚长度预设规则,则判定所述待检测芯片的引脚存在缺陷。
[0111]
具体地,所述引脚数目信息包括引脚数、每个引脚的面积、引脚的最大面积偏差比率等。所述引脚数目预设规则为:引脚的最大面积偏差比率与预设面积偏差值不一致。当所述引脚的最大面积偏差比率与预设面积偏差值不一致时,证明该芯片存在引脚缺失的缺陷。所述预设面积偏差值为依据实际经验预设的数值。
[0112]
其中,所述芯片所有引脚的面积均值为:
[0113][0114]
其中,n为芯片引脚数,si为第i个引脚的面积。
[0115]
所有芯片中最小的引脚面积为s
min
,定义最大面积偏差比率为:
[0116][0117]
其中,s
rate
为最大面积偏差比率,代表的是芯片所有引脚的面积均值与最小的引脚面积之间的最大偏移程度,反映出芯片是否存在引脚缺失的信息。
[0118]
本实施例中,也可以将统计得到的s
rate
送入已经预先训练好的神经网络分类器,神经网络分类器自动输出引脚是否缺失的判别结果。
[0119]
具体地,所述引脚重心信息包括引脚的外端间距信息和引脚的根端间距信息等。所述引脚偏移预设规则为检测到的引脚的外端间距小于引脚的根端间距。
[0120]
正常的芯片,相邻引脚与引脚间的距离是固定的,由于各个引脚的位置是平行的。此时引脚的根端距离等于引脚重心的间距d,引脚外端的距离即外间距d
out
可认为是引脚外端的中间点之间的距离。在引脚没有发生引脚偏移的情况下,引脚的外间距等于引脚的重心间距。如果引脚发生偏移,则引脚之间的位置不再是平行关系,这时引脚的根端距离依旧保持不变,但引脚的外端距离发生了变化,因此在引脚位置发生偏移的情况下,外端间距d
out
比d略小。根据这个原理,可以根据引脚的间距来判断引脚是否发生左右偏移。当检测到引脚的外端间距小于引脚的根端间距时,证明芯片存在引脚左右偏移的缺陷。
[0121]
具体地,所述引脚长度预设规则为:检测到的引脚长度与引脚长度预设值不一致。所述引脚长度预设值为待检测芯片的理论引脚长度。
[0122]
芯片的正常引脚都处在引脚平面上,以引脚平面为参考平面,所有正常引脚的长度都是l。从几何关系可见,若引脚向上偏移,上翘的引脚长度投影到引脚平面上,长度减小,而且引脚向上偏移越多,引脚长度投影到引脚平面上的长度越小。同理,若引脚向下偏移,下翘的引脚长度投影到引脚平面上,长度减小,而且引脚向下偏移越多,引脚长度投影到引脚平面的长度就越小。根据这个原理,可以根据引脚的长度来判断引脚是否发生高度
偏移。当检测到的引脚长度与引脚长度预设值不一致时,证明引脚发生了高度偏移,此时芯片存在缺陷。
[0123]
从上面所述可以看出,本技术提供的一种芯片引脚缺陷的检测方法、检测装置及设备,基于双目相机构建3d模型实现芯片引脚缺陷的检测,经过相机标定及立体校正后,得到校正后检测图像中待检测芯片映射到实际三维空间中的空间三维坐标,基于所述空间三维坐标建立重建后的芯片三维图像,完成了3d建模,基于完成的芯片三维图像进行引脚缺陷检测,最终得到检测结果,通过3d建模的方式进行引脚缺陷的检测,可以提高芯片引脚缺陷的效率和准确率,同时非接触式的检测减少芯片损坏。
[0124]
在一些实施例中,本技术提供了一种芯片引脚缺陷的检测方法,基于双目摄像头构建3d模型实现芯片引脚缺陷的检测,具体包括图像采集、相机标定、立体校正、立体匹配与三维重建、缺陷检测五部分。
[0125]
图像采集:利用双目相机的左右摄像头分别采集芯片图像;
[0126]
相机标定:包括内参数矩阵、外参数矩阵和畸变系数,可以对之后相机拍摄的图像进行校正,得到畸变相对很小的图像。输入为棋盘标定板已知特征点的图像坐标和世界坐标,建立相机成像的几何模型,确定相机图像像素坐标与场景点三维坐标之间的关系,输出为相机的内外参数矩阵及畸变系数。
[0127]
立体校正:采用相交光轴结构的视觉系统,通过分解旋转矩阵和行对准校正旋转矩阵改变两摄像头的相对位置,使两幅图像中的对应点在同一条水平极线上。在摄像头原始数据基础上,利用数学物理方法获取校正后相机参数。将二维搜索变为一维搜索,缩小匹配搜索空间,提高立体匹配的搜索速率。最后通过校正映射查找表完成图像校正,将图像进行裁剪并保存,得到校正后左检测图像和校正后右检测图像。
[0128]
立体匹配与三维重建:将立体校正后的校正后左检测图像和校正后右检测图像经立体匹配算法处理后,得到经过立体校正后的双目摄像头左摄像头视差图,再经过深度计算将其转化为深度图,输出为经过立体校正后的双目摄像头左摄像头图像中被识别物体映射到实际三维空间中的空间三维坐标,最终得到芯片三维图像。
[0129]
缺陷检测:对重建后的芯片三维图像进行图像预处理,再通过形态学操作结合区域标识的方法进一步计算出引脚数目,引脚对应的面积、宽度、重心等数据。同时确定引脚检测时各项的优先级,先检测是否缺角,再检测共面性,最后检测引脚偏移性,有一项不合格就可以判定芯片引脚存在缺陷。
[0130]
具体步骤如下:
[0131]
步骤1:图像采集:利用双目相机的左右摄像头分别采集芯片图像。
[0132]
步骤2:相机标定:确定芯片表面一点的三维几何位置与其在图像中对应点之间的相互关系,由棋盘标定板上特征点的世界坐标和图像像素点建立对应关系,求解双目相机的左右摄像头的内参数矩阵、外参数矩阵以及畸变参数。
[0133]
步骤3:立体校正:由极线约束来进行立体校正,使得左右相机获取的两幅图像中的对应点在同一条水平极线,获得校正之后的双目相机的标定参数;
[0134]
步骤4:立体匹配与三维重建:将经过立体校正后的左、右摄像头获取的芯片图像进行立体匹配与深度计算,得到双目摄像头左摄像头图像中被识别物体映射到实际三维空间中的空间三维坐标,基于空间三维坐标得到重建后的芯三维图像。
[0135]
步骤5:缺陷检测:对重建后的芯片三维图像进行图像预处理,再通过形态学操作结合区域标识的方法进一步计算出引脚数目,引脚对应的面积、宽度、重心等数据。同时确定引脚检测时各项的优先级,先检测是否缺角,再检测共面性,最后检测引脚偏移性,有一项不合格就可以判定芯片引脚存在缺陷。
[0136]
其中,所述芯片引脚缺陷包括引脚缺失、引脚上翘、引脚下翘以及引脚歪斜中的一种或者几种。
[0137]
具体地,所述相机标定的具体方法为:
[0138]
步骤2.1:制作一块由黑白方块间隔组成的棋盘标定板,用双目摄像头在不同方向下拍摄棋盘标定板的棋盘图像,提取每一张棋盘图像的角点信息,获得棋盘图像上所有内角点的图像坐标及其空间三维坐标;
[0139]
步骤2.2:建立相机成像的几何模型,确定空间物体表面一点的三维几何位置与其在图像中对应点之间的相互关系;
[0140]
步骤2.3:将步骤2.1中获得的棋盘图像上所有内角点的图像坐标及其空间三维坐标作为输入,依据相机成像的几何模型,通过实验与计算求解并分别输出双目相机左摄像头和右摄像头的内参数矩阵和外参数矩阵;
[0141]
步骤2.4:根据双目相机左摄像头和右摄像头的内参数矩阵和外参数矩阵,利用畸变校正前后的坐标关系,求解5个畸变参数k1、k2、k3、p1、p2进行畸变矫正。其中,k1,k2,k3为径向畸变参数,p1,p2是切向畸变参数。
[0142]
其中,在步骤2.2中,外参数矩阵反应相机坐标系与世界坐标系的转换,r为双目相机右摄像头相对左摄像头的旋转矩阵,t为双目相机右摄像头左摄像头的平移向量;内参数矩阵反应像素坐标系与相机坐标系的转换,f为透镜焦距,(uo,vo)为图像坐标系原点在像素坐标系下的坐标,dx、dy为每个像素点在图像坐标系x轴、y轴方向的尺寸。
[0143]
其中,在步骤2.4中,畸变校正的方法为:;
[0144][0145]
其中,(x
p
,y
p
)是图像的原坐标,(x
t
,y
t
)是图像校正后的坐标,r为变量。
[0146]
具体地,所述立体校正的具体方法为:
[0147]
步骤3.1:将双目相机右摄像头相对左摄像头的旋转矩阵r划分为左摄像头的合成旋转矩阵r1和右摄像头的合成旋转矩阵r2,左摄像头和右摄像头各旋转一半,使得左摄像头和右摄像头的光轴平行,实现左摄像头和右摄像头的成像面共面;
[0148]
步骤3.2:将左摄像头的合成旋转矩阵r1、右摄像头的合成旋转矩阵r2、原始的左摄像头和右摄像头内参矩阵、平移向量t以及棋盘图像的大小输入opencv中,通过cvstereorectify函数输出左摄像头的行对准校正旋转矩阵r1、右摄像头行对准校正旋转
矩阵r2、校正后的左摄像头的内参矩阵m1、校正后的右摄像头的内参矩阵mr、校正后的左摄像头投影矩阵p1、校正后的右摄像头投影矩阵pr以及重投影矩阵q;
[0149]
步骤3.3:将步骤3.2中cvstereorectify函数的输出结果作为已知常量,通过左右视图的校正查找映射表,采用逆向映射,对目标图像上的每一个整形的像素位置,查找出其对应源图像上的浮点位置,并对周围源像素的每个整形值进行插值,在校正图像都被赋值之后,对图像进行裁剪,保存校正结果。
[0150]
具体地,所述立体匹配与三维重建的具体方法为:
[0151]
步骤4.1:根据立体校正后的双目摄像头左摄像头和右摄像头图像计算得到原图像在预设视差范围内各像素点的匹配代价;
[0152]
步骤4.2:根据预设视差范围内各像素点的匹配代价计算得到各像素在预设视差范围内的多路径代价聚合值;
[0153]
步骤4.3:根据各像素在预设视差范围内的多路径代价聚合值计算得到各像素在代价聚合后的视差;
[0154]
步骤4.4:根据各像素在代价聚合后的视差进行视差优化,得到立体校正后的双目摄像头左摄像头视差图;
[0155]
步骤4.5:对立体校正后的双目摄像头左摄像头视差图进行深度计算,得到立体校正后的双目摄像头左摄像头图像的深度图,并结合物体识别信息,最终得到经立体校正后的双目摄像头左摄像头图像中被识别物体映射到实际三维空间中的空间三维坐标。
[0156]
其中,所述匹配代价的计算方法为:
[0157][0158]
其中,e(xr,y,d)表示像素灰度值差值,ir(xr,y)表示候选图像像素点(x
r-0.5,y)与(xr 0.5,y)之间亚像素位置的灰度值,表示匹配图像像素点(x d-0.5,y)与(x d 0.5,y)之间亚像素位置的灰度值,it(xr d,y)表示候选图像像素点(xr d-0.5,y)与(xr d 0.5,y)之间亚像素位置的灰度值,表示匹配图像像素点(x-0.5,y)与(x 0.5,y)之间亚像素位置的灰度值,xr表示候选图像像素的横坐标,y表示图像像素的纵坐标,d表示视差,x表示匹配图像像素的横坐标。
[0159]
其中,所述各像素在预设视差范围内的多路径代价聚合值的计算方法为:
[0160][0161]
其中,p代表像素,r代表路径,d代表视差,p-r代表像素p路径内的像素,l表示某一路径聚合代价值。lr(p-r,d)表示路径内上一个像素视差d时的代价值,lr(p-r,d-l)表示路径内上一个像素视差为d-l时的代价值,lr(p-r,d l)表示路径内上一个像素视差为d 1时的代价值,minilr(p-r,i)表示路径内上一个像素所有代价值的最小值,c(p,d)表示初始代价值。
[0162]
由像素p沿着路径r的路径代价可得到总路径代价值s:
[0163]
s(p,d)=∑rlr(p,d)
[0164]
其中,所述深度的计算方法为:
[0165][0166]
其中,f为焦距长度,b为基线长度,d为视差,c
xr
为右相机的主点的列坐标,c
xl
为左摄像头的主点的列坐标。
[0167]
其中,所述缺陷检测的具体方法为:
[0168]
步骤5.1:芯片引脚缺陷的检测算法:通过采用计算引脚的总面积,然后计算出面积偏差比率,送入神经网络分类器,进行判别。
[0169]
步骤5.2:芯片引脚共面性检测算法:从几何角度的方法上,对芯片引脚的上下翘进行了判断,正常的引脚都处在引脚平面上。拍摄得到的图像中,以引脚平面为参考平面,所有正常引脚的长度都是l。从几何关系可见,若引脚高度向上偏移,上翘的引脚长度投影到引脚平上,长度增加。而且引脚向上偏移越多,拍摄所得地图像中,引脚越长。同理,若引脚高度向下偏移,下翘的引脚长度投影到引脚平面上,长度减小。引脚向下偏移越多,拍摄所得的图像中,引脚越短。根据这个原理,我们可以根据引脚的长度来判断引脚是否发生高度偏移。
[0170]
步骤5.3:芯片引脚偏移的检测算法:正常的芯片,引脚与引脚间的距离是固定的,由于各个引脚的位置是平行的,因此,引脚之间的距离等于中心的间距。若重心间距d为引脚间距。引脚外端的距离可认为引脚外端的中间点距离。正常情况下,引脚的外间距等于引脚重心间距。如果引脚发生偏移,则引脚之间的位置不再是平行关系,这时引脚的根端距离依旧保持不变,但引脚的外端距离发生了变化,则在引脚位置发生偏移的情况下,外端间距d
out
比d略小。根据这个原理,我们可以根据引脚的间距来判断引脚是否发生左右偏移。
[0171]
其中,所述所有芯片引脚的面积均值为:
[0172][0173]
其中,n为芯片轮廓数,si为第i个轮廓的面积。
[0174]
所有芯片中引脚最小的引脚面积为s
min
,按照如下公式定义最大面积偏差比率:
[0175][0176]
其中,s
rate
代表的是芯片引脚面积与平均面积的最大的偏移程度,反映出芯片是否缺脚的信息。
[0177]
本实施例中的芯片引脚缺脚判别方法,也可以采用的将采集芯片三维图像统计得到的s
rate
送入已经预先训练过的神经网络分类器,神经网络分类器自动输出引脚是否缺失的判别结果。
[0178]
其中,所述所有芯片引脚的长度均值为:
[0179][0180]
其中,n为芯片轮廓数,wi为第i个轮廓的引脚长度。所有芯片中引脚最短的引脚长
度为w
min
,最长的引脚长度为w
max

[0181]
定义最大宽度偏差比率为:
[0182][0183]
其中,w
rate
代表的是芯片引脚长度与平均长度最大的偏移程度,反映出芯片引脚是否共面的信息。其中函数m(x,y)=(x y)/2 |x-y|/2代表取x,y中的最大值。
[0184]
本实施例中的芯片引脚不共面判别方法,也可以采用的将采集芯片三维图像统计得到的w送入预先训练好的神经网络分类器中,神经网络分类器自动输出引脚是否共面的判别结果。
[0185]
其中,所述所有芯片引脚重心间的间距均值为:
[0186][0187]
其中,n为芯片轮廓数,di为第i个轮廓的引脚重心间的间距。所有芯片中最小的引脚重心间距为d
min
,最大的引脚重心间距为d
max

[0188]
定义最大重心间距偏差比率:
[0189][0190]drate
代表的是芯片引脚重心间距与平均重心间距最大的偏移程度,反映出芯片引脚是否存在偏移的信息。其中函数m(x,y)=(x y)/2 lx-yl/2代表取x、y中的最大值。
[0191]
本实施例中的芯片引脚偏移判别方法,也可以采用的将采集芯片三维图像统计得到的d送入预先训练好的神经网络分类器中,神经网络分类器自动输出引脚是否偏移的判别结果。
[0192]
从上面所述可以看出,本技术提供的一种芯片引脚缺陷的检测方法、检测装置及设备,基于双目相机构建3d模型实现芯片引脚缺陷的检测,经过相机标定及立体校正后,得到校正后的双目相机左摄像头校正后左检测图像中待检测芯片映射到实际三维空间中的空间三维坐标的集合,基于所述空间三维坐标的集合建立重建后的芯片三维图像,完成了3d建模,基于完成的芯片三维图像进行引脚缺陷检测,最终得到检测结果,通过3d建模的方式进行引脚缺陷的检测,可以提高芯片引脚缺陷的效率和准确率,同时非接触式的检测减少芯片损坏。
[0193]
需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0194]
需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0195]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种芯片
引脚缺陷的检测装置。
[0196]
参考图2,所述检测装置,包括:
[0197]
图像采集模块201,被配置为:利用双目相机的左右摄像头分别采集待检测芯片的图像,得到左检测图像和右检测图像;
[0198]
相机标定模块202,被配置为:对所述双目相机进行标定,计算所述双目相机的内参数矩阵、外参数矩阵和畸变参数;
[0199]
立体校正模块203,被配置为:基于所述内参数矩阵、外参数矩阵和畸变参数,对所述左检测图像和所述右检测图像进行立体校正,得到校正后左检测图像和校正后右检测图像;
[0200]
立体匹配与三维重建模块204,被配置为:将所述校正后左检测图像和所述校正后右检测图像的图像信息进行立体匹配与深度计算,得到校正后检测图像中待检测芯片映射到实际三维空间中的空间三维坐标的集合,基于所述空间三维坐标的集合建立重建后的芯片三维图像;其中,所述校正后检测图像为校正后左检测图像或校正后右检测图像;
[0201]
缺陷检测模块205,被配置为:基于芯片三维图像,检测所述待检测芯片的引脚缺陷信息;
[0202]
判定模块206,被配置为:响应于所述引脚缺陷信息符合预设规则,则判定所述待检测芯片的引脚存在缺陷。
[0203]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0204]
上述实施例的装置用于实现前述任一实施例中相应的芯片引脚缺陷的检测方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0205]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的芯片引脚缺陷的检测方法。
[0206]
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
[0207]
处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0208]
存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0209]
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、
扬声器、振动器、指示灯等。
[0210]
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0211]
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0212]
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0213]
上述实施例的电子设备用于实现前述任一实施例中相应的芯片引脚缺陷的检测方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0214]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的芯片引脚缺陷的检测方法。
[0215]
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0216]
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的芯片引脚缺陷的检测方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0217]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0218]
另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0219]
尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例
如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
[0220]
本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献