CN113554054A - 基于深度学习的半导体芯片金线缺陷分类方法及*** - Google Patents

基于深度学习的半导体芯片金线缺陷分类方法及*** Download PDF

Info

Publication number
CN113554054A
CN113554054A CN202110626530.7A CN202110626530A CN113554054A CN 113554054 A CN113554054 A CN 113554054A CN 202110626530 A CN202110626530 A CN 202110626530A CN 113554054 A CN113554054 A CN 113554054A
Authority
CN
China
Prior art keywords
gold wire
data set
image
semiconductor chip
gold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110626530.7A
Other languages
English (en)
Inventor
周洪宇
李浩天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yimu Shanghai Technology Co ltd
Original Assignee
Yimu Shanghai Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yimu Shanghai Technology Co ltd filed Critical Yimu Shanghai Technology Co ltd
Priority to CN202110626530.7A priority Critical patent/CN113554054A/zh
Publication of CN113554054A publication Critical patent/CN113554054A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种基于深度学习的半导体芯片金线缺陷分类方法及***,包括:利用光场相机拍摄芯片,得到中心视角图与深度信息,每个所述中心视角图包含两个完整的芯片;对所述中心视角图进行分割,得到单芯片的灰度图;对单芯片的灰度图的金线分别标注轮廓;结合所述深度信息对标注轮廓后的灰度图进行缺陷分类,得到数据集;利用数据集对半导体芯片图进行金线缺陷分类。本发明在测试集中准确率很高,可以有效判断出金线的三种缺陷和完好的类别特征。

Description

基于深度学习的半导体芯片金线缺陷分类方法及***
技术领域
本发明涉及图像处理及半导体领域,具体地,涉及一种基于深度学习的半导体芯片金线缺陷分类方法及***。
背景技术
随着半导体技术的迅猛发展以及集成电路IC芯片的广泛应用,半导体芯片的封装工艺受到了严峻的挑战,在面对电子产品小型化的发展趋势下,封装技术的要求也越来越严格。半导体芯片由晶粒和芯片的引脚相互连接,而在他们之中需要采用某种高电导率金属导线进行连接。
而在流水线上,在晶粒与引脚等部位都完善之后,引线键合技术便开始发挥作用。通常针对不同的芯片,采用的环境也会有所不同,有的在热压条件下键合,或者超声条件下键合。
而在实际的加工焊接工艺中,由于界面上绝缘层的形成,金属化层的缺陷,引线或者晶粒表面的沾污,材料间的接触应力不当,工艺参数的不合理以及超声功率的选择等原因都会造成金线的缺陷。
而工艺要求金丝的直径小于75微米,线弧高度150微米,焊盘间距40-100微米,并且随着IC芯片技术的发展,市场上正在出现线弧高度更低,间距更小的引线键合技术的应用场景。如此高精度的加工要求以及现存的加工工艺可能面临的种种问题导致需要对生产出的芯片进行相关的检测来判断是否符合相关要求和规定。对半导体金线的形貌特征检测便成为了在芯片使用之前的一道重要工序。
对金线的缺陷检测,首先要对其形貌特征进行相关的成像与观测。二维方法包括人工检测以及AOI自动光学检测,而现有的显微三维测量方法包括白光干涉,共聚焦和超景深。
早期的芯片检测采用的是依靠显微镜成像之后由人工来进行目视检测,而基于生产线上的金线数量巨大,人眼的观测效率低,结果并不稳定,并且显微镜只能从单一视角进行二维的检测,金线的三维形貌特征无法完全捕捉到。
而传统算法下的自动光学检测技术,又名AOI,它采用传统的光学原理,在人力物力成本上利用机器代替了人工,解放了生产力。自动光学检测技术采用的是人工制造的光源,光线通过AOI的光学透镜折射之后到达CCD元件,采用相关算法对光学数据进行处理从而得到需要检测的信息。但自动光学检测手段在市场上主要应用于对PCB(PrintedCircuit Board)即印刷电路板的检测,而半导体IC芯片的金线的三维形貌,不同于一般PCB板的二维图片,尽管其自动化程度使得检测减少了人力物力的成本,但其配套的传统算法只适用于二维图像的处理,而金线的缺陷涉及到复杂的三维走向和形状,应用于缺陷检测方面有些不成熟。
白光干涉利用的是波的干涉效应,通过两列反射波的叠加结果从而得到位置信息。干涉是波的独有的物理性质,当两列波的拥有相同的频率以及一定的相位差的时候,他们能够在一定的区域形成叠加或者减弱,形成确定的振幅,得到稳定的干涉图样。利用位移矢量叠加原理当激光分别经过参考平面和目标平面反射后形成相干干涉被探测器检测到,不断地移动参考平面,当两个平面在同一高度时干涉强度最大,此时参考平面和目标平面在世界坐标系下的同一高度,从而根据对于反射光的强度进行分析即可判断出每一层的相应深度。但每一次扫描只能获得一个平面的信息,而一根金线在高度上有着相对参考平面每次移动的距离比较大的高度差,要想获得一根完整金线的三维形貌,需要确定多个参考平面,并且多次扫描不断地更新实际的三维形貌与特征。
共聚焦显微镜也是目前一种常用的检测手段。其简称为LSCM,共聚焦显微镜相较于传统的光学显微镜更加的精准。共聚焦显微镜采用激光作为光源,并且在光路中含有两个孔洞,一个位于光源之后,通常被称为照明孔,激光器发出的人工光线需要经过这一小孔之后才能聚焦。而另一个孔则位于检测器的前面,从聚焦点而来的光线通过检测器前面的小孔之后将信息传播到CCD平面,经过信号的转换算法转换为数字图像信号,采用共聚焦显微镜避免了杂光的干扰,成像清晰度较高。但以上的图像采集和转换算法的搭配使用只是在某一确定的高度,要想被检测样品得到全面的形貌信息,需要连续多个层面的光切图像,因此共聚焦显微镜要在Z轴方向逐层进行机械扫描。
景深是拍摄场景的深度,在拍摄成像中,最近的物体和最远的物体之间能清晰成像的那一部分就是景深(Depth of field)。使用超景深显微镜在Z轴方向不断地逐层采集,然后渲染堆叠,最终得到被采集对象的三维形貌特征。采用可变焦镜头,使得精神显微镜可以通过对于焦距的不断自调节,便于获取更加清晰,光线信息更多的图像。
前两种芯片检测方法,多用于二位图片的判断和处理,在面对金线缺陷这种在三维空间内的缺陷时便显得力所不能及。而后三类三维成像显微镜,虽然可以获得芯片的三位缺陷信息,但都需要在Z轴方向多次的扫描和处理,获得物体不同高度的聚焦图像,才能重建三维信息。这三种都有着较高的分辨率和准确率,但成本过高,由于需要多次拍摄和处理不同深度的图像,在这其中又包含了不可避免的震动误差,另外还有扫描过程中复杂的合成运算导致检测效率不高,未能在如今的芯片检测领域得到大规模的使用。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于深度学习的半导体芯片金线缺陷分类方法及***。
根据本发明提供的一种基于深度学习的半导体芯片金线缺陷分类方法,包括:
数据采集步骤:利用光场相机拍摄芯片,得到中心视角图与深度信息,每个所述中心视角图包含两个完整的芯片;
预处理步骤:对所述中心视角图进行分割,得到单芯片的灰度图;
金线分割步骤:对单芯片的灰度图的金线分别标注轮廓;
数据集构建步骤:结合所述深度信息对标注轮廓后的灰度图进行缺陷分类,得到数据集;
分类步骤:利用所述数据集对半导体芯片图进行金线缺陷分类。
优选地,所述数据集构建步骤还包括对所述数据集进行增广,得到增广后的数据集,所述神经网络训练步骤采用增广后的所述数据集对神经网络进行训练。
优选地,所述预处理步骤包括:
步骤S2.1、对得到的中心视角图进行二值化操作;
步骤S2.2、采用形态学滤波对二值化后的中心视角图进行图像增强;
步骤S2.3、对增强后的中心视角图进行边缘检测。
优选地,所述金线分割步骤包括:按照从左到右和从上到下的顺序分别将芯片上的N个金线命名为L1至LN,采用分割软件对单芯片的灰度图进行多边形或者点形式的标注,批量将枚芯片上的金线分别标注轮廓,通过分割模型进行分割。
优选地,还包括:
神经网络训练步骤:根据所述数据集对神经网络进行训练;
所述分类步骤利用训练后的神经网络对半导体芯片图进行金线缺陷分类。
根据本发明提供的一种基于深度学习的半导体芯片金线缺陷分类***,包括:
数据采集模块:利用光场相机拍摄芯片,得到中心视角图与深度信息,每个所述中心视角图包含两个完整的芯片;
预处理模块:对所述中心视角图进行分割,得到单芯片的灰度图;
金线分割模块:对单芯片的灰度图的金线分别标注轮廓;
数据集构建模块:结合所述深度信息对标注轮廓后的灰度图进行缺陷分类,得到数据集;
分类模块:利用所述数据集对半导体芯片图进行金线缺陷分类。
优选地,所述数据集构建模块还包括对所述数据集进行增广,得到增广后的数据集,所述神经网络训练模块采用增广后的所述数据集对神经网络进行训练。
优选地,所述预处理模块包括:
模块S2.1、对得到的中心视角图进行二值化操作;
模块S2.2、采用形态学滤波对二值化后的中心视角图进行图像增强;
模块S2.3、对增强后的中心视角图进行边缘检测。
优选地,所述金线分割模块包括:按照从左到右和从上到下的顺序分别将芯片上的N个金线命名为L1至LN,采用分割软件对单芯片的灰度图进行多边形或者点形式的标注,批量将枚芯片上的金线分别标注轮廓,通过分割模型进行分割。
优选地,还包括:
神经网络训练模块:根据所述数据集对神经网络进行训练;
所述分类模块利用训练后的神经网络对半导体芯片图进行金线缺陷分类。
与现有技术相比,本发明具有如下的有益效果:
本发明在测试集中准确率很高,可以有效判断出金线的三种缺陷和完好的类别特征。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的工作流程图;
图2为本实施例的中心视角图;
图3为单芯片灰度图;
图4为金线的深度图;
图5为漏焊的金线示意图;
图6为断线的金线示意图;
图7为偏线的金线示意图;
图8为单个残差块的结构示意图;
图9为Identity Block结构图;
图10为Conv Block结构图;
图11为Resnet-50网络结构;
图12为L1训练过程中各指标变化图;
图13为L2训练过程中各指标变化图;
图14为L3训练过程中各指标变化图;
图15为L4训练过程中各指标变化图;
图16为L1测试集中“缺陷-偏线”测试结果;
图17为L1测试集中“缺陷-漏焊”测试结果;
图18为L1测试集中“缺陷-断线”测试结果;
图19为L1测试集中“完好”测试结果。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
如图1所示,本发明提供的本发明提供的一种基于深度学习的半导体芯片金线缺陷分类方法,包括:
数据采集步骤:利用光场相机拍摄芯片,得到中心视角图与深度信息,每个所述中心视角图包含两个完整的芯片。
预处理步骤:对所述中心视角图进行分割,得到单芯片的灰度图。
金线分割步骤:对单芯片的灰度图的金线分别标注轮廓。
数据集构建步骤:结合所述深度信息对标注轮廓后的灰度图进行缺陷分类,得到数据集。
分类步骤:利用所述数据集对半导体芯片图进行金线缺陷分类。
1、数据采集
采集芯片图片,将由光场相机得到的芯片图像内的不同金线分割出来,对分割之后的金线进行多分类数据集的制作。由光场相机拍摄得到的原始图像无法直接使用,需要对原始数据进行预处理,得到可以作为网络输入的每一条金线的深度信息。利用光场相机的广场软件库采集初步得到如下信息:中心视角图与深度信息。
为了保证光场图像的信息的完整性,在获取过程中不对其进行压缩,光场图像应当以非压缩的BMP格式进行存储,并保证了加载速度。
中心视角图保证每张图片中有两个完整的IC芯片,其包含了图像中芯片金线的位置信息和二维形状信息。每张图片分辨率为800*540,大小为440KB,如图2即为一张中心视角图。
由于芯片金线存在三维缺陷,利用二维的图片难以准确判断,所以光场相机利用其优良的捕捉光线方向的能力得到了每张芯片图对应的深度信息,保存在二进制txt文件中。
2、数据预处理
由相机直接拍摄到的中心视角图上有至少两枚芯片的金线信息,且无深度信息,无法直接被训练网络读取,所以通过对数据的预处理将数据加工成带有深度信息的单张芯片图片,用于分类网络的训练。
每一张中心视角图上两枚完整的芯片图片均位于矩形框内,根据其与周围轮廓较为明显的灰度差异,考虑采用传统的图像分割方法——基于阈值的图像分割来将每一张芯片的图像分离出来。
采用opencv计算机视觉库来对芯片图像进行阈值分割,基本原理为通过灰度图的各点处灰度值的差异将图像像素点分为若干类,对于分割目标与分割背景分别占据很大的灰度级别的情形效果较好。
具体的算法步骤如下:
(1)对得到的中心视角图进行二值化操作:采用固定阈值分割法,选用的阈值参数为64,将所有灰度大于或者等于64的像素点判定为特殊点,将这些像素点的灰度值改为255,而将原始灰度值不及64的像素点的灰度值改为0,批量对光场相机得到的所有中心视角图上的像素点都改为0和255两种灰度值,加强对比。
(2)采用形态学滤波对二值化图片进行图像增强,对高亮部分进行腐蚀与膨胀。先采用开运算(Opening),结构元素参数选取10×10,用以排除较小的团块状物体,将未包含结构元素的对象区域删除从而使得轮廓更加平滑和完整连接。再采用闭运算(Closing),结构元素选取3×3,排除掉图像中的小型黑色物块,将比结构元素更小的洞进行填充,使得操作对象获得更加平滑的轮廓。其中,膨胀和腐蚀操作的数学公式如下所示。
Figure BDA0003101418950000071
Figure BDA0003101418950000072
(3)使用Canny边缘检测算法对芯片边缘进行检测,但其受到噪声的影响很大,因此用高斯平滑处理原图像降噪,降噪后计算图像梯度,获取可能的边缘,然后指定最大和最小阈值,调用Canny函数对边缘进行检测。查找芯片轮廓使用Opencv-Python接口中的cv2.findcontours()函数,将芯片区域进行提取,并对其进行矩形拟合,将面积过大或者过小的矩形框去掉(去除大于108000和小于105000部分)。将由光场相机直接拍摄的中心视角图进行提取和分割可以得到单张的芯片灰度图,如图3所示。
由于神经网络对于输入图片的像素大小有要求,内部要对输入数组进行卷积操作,所以输入网络中的图片的长和宽的分辨率均为2的指数次数的倍数,对所获取的全部中心视角图进行批量处理,可以得到用于制作数据集样本的全部单一芯片图,共363张,分辨率均为216*328,文件类型为BMP文件,大小70.2KB。
根据单张芯片的灰度图观察得知,一块完整的芯片上有九跟金线将焊盘和引脚的锡球连接起来,按照从左到右和从上到下的顺序分别将其命名为L1至L9,由于不同金线的两端锡球在芯片上的位置不同,所以对于L1至L9每一个位置的金线来说,完好的金线和缺陷的金线的评判在不同位置有着不同的判定标准,因此需要将九跟金线分割,分别制作九个相应的数据集输入到训练网络中训练出九个针对不同位置的模型。金线的分割采用图形界面的离线版本的分割软件LabelMe,对图像进行多边形或者点形式的标注,批量将每一枚芯片上的九跟金线分别标注轮廓,对每一根金线尽可能地采用贴近其灰度图像边缘轮廓的方式进行标注。
由LabelMe软件标注成功之后,便可得到每一张芯片的标注生成的.json文件,记录每一枚芯片图片中,九跟金线的轮廓的坐标点。利用标注好的每一根金线轮廓作为数据集,由利用神经网络训练得到可以分割金线的模型。
与中心视角图一同从光场相机的拍摄中获得的信息还有深度信息,为了保证数据的精确性,同时节省存储空间,较快的加载和存储,根据光场软件库所得到的深度信息为txt格式下的二进制文件,无法直接打开查看,需要对二进制文件进行特定的读取。
存储深度信息的二进制文件数据排列格式为一串float数组,采用C++中的fread函数直接进行读取为二维数组,数字大小0至255表示图片深度。根据二维数组便可以得到每一枚芯片上的每一根金线的深度图,图片宽度为216像素,高度为328像素,位深度为8,图片类型为BMP格式,如图4即为其中一枚芯片上的一根金线的深度图。
3、缺陷分类依据及分类数据集制作
由于芯片的体积微小,金线加工工艺精度要求高,因此在此类芯片中常见的金线缺陷种类有如下几种(示意图中虚线表示正常金线的起伏标准,实线表示三种缺陷类型的直观图像):
(1)漏焊:芯片晶粒与引脚之间的两颗锡球中间并没有用金线相连接,如图5所示。
(2)断线:芯片晶粒或引脚一段延伸出的金线另一端并没有焊接在对应位置的引脚或晶粒上,或者芯片的金线从中间断开,对应的引脚或晶粒之间存在金线,但未完全联通,如图6所示。
(3)偏线:芯片晶粒与引脚之间的金线延伸方向歪斜扭曲,金线弧度高于或者低于正常弧度范围,需要利用深度信息,如图7所示。
其中漏线和断线采用传统的二维检测方法可以判断和分类,而有的偏线情形利用二维显微镜观测则很容易误判为正常金线。而采用图像的深度信息进行判断,则以上三种常见的缺陷,其在深度数据上的二维数组存在着较大的差异,漏线即全图无非0的深度数据,断线即在本应延伸的方向上出现了深度数据为0的一系列像素点,而堕线则是沿着深度信息的变化趋势不同于正常的金线深度信息的变化趋势,利用深度信息可以全面的判断金线的缺陷类型而避免二维视角下由于视角单一产生的错误判断。
将分割出的每一枚芯片中的九根金线按照金线L1至L9分别存放在9个文件夹中,每一个位置的金线采集到的深度图像都有341张。在九个位置的金线中在不同分类中随机取出一定比例的数据作为神经网络的测试集。剩余的金线则作为训练集的一部分输入到神经网络当中,再从输入到网络中的这部分数据集中随机取10%作为验证集。
L1至L9不同位置的金线的缺陷不同,原始数据集各种类的分布数量不同,在金线位置L1至L4处,金线缺陷类型有三类:缺陷-漏焊,缺陷-断线,缺陷-偏线,分别用数字1,2,3表示;在金线位置L5至L9处,金线缺陷类型有两类:缺陷-漏焊以及缺陷-偏线,分别用数字1,2表示,如表3-1,表3-2所示,因此需要分别制作9个数据集。
表3-1金线位置L1至L4四分类原始数据集
Figure BDA0003101418950000091
表3-2金线位置L5至L9三分类原始数据集
Figure BDA0003101418950000092
由于采集数据量较少,且类别之间数量严重不均匀,由表3-1,表3-2可知,在L1至L4中“缺陷-漏焊“,”完好“,”缺陷-断线“三类的数据量与”缺陷-偏线“类的数量相比相差很多,由于训练集中的数据较少且分类非常的不平衡,如果将原始数据集直接打标签分类并输入到网络中会导致网络无法捕捉某些分类信息的特征,最后得到的模型准确率极低,样本少的种类无法被正确预测,而样本中占比比较大的分类却会有过高的AP值。在其他实施例中,为了使得数据集尽可能地多样化,使得到的模型具有更强的泛化能力,需要对训练集内的图片进行数据扩充和增广。
“缺陷-漏焊“这一缺陷类别具有一定的特殊性,由于数据采用的是深度信息,而漏焊情况下图片上并没有相关信息,因此该类缺陷的图片由数据集读取出的数组为0,对该类缺陷的图片进行复制增加其数量,而无需对图片进行相关的改动。
剩余的其他三类分类类别中的金线则需要进行数据的增广,图片信息的数据增广方式包括以下几类:图像平移,图像翻转,图像旋转,图像缩放以及相应的组合变换,而采用不同顺序的组合变换得到的结果也是不同的,因此可以很大程度上弥补某一种类数据量过少的问题。
各种图像变换的数学矩阵如下所示。
图像平移数学矩阵:
Figure BDA0003101418950000101
图像翻转数学矩阵:
Figure BDA0003101418950000102
图像旋转数学矩阵:
Figure BDA0003101418950000103
图像缩放数学矩阵:
Figure BDA0003101418950000104
通过对于L1至L4位置的金线数据中的“完好“,”缺陷-漏焊“,”缺陷-断线“中的训练集中的图片进行图像的单一变换或者组合变换,使得四种分类中各个分类的比重相差较小,使得模型具有较高的泛化性与准确率。经过扩充之后的训练集中各个分类的数据量如下表3-3、表3-4所示。
表3-3金线位置L1至L4四分类训练数据集
Figure BDA0003101418950000111
表3-4金线位置L5至L9三分类训练数据集
Figure BDA0003101418950000112
通过数据的增广,L1至L9共9组训练数据集内部各分类相对较为均衡,将以上9组训练数据集分别打好相对应的标签0,1,2,3,将图片路径及名称以及标签写在txt文件中做好训练数据集,用于接下来输入神经网络中进行训练。测试集为从原始数据集中各个分类随机抽取一定数量,各个测试集内部各种类金线的数目如表3-5,表3-6所示。
表3-5L1至L4测试集内各种类金线数目
Figure BDA0003101418950000113
表3-6L5至L9测试集内各种类金线数目
Figure BDA0003101418950000114
4、神经网络搭建框架
本实施例采用数据集对神经网络进行训练,再用训练的神经网络进行分类,但本发明并不以此为限。本实验所采用的计算平台的软硬件设备及其版本如下表4-2所示:
表4.2计算平台采用软硬件及版本
Figure BDA0003101418950000121
5、Resnet网络结构设计
根据处理获得的深度信息,搭建以单通道深度信息为输入的深度学习分类网络。而在分类网络的发展史上,出现过AlexNet,VGG,GoogLeNet等具有代表性的网络。而Resnet网络便是在VGG网络的基础上设计出了plain网络和残差网络。
CNN的感受野其计算公式为:
F(i)=(F(i+1)-1)×Stride+Ksize
其中,F(i)为第i层的感受野;
——Stride为第i层的步距;
——Ksize为卷积核或池化核的尺寸。
VGG网络全部使用了3×3的卷积核和2×2的最大池化核通过不断的加深网络结构从而提升性能。它采用了多个小的卷积核的堆积来替代大的卷积核,在保证感受野的情况下减少了需要训练的参数。
在该网络中,假设conv的stride为1,padding为1;maxpool的size为2,stride为2。可以计算得到3×3的卷积的特征矩阵的尺寸不会改变:
outsize=(insize-Fsize+2P)/S+1=(insize-3+2)/1+1=insize
堆叠两个3×3的卷积核替代5×5的卷积核,堆叠三个3×3的卷积核替代7×7的卷积核,替代前后感受野是相同的。
Feature map:F=1
Conv3×3(3):F=(1-1)×1+3=3
Conv3×3(2):F=(3-1)×1+3=5(5×5卷积核感受野)
Conv3×3(3):F=(5-1)×1+3=7(7×7卷积核感受野)
但堆叠3×3卷积核后训练参数得到减少,假设输入特征矩阵深度和输出特征矩阵深度均为a,通过计算可以得出:
使用7×7卷积核所需参数个数:
7×7×a×a=49a2
堆叠三个3×3的卷积核所需参数个数:
3×3×3×a×a=27a2
而在VGG的网络模型中可以看到,VGG网络多次重复使用统一大小的卷积核来提取更加复杂和更有表达性的特征。在VGG-16网络的第三、四、五块:256、512、512个过滤器依次用来提取复杂的特征,其效果就等于一个带有3各卷积层的大型512×512的大型分类器。从VGG的结构中可知深度对于神经网络的重要性不言而喻。
考虑到深层网络中不可避免地退化问题,人为的让网络中的某些层跳过下一层直达第二层,使得相邻的层与层之间的联系被弱化。残差网络是由基本的残差块(Residualblock)构成的,如图8所示。
通过捷径分支,建立起a的隔层联系,向前传播的计算步骤为:
z[l+1]=W[l+1]a[l]+b[l+1]
a[l+1]=g(z[l+1])
z[l+2]=W[l+2]a[l+1]+b[l+2]
a[l+2]=g(z[l+2]+a[l])
ResNet的残差结构也有对应的两种残差结构,BasicBlock和Bottleneck。
BasicBlock用于层数比较少的网络,直接将两个3x3的卷积网络连在一起,对于通道数不一样的情况则直接以较大的通道为主,小通道参量在缺失的部分直接进行补零操作。
而Bottleneck的目的就是为了减少参数的数目,对残差块进行计算优化,将1x1,3x3,1x1的三个卷积网络串联在一起。首先一个1x1卷积层用于降维从而减少计算,最后再通过另一个1x1的卷积层还原,既保持了精度又减少了计算量。两个残差结构的输入特征和输出特征矩阵的深度都是256维的情况下,第一个1x1的卷积把256维channel降到64维,然后在最后通过1x1卷积恢复,整体使用的参数数目:
1×1×256×64+3×3×64×64+1×1×64×256=69632
而不使用bottleneck的参数数目为:
3×3×256×256×2=1179648,相差大概17倍,大大减少了网络参数。
Resnet网络根据其两种残差结构的使用以及网络的层数分为多种,经过调研和对比最终决定采用使用Bottleneck残差结构的Resnet-50网络进行深度学习模型的搭建。
Bottleneck残差结构是Resnet-50网络中的基本结构,Bottleneck结构也分为两类结构,分别为Conv Block和Identity Block,其中Conv Block输入和输出的维度是不一样的,;Identity Block输入维度和输出维度相同。
Identity Block有2个可变的参数C和W,即输入的形状(C,W,W)中的C和W。
C表示输入图像的通道数(channel);而输入形状的后两项参数分别表示图片信息的高和宽,当图片的高度和宽度相同时,可以表示为(C,W,W)。当输入到达只有两个可变参数C和W的Identity Block当中,如图9所示,记输入为x,Block的左边对输入依次进行卷积核大小为1x 1,卷积核数量为C/4,步长为1的卷积操作,然后经过BN操作和ReLU激活函数;再经过卷积核大小为3x 3,卷积核数量为C/4,步长为1的卷积操作,然后经过BN操作和ReLU激活函数;最后经过卷积核大小为1x1,卷积核数量为C,步长为1的卷积操作,然后经过BN操作,令这三个卷积块以及相应的BN和RELU为函数F(x),而右侧则不对Identity Block中的输入进行处理,将F(x)+x经过激活函数,就可以得到Identity Block的输出,输出结果仍为(C,W,W),保持着与该block相同的输入结构。
当输入到达Conv Block结构时,如图10所示,该Block结构具有四个参数:C,W分别为输入的通道和宽高,C1,S分别为该Block的卷积核参数和右侧卷积层的步长。(C,W,W)输入到该Block当中,Block的左边对输入依次进行卷积核大小为1x 1,卷积核数量为C1,步长为S的卷积操作,然后经过BN操作和ReLU激活函数;再经过卷积核大小为3x3,卷积核数量为C1,步长为1的卷积操作,然后经过BN操作和ReLU激活函数;最后经过卷积核大小为1x1,卷积核数量为4C1,步长为1的卷积操作,然后经过BN操作,令这三个卷积块以及相应的BN和RELU为函数F(x),而右侧则进行卷积核大小为1x1,卷积核数量为4C1,步长为S的卷积操作,然后经过BN操作,令该卷积块及象形BN为函数G(x),F(x)和G(x)通道数相同,但均与x不同,Conv Block改变了输入的通道数和大小。
Resnet-50的整体网络结构如下图11所示,分为5个阶段:
第一阶段是对输入的图片的处理,C表示输入图像的通道数(channel);而输入形状的后两项参数分别表示图片信息的高和宽,当图片的高度和宽度相同时,可以表示为(C,W,W)。在第一阶段中,首先对输入的图片进行卷积处理,卷积核步长为2,采用7x 7的卷积核,该卷积层中卷积核数量为64,因此该卷积层的输出通道数也为64,再经过BN层对数据进行批量归一化操作,通过ReLU线性整流函数的激活输入到第一阶段的的第二层中,在这里对图片进行核大小为3x3,步长为2的最大池化操作,经过第一阶段的处理,输出成为了(64,56,56)。
第二阶段则是对第一阶段的输出进行经过参数分别为(64,56,64,1)的ConvBlock,参数(256,256)的Identity Block,参数为(64,56,64,1)的Identity Block,第二阶段输出为(256,56,56)。
第三阶段则是对第二阶段的输出进行经过参数分别为(256,56,128,2)的ConvBlock,再经过三个参数(512,28)的Identity Block,第三阶段输出为(512,28,28)。
第四阶段则是对第三阶段的输出进行经过参数分别为(512,28,256,2)的ConvBlock,再经过五个参数(1024,14)的Identity Block,第四阶段输出为(1024,14,14)。
第五阶段则是对第四阶段的输出进行经过参数分别为(1024,14,512,2)的ConvBlock,再经过三个参数(2048,7)的Identity Block,第五阶段输出为(2048,7,7)。
6、深度学习网络训练
读入训练网络的数据包括深度图片以及其对应的标签,网络采用trafficDataset函数将txt内容逐行读入,再根据txt文件中的图片路径查找对应的图片,使其与对应的标签相匹配。在所有读入的数据及标签中随机抽取10%作为网络的验证集,训练前加载预训练权重,优化器采用SGD优化器,动量momentum为0.9。
采用交叉熵函数作为损失函数,在多分类问题中,交叉熵函数如下所示:
Figure BDA0003101418950000151
其中M表示类别数量;yic表示指示变量(0或者1),该类别与样本i相同则为1,否则为0;pic表示样本i属于c类别的预测概率。
训练集batch_size设置为10,验证集batch_size设置为2,在训练L1至L4位置的金线数据集时,采用四分类网络,学习率参数为0.001,训练参数epoch设置为80;在训练L5至L9位置的金线数据集时,采用三分类网络,采用学习率参数为0.001,由于数据量相较于L1至L4数据集较小,其收敛速度更快,所以训练epoch参数为50。
分别对九组数据集放入分类网络中训练相应的epoch,并将训练过程中每经历一轮epoch得到的accuracy,recall,precision,f-score以及loss记录下来,得到如下图12至图15所示的结果:
根据以上四组实验的指标变化图可以看到,随着训练epoch的增加,网络的loss有着基本相同的变化趋势,不断减小,在前10个epoch下降很快,当epoch介于10和30之间时,下降相对缓慢,大概在40epoch时稳定在0.05左右,最终均稳定在0.03左右;训练集样本的f-score参数最终均稳定在80%左右,accurary约为90%。
测试与结果
通过Resnet神经网络训练得到L1至L9九个模型,将其加载至测试网络中,对测试集进行检测。
由于原始数据集样本数量少,且样本分布严重不均匀,而测试集为从各个种类中随机抽取的一部分图片信息,因此测试集中数据分类依旧面临不均匀的问题,且九组实验的测试集均较小,因此对于数量较少的缺陷分类数据集采用单张测试,以L1测试集为例,测试结果如图16至图19所示,左边为测试集中的图片,右侧为检测出的对应缺陷以及置信度。
对九组测试集分别进行测试集测试,测试集对于四分类和三分类的准确率均接近100%,测试集错误率不超过一张。并且不会对芯片金线进行漏检,正常金线的检测率均为100%,并不会将输入模型中的含有某种缺陷的芯片判断为正常芯片,保证了芯片生产工艺上的质检效率,不会由于检测的“漏网之鱼”导致将三种缺陷类型的芯片判定为“完好”,从而导致有缺陷的芯片流入市场。
最后将测试代码进行封装,用于后续检测***的UI界面设计。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的***及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种基于深度学习的半导体芯片金线缺陷分类方法,其特征在于,包括:
数据采集步骤:利用光场相机拍摄芯片,得到中心视角图与深度信息,每个所述中心视角图包含两个完整的芯片;
预处理步骤:对所述中心视角图进行分割,得到单芯片的灰度图;
金线分割步骤:对单芯片的灰度图的金线分别标注轮廓;
数据集构建步骤:结合所述深度信息对标注轮廓后的灰度图进行缺陷分类,得到数据集;
分类步骤:利用所述数据集对半导体芯片图进行金线缺陷分类。
2.根据权利要求1所述的基于深度学习的半导体芯片金线缺陷分类方法,其特征在于,所述数据集构建步骤还包括对所述数据集进行增广,得到增广后的数据集,所述神经网络训练步骤采用增广后的所述数据集对神经网络进行训练。
3.根据权利要求1所述的基于深度学习的半导体芯片金线缺陷分类方法,其特征在于,所述预处理步骤包括:
步骤S2.1、对得到的中心视角图进行二值化操作;
步骤S2.2、采用形态学滤波对二值化后的中心视角图进行图像增强;
步骤S2.3、对增强后的中心视角图进行边缘检测。
4.根据权利要求1所述的基于深度学习的半导体芯片金线缺陷分类方法,其特征在于,所述金线分割步骤包括:按照从左到右和从上到下的顺序分别将芯片上的N个金线命名为L1至LN,采用分割软件对单芯片的灰度图进行多边形或者点形式的标注,批量将枚芯片上的金线分别标注轮廓,通过分割模型进行分割。
5.根据权利要求1所述的基于深度学习的半导体芯片金线缺陷分类方法,其特征在于,还包括:
神经网络训练步骤:根据所述数据集对神经网络进行训练;
所述分类步骤利用训练后的神经网络对半导体芯片图进行金线缺陷分类。
6.一种基于深度学习的半导体芯片金线缺陷分类***,其特征在于,包括:
数据采集模块:利用光场相机拍摄芯片,得到中心视角图与深度信息,每个所述中心视角图包含两个完整的芯片;
预处理模块:对所述中心视角图进行分割,得到单芯片的灰度图;
金线分割模块:对单芯片的灰度图的金线分别标注轮廓;
数据集构建模块:结合所述深度信息对标注轮廓后的灰度图进行缺陷分类,得到数据集;
分类模块:利用所述数据集对半导体芯片图进行金线缺陷分类。
7.根据权利要求6所述的基于深度学习的半导体芯片金线缺陷分类***,其特征在于,所述数据集构建模块还包括对所述数据集进行增广,得到增广后的数据集,所述神经网络训练模块采用增广后的所述数据集对神经网络进行训练。
8.根据权利要求6所述的基于深度学习的半导体芯片金线缺陷分类***,其特征在于,所述预处理模块包括:
模块S2.1、对得到的中心视角图进行二值化操作;
模块S2.2、采用形态学滤波对二值化后的中心视角图进行图像增强;
模块S2.3、对增强后的中心视角图进行边缘检测。
9.根据权利要求6所述的基于深度学习的半导体芯片金线缺陷分类***,其特征在于,所述金线分割模块包括:按照从左到右和从上到下的顺序分别将芯片上的N个金线命名为L1至LN,采用分割软件对单芯片的灰度图进行多边形或者点形式的标注,批量将枚芯片上的金线分别标注轮廓,通过分割模型进行分割。
10.根据权利要求6所述的基于深度学习的半导体芯片金线缺陷分类***,其特征在于,还包括:
神经网络训练模块:根据所述数据集对神经网络进行训练;
所述分类模块利用训练后的神经网络对半导体芯片图进行金线缺陷分类。
CN202110626530.7A 2021-06-04 2021-06-04 基于深度学习的半导体芯片金线缺陷分类方法及*** Pending CN113554054A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110626530.7A CN113554054A (zh) 2021-06-04 2021-06-04 基于深度学习的半导体芯片金线缺陷分类方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110626530.7A CN113554054A (zh) 2021-06-04 2021-06-04 基于深度学习的半导体芯片金线缺陷分类方法及***

Publications (1)

Publication Number Publication Date
CN113554054A true CN113554054A (zh) 2021-10-26

Family

ID=78101990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110626530.7A Pending CN113554054A (zh) 2021-06-04 2021-06-04 基于深度学习的半导体芯片金线缺陷分类方法及***

Country Status (1)

Country Link
CN (1) CN113554054A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598815A (zh) * 2019-09-17 2019-12-20 西南科技大学 一种基于uhf无源rfid的金属结构健康检测方法
CN115375679A (zh) * 2022-10-24 2022-11-22 广东工业大学 一种缺陷芯片寻边寻点定位方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110060238A (zh) * 2019-04-01 2019-07-26 桂林电子科技大学 基于深度学习的pcb板标注印刷质量检测方法
CN110930390A (zh) * 2019-11-22 2020-03-27 郑州智利信信息技术有限公司 基于半监督深度学习的芯片管脚缺失检测方法
CN111429408A (zh) * 2020-03-11 2020-07-17 苏州杰锐思智能科技股份有限公司 一种封装芯片金线检测方法
CN112701060A (zh) * 2021-03-24 2021-04-23 惠州高视科技有限公司 半导体芯片焊线的检测方法及装置
CN112767399A (zh) * 2021-04-07 2021-05-07 惠州高视科技有限公司 半导体焊线缺陷检测方法、电子设备及存储介质
CN112816493A (zh) * 2020-05-15 2021-05-18 奕目(上海)科技有限公司 一种芯片打线缺陷检测方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110060238A (zh) * 2019-04-01 2019-07-26 桂林电子科技大学 基于深度学习的pcb板标注印刷质量检测方法
CN110930390A (zh) * 2019-11-22 2020-03-27 郑州智利信信息技术有限公司 基于半监督深度学习的芯片管脚缺失检测方法
CN111429408A (zh) * 2020-03-11 2020-07-17 苏州杰锐思智能科技股份有限公司 一种封装芯片金线检测方法
CN112816493A (zh) * 2020-05-15 2021-05-18 奕目(上海)科技有限公司 一种芯片打线缺陷检测方法及装置
CN112701060A (zh) * 2021-03-24 2021-04-23 惠州高视科技有限公司 半导体芯片焊线的检测方法及装置
CN112767399A (zh) * 2021-04-07 2021-05-07 惠州高视科技有限公司 半导体焊线缺陷检测方法、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周小萌: "基于深度学习的IC芯片外观缺陷识别算法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *
爱学习的数据喵: "泰迪杯论文B题(特等奖)", 《CSDN》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598815A (zh) * 2019-09-17 2019-12-20 西南科技大学 一种基于uhf无源rfid的金属结构健康检测方法
CN110598815B (zh) * 2019-09-17 2022-03-25 西南科技大学 一种基于uhf无源rfid的金属结构健康检测方法
CN115375679A (zh) * 2022-10-24 2022-11-22 广东工业大学 一种缺陷芯片寻边寻点定位方法及装置

Similar Documents

Publication Publication Date Title
CN108520274B (zh) 基于图像处理及神经网络分类的高反光表面缺陷检测方法
Cui et al. SDDNet: A fast and accurate network for surface defect detection
CN111179251B (zh) 基于孪生神经网络利用模板比对的缺陷检测***及方法
Wan et al. Ceramic tile surface defect detection based on deep learning
CN111415329B (zh) 一种基于深度学习的工件表面缺陷检测方法
KR20210132566A (ko) 딥 러닝을 기반으로 웨이퍼 결함 이미지를 이용하여 웨이퍼의 결함을 분류하는 방법 및 시스템
CN107966454A (zh) 一种基于fpga的端塞缺陷检测装置及检测方法
CN111932511B (zh) 一种基于深度学习的电子元器件质量检测方法与***
CN112150460B (zh) 检测方法、检测***、设备和介质
CN113554054A (zh) 基于深度学习的半导体芯片金线缺陷分类方法及***
CN110929795B (zh) 高速焊线机焊点快速识别与定位方法
Zhou et al. Review of vision-based defect detection research and its perspectives for printed circuit board
CN113781415B (zh) 一种x射线图像的缺陷检测方法、装置、设备及介质
CN113807378A (zh) 训练数据增量方法、电子装置与计算机可读记录介质
Zhou et al. DeepInspection: Deep learning based hierarchical network for specular surface inspection
CN115035081B (zh) 一种基于工业ct的金属内部缺陷危险源定位方法及***
CN114429445A (zh) 一种基于MAIRNet的PCB缺陷检测与识别方法
CN113076989A (zh) 一种基于ResNet网络的芯片缺陷图像分类方法
Xia et al. An efficient and robust target detection algorithm for identifying minor defects of printed circuit board based on PHFE and FL-RFCN
CN107507130A (zh) 一种快速的qfn芯片引脚图像获取与放大方法
CN113205511B (zh) 基于深层神经网络的电子元器件批量信息检测方法及***
CN113034432A (zh) 一种产品缺陷检测方法、***、装置及存储介质
Anitha et al. Solder Joint Defect Detection in PCBA Chip Components Based on the Histogram Analysis
TWI712991B (zh) 兼具自動化光學檢測及人工智慧檢測功能之瑕疵檢測方法及其裝置
US12020418B2 (en) Image processing method and system, and non-transitory computer readable medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20211026