CN115668286A - 训练自动缺陷分类的检测仪器的方法与系统 - Google Patents
训练自动缺陷分类的检测仪器的方法与系统 Download PDFInfo
- Publication number
- CN115668286A CN115668286A CN202180036832.7A CN202180036832A CN115668286A CN 115668286 A CN115668286 A CN 115668286A CN 202180036832 A CN202180036832 A CN 202180036832A CN 115668286 A CN115668286 A CN 115668286A
- Authority
- CN
- China
- Prior art keywords
- training
- classifier
- inspection
- images
- neural network
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000012549 training Methods 0.000 title claims description 205
- 238000001514 detection method Methods 0.000 title claims description 71
- 238000007689 inspection Methods 0.000 claims abstract description 154
- 238000013528 artificial neural network Methods 0.000 claims abstract description 111
- 238000013145 classification model Methods 0.000 claims abstract description 79
- 238000010801 machine learning Methods 0.000 claims abstract description 20
- 239000004065 semiconductor Substances 0.000 claims abstract description 17
- 238000003860 storage Methods 0.000 claims abstract description 8
- 230000002950 deficient Effects 0.000 claims description 90
- 230000006870 function Effects 0.000 claims description 69
- 238000012360 testing method Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 238000010200 validation analysis Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 8
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 6
- 238000013434 data augmentation Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 239000000758 substrate Substances 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 4
- 238000007747 plating Methods 0.000 claims description 4
- 239000002184 metal Substances 0.000 claims description 3
- 210000005036 nerve Anatomy 0.000 claims description 2
- 230000008569 process Effects 0.000 description 21
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000012795 verification Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 235000012431 wafers Nutrition 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000002161 passivation Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005305 interferometry Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/26—Testing of individual semiconductor devices
- G01R31/265—Contactless testing
- G01R31/2656—Contactless testing using non-ionising electromagnetic radiation, e.g. optical radiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/87—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2834—Automated test systems [ATE]; using microprocessors or computers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2894—Aspects of quality control [QC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30141—Printed circuit board [PCB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30148—Semiconductor; IC; Wafer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Electromagnetism (AREA)
- Toxicology (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Image Analysis (AREA)
Abstract
提供一种计算机实施方法、检测系统及非暂时性存储媒体,用于使用机器学习自动产生缺陷分类模型,所述缺陷分类模型用于检测半导体和/或印刷电路板(PCB)部件。缺陷分类模型由经训练的神经网络二元分类器与优化器的第一组合以及经训练的神经网络多类别分类器与优化器的第二组合自动建立。
Description
技术领域
本技术领域一般而言涉及用于自动缺陷检测的检测系统及方法,且更具体而言涉及用于对所检测的产品的缺陷进行自动分类的方法及系统。下文中呈现的方法及系统特别适用于检测半导体产品。
背景技术
制造工艺一般而言包括在工艺期间的不同里程碑(milestone)处对制造的部件进行自动化检测,且通常至少在制造工艺结束时进行。可使用对制造的部件进行光学分析并探测缺陷部件的检测系统进行检测。可使用不同的技术,例如结合激光三角测量(laser-triangulation)和/或干涉测量的照相机。自动化检测系统确保制造的部件符合预期的品质标准,并依据识别的缺陷的类型提供关于制造工具、仪器和/或成分所需调整的有用信息。
在半导体行业中,不同类型的部件使用相同的生产线(manufacturing line)是常见的,无论是为相同的还是不同的用户。因此,检测系统必须能够探测无缺陷部件与缺陷部件,以及所识别出的缺陷部件中存在的缺陷类型。缺陷的分类常常是费力的,且需要专家、检测系统及制造工艺的参与,以便能够调节及配置系统来正确地识别缺陷。用于调节现有缺陷类型及用于探测新缺陷类型的检测系统的配置在大多数情况下要求系统离线。半导体行业中的一种众所周知的缺陷探测方法包括将取得的图像与“掩模(mask)”或“理想的部件布局(ideal part layout)”进行比较,但此方法会遗漏许多未探测到的缺陷。
需要一种在自动检测产品时可帮助改善或促进对缺陷进行分类的过程的检测系统及方法。
发明内容
根据一方面,提供一种使用机器学习自动产生缺陷分类模型的计算机实施方法,所述缺陷分类模型用于在自动化检测系统中检测所制造的部件。所述方法包括以下步骤:获取由所述检测系统取得的部件的检测图像。所述检测图像与标签信息相关联,所述标签信息指示给定图像对应于无缺陷部件还是对应于缺陷部件且对于对应于缺陷部件(例如,半导体和/或印刷电路板(Printed Circuit Board,PCB)部件)的所述检测图像还指示缺陷类型。
所述方法也包括以下步骤:使用所述检测图像的第一子集来训练二元分类器判断所述检测图像对应于无缺陷部件还是缺陷部件。所述二元分类器使用神经网络架构与优化器的第一组合。所述二元分类器是通过所述第一组合中使用的神经网络架构的不同层的节点的权重以迭代方式进行更新而得到训练。
所述方法也包括以下步骤:使用所述检测图像的对应于缺陷部件的第二子集来训练多类别分类器判断在此前被所述二元分类器判断为对应于缺陷部件的所述检测图像中的所述缺陷类型。所述多类别分类器使用神经网络架构与优化器的第二组合。所述多类别分类器是通过所述第二组合的神经架构的不同层的节点的权重以迭代方式进行更新而得到训练。
一旦所述二元分类器及所述多类别分类器已经过训练,则建立或产生缺陷分类模型,其中配置档案定义所述神经网络架构与优化器的第一组合及所述神经网络架构与优化器的第二组合以及其等的参数。所述配置档案也包括来自所述二元分类器及来自所述多类别分类器的神经网络架构中的每一者的节点的最终经更新的所述权重。自动缺陷分类模型由此可由所述自动化检测系统用于探测缺陷部件以及用于识别所检测的制造部件上的缺陷类型。
在所述方法的可能实施方式中,训练所述二元分类器的步骤还包括如下的初始步骤:在所述检测图像的探索子集上自动地探索神经网络架构与优化器的不同组合。被选择用于所述二元分类器的所述第一组合对应于在探索步骤期间在识别无缺陷部件与缺陷部件方面提供最高精确度达给定数目个纪元(epoch)的组合。
在所述方法的可能实施方式中,训练所述多类别分类器的步骤还包括如下的初始步骤:使用检测图像的另一探索子集自动地探索神经网络架构与优化器的不同组合。为所述多类别分类器选择的所述神经网络架构与优化器的第二组合对应于在探索步骤期间在识别不同的缺陷类型方面提供最高精确度达给定数目个纪元的组合。
在所述方法的可能实施方式中,训练所述二元分类器的步骤还包括以下步骤:自动地探索不同的损失函数(loss function)及不同的学习速率调度程序(learning ratescheduler)。所述第一组合还通过损失函数及在探索阶段期间与所述神经网络架构与所述优化器一起在探测无缺陷部件与缺陷部件方面提供最高精确度达所述给定数目个纪元的学习速率调度程序来定义。所述损失函数及所述学习速率的选择是自动进行的。所述缺陷分类模型的所述配置档案还包括来自所述二元分类器的所选择的所述损失函数及所述学习速率调度程序的参数。
在所述方法的可能实施方式中,训练所述多类别分类器的步骤还包括以下步骤:自动地探索所述不同的损失函数及所述学习速率调度程序。所述第二组合还通过所述损失函数及在探索阶段期间与所述神经网络架构及所述优化器一起在识别所述缺陷类型方面提供最高精确度达所述给定数目个纪元的所述学习速率调度程序来定义。所述缺陷分类模型的所述配置档案还包括来自所述多类别分类器的所选择的所述损失函数及所述学习速率调度程序的参数。
在所述方法的可能实施方式中,经更新的所述权重以及所选择的所述神经网络架构、所述优化器、所述损失函数及所述学习速率调度程序的所述参数被打包于可由所述自动化检测系统加载的所述配置档案中。
在所述方法的可能实施方式中,所述不同的神经网络架构包括以下神经网络架构中的至少一者:ResNet34、NesNet50、ResNet101、ResNet152、WideResNet50、WideResNet101、IncptionV3及InceptionResNet。
在所述方法的可能实施方式中,所述不同的优化器包括以下中的至少一者:Adam优化器及SGD优化器。
在所述方法的可能实施方式中,所述不同的损失函数包括以下中的至少一者:交叉熵(cross entropy)损失函数及NII损失函数。
在所述方法的可能实施方式中,所述不同的速率学习调度程序包括以下中的至少一者:衰减速率调度程序及循环速率调度程序。
在所述方法的可能实施方式中,所述自动化检测系统被训练成探测以下产品中的至少一者上的不同的缺陷类型:半导体封装、晶片、面单PCB、双面PCB、多层PCB及基板。
在所述方法的可能实施方式中,所述缺陷类型包括以下中的一或多者:镀覆不足、异物、部件不完整、裂纹、污迹、异常电路、抗蚀剂残留、变形、划伤、簇集及金属膜残留。
在所述方法的可能实施方式中,获取所述检测图像包括:经由图形用户界面取得一系列一或多个其中存储有所述检测图像的图像文件夹。
在所述方法的可能实施方式中,所述二元分类器及所述多类别分类器的训练是响应于经由图形用户界面进行的输入而启动的。
在所述方法的可能实施方式中,通过经由所述图形用户界面取得的输入来控制所述二元分类器及所述多类别分类器的训练以暂停、中止或恢复所述训练。
在可能的实施方式中,所述方法包括以下步骤:验证所述检测图像的总数目是否足以启动所述二元分类器的所述训练,且如果足以启动,则判断与每一缺陷类型相关联的检测图像的数目是否足以启动所述多类别分类器的所述训练,由此使得仅针对每一缺陷类型具有足够数目个检测图像的缺陷类型来启动所述多类别分类器所述训练。
在可能的实施方式中,所述方法包括:当与给定缺陷类型相关联的检测图像的数目不足时,使用数据扩增算法(data augmentation algorithm)增大所述给定缺陷类型的检测图像的所述数目。
在可能的实施方式中,所述方法包括:在训练所述二元分类器及所述多类别分类器之前,针对所述第一子集及所述第二子集中的每一者将所述检测图像自动地分成至少训练数据集及验证数据集。所述训练数据集是在训练期间用于设定所述神经网络架构与优化器的所述第一组合的初始参数及所述神经网络架构与优化器的所述第二组合的初始参数。所述验证数据集用于在所述二元分类器及所述多类别分类器的所述训练期间验证且进一步调整所述节点的所述权重。
在可能的实施方式中,所述方法包括:一旦所述二元分类器及所述多类别分类器已经过训练,自动地将所述检测图像分成测试数据集以用于确认所述第一组合及所述第二组合的所述参数及所述权重。
在所述方法的可能实施方式中,用于在每一训练迭代中训练所述二元分类器及所述多类别分类器的检测图像的数目是根据实行所述训练的处理器的可用物理资源而动态地改变。
在所述方法的可能实施方式中,在每次迭代中通过所述二元分类器及所述多类别分类器的所述数目个检测图像被集束成预定批大小,所述预定批大小被进行测试直至所述处理器可应对可接受的批大小。
在所述方法的可能实施方式中,所述二元分类器及所述多类别分类器的所述训练是通过将所述检测图像以相继的批馈送至分类器来实行,且其中每一批中的检测图像的数目是根据处理资源的可用性而动态地调整。
在所述方法的可能实施方式中,获取所述检测图像包括扫描图像服务器并在图形用户界面上显示包括机器识别符、用户识别符、配方识别符及批次或装置识别符的文件夹架构的表示形式以供用户选择。
在可能的实施方式中,所述方法包括:在将所述检测图像复制至训练服务器之前核验所述检测图像是否早已存储于所述训练服务器上。
根据另一方面,提供一种通过机器学习而自动产生缺陷分类模型的自动化检测系统,每一模型适于检测特定的部件类型。不同的缺陷分类模型可用于检测不同类型的制造部件,例如半导体和/或印刷电路板(PCB)部件。系统包括:一或多个专用服务器,包括处理器及数据存储体,所述数据存储体上存储有。所述系统也包括:获取模块,用于获取由所述检测系统取得的部件的检测图像,其中所述检测图像与标签信息相关联,所述标签信息指示给定图像对应于无缺陷部件还是缺陷部件且对于对应于缺陷部件的所述检测图像还指示缺陷类型。
所述系统也包括:训练应用,包括:二元分类器,可使用所述检测图像的第一子集通过对用于所述二元分类器的神经网络架构的节点的权重以迭代方式进行更新来进行训练以判断所述检测图像对应于无缺陷部件还是缺陷部件。所述二元分类器使用神经网络架构与优化器的第一组合。所述训练应用也包括:多类别分类器,可使用所述检测图像的对应于缺陷部件的第二子集以判断此前被所述二元分类器判断为对应于缺陷部件的所述检测图像中的所述缺陷类型。所述多类别分类器使用神经网络架构与优化器的第二组合。多类别分类器通过用于所述多类别分类器的神经网络架构的节点的权重以迭代方式进行更新而得到训练。
所述训练应用包括用于从经训练的所述二元分类器及经训练的所述多类别分类器产生缺陷分类模型的算法,所述缺陷分类模型由配置档案进行定义。所述配置档案包括所述神经网络架构与优化器的第一组合的参数及所述神经网络架构与优化器的第二组合的参数以及每一神经网络架构的所述节点的经更新的所述权重。所述自动缺陷分类模型由此可由所述自动化检测系统用于探测所检测的其他部件上的缺陷。
在所述系统的可能实施方式中,所述数据存储体还存储探索模块、第一组不同的神经网络架构及第二组优化器。所述探索模块被配置成在所述检测图像的探索子集上探索神经网络架构与优化器的不同组合来用于训练所述二元分类器。所述探索模块还被配置成为所述二元分类器自动地选择在探测无缺陷部件与缺陷部件方面提供最高精确度达给定数目个纪元的所述神经网络架构与优化器的第一组合。
在所述系统的可能实施方式中,所述探索模块还被配置成在所述检测图像的所述探索子集上探索神经与优化器的不同组合来用于训练所述多类别分类器。所述探索模块还被配置成为所述多类别分类器自动地选择在识别缺陷类型方面提供最高精确度达给定数目个纪元的所述神经网络架构与优化器的第二组合。
在可能的实施方式中,所述系统包括图形用户界面,所述图形用户界面容许用户选择其中存储有所述检测图像的一或多个图像文件夹并响应于经由所述图形用户界面进行的输入而启动所述自动缺陷分类模型的产生。
在可能的实施方式中,所述系统包括数据库,所述数据库存储由所述检测系统取得的部件的所述检测图像以及存储指示给定图像对应于无缺陷部件还是缺陷部件且对于对应于缺陷部件的所述检测图像还指示缺陷类型的所述标签信息。
在系统的可能实施方式中,所述一或多个专用服务器的所述数据存储体还存储预处理模块,所述预处理模块用于验证检测图像的总数目是否足以启动所述二元分类器及所述多类别分类器的所述训练且用于将所述图像复制至所述数据库并处理所述图像,例如通过使用数据扩增算法来处理所述图像。
根据又一方面,提供一种非暂时性存储媒体。所述非暂时性存储媒体上面存储有计算机可读取指令,所述计算机可读取指令用于使处理器:
获取由检测系统取得的部件的检测图像,其中所述检测图像与标签信息相关联,所述标签信息指示给定图像对应于无缺陷部件还是缺陷部件且对于对应于缺陷部件的所述检测图像还指示缺陷类型,
使用所述检测图像的第一子集来训练二元分类器判断所述检测图像对应于无缺陷部件还是缺陷部件,所述二元分类器使用神经网络架构与优化器的第一组合,
使用所述检测图像的对应于缺陷部件的第二子集来训练多类别分类器判断此前被所述二元分类器判断为对应于缺陷部件的所述检测图像中的所述缺陷类型,所述多类别分类器使用神经网络架构与优化器的第二组合,以及
从经训练的所述二元分类器及从所述多类别分类器产生缺陷分类模型,所述缺陷分类模型包括所述神经网络架构与优化器的第一组合的配置设定及所述神经网络架构与优化器的第二组合的配置设定,自动缺陷分类模型由此可由自动化检测系统用于探测所检测的其他部件上的缺陷。
参照附图,根据阅读本发明的优选实施例,将更优选地理解本发明实施例的其他特征及优点。
附图说明
图1是根据用于自动产生供自动化检测系统使用的缺陷分类模型的方法及系统的可能实施例由预处理模块实行的步骤的流程图。
图2是根据所述方法及系统的可能实施例由训练应用实行的步骤的流程图。
图3是根据所述方法及系统的可能实施例由后处理模块实行的步骤的流程图。
图4是根据可能的实施例的用于取得包含供训练应用使用的训练图像的图像文件夹的选择的图形用户界面(graphical user interface,GUI)。
图5是用于监视及控制训练过程(例如暂停、中止或恢复训练)的图形用户界面(GUI)。
图6是根据可能的实施例的用于自动产生缺陷分类模型的系统的示意性例示,所述缺陷分类模型用于制造部件的自动化检测系统中。
图7是根据可能的实施例的计算机网络的示意性例示,所述计算机网络包括计算机或服务器以及数据存储体且是自动化部件检测系统的一部分或链接至自动化部件检测系统。
应注意,附图仅示出本发明的示例性实施例,且本发明可允许其他同等有效的实施例,因此不应被解释为对其范围进行限制。
具体实施方式
在下面的说明中,附图中相似的特征被赋予相似的参考编号,且为了不过度妨碍附图,如果一些元件已经在前面的附图中被识别出,则这些元件可能不会在一些附图中被示出。本文中应理解,由于重点在于清楚地示出元件及元件之间的相互作用而附图的元件并非是按比例绘制的。
本申请中阐述的自动缺陷分类系统、方法及软件应用涉及自动化2D和/或3D检测及计量仪器。申请人已将使得可使用所提出的用于自动产生缺陷分类模型的系统的不同的检测系统(例如,半导体封装检测系统(GATS-2128、GATS-6163等)、印刷电路板检测系统(STAR REC、NRFEID)、光学视觉检测系统(晶片或基板凸块检测系统)等)商业化。参照图1至图6阐述的示例性系统及过程特别适用于半导体及PCB产品的检测,但是所提出的系统及方法可用于其他应用中以及用于需要部件的自动化检测的其他行业,仅作为实例例如汽车行业。除了激光三角测量之外,所提出的缺陷分类系统也可适用于不同的自动化视觉检测系统。
对于半导体检测而言,现有的光学检测系统常常包括离线缺陷探测时期,在此阶段中由人类操作员手动地将探测到的缺陷分类为特定产品或特定用户类别。也存在设置有自动人工智能(artificial intelligence,AI)/机器学习(machine learning,ML)分类器的系统,所述自动AI/机器学习分类器分析由检测照相机生成的图像并实时地将缺陷分配给预定义的类别。然而,这些系统难以配置,且常常需要数据专家和/或人工智能专业人员以可正确地调节分类器。另外,通常使用预定义的ML模型,且根据需要探测的缺陷的类型它们并不总是最优选的。
根据本发明的一方面,提供一种基于自动化人工智能(AI)的缺陷分类系统。当与自动缺陷分类模型结合时,如下文将更详细阐述所示,检测系统可提供更高的测量精确度且可降低检测成本并减少整个检测过程中的人为错误。
所提出的系统及方法允许自动产生用于自动化部件检测系统中的一或多个缺陷分类模型。使用所提出的系统及方法,无论检测系统是在线还是离线,用户(例如,不具有AI知识或AI知识有限的机器操作员)可建立新的探测分类器模型或更新现有的模型。所提出的系统及方法可建立或更新不同产品类型(例如,晶片、各别晶粒、基板或集成电路(integrated circuit,IC)封装)的分类模型。因此,对于不同的产品,所提出的系统及方法极大地简化了探测缺陷类型的检测系统的训练。在一些实施方式中,所提出的分类训练系统可探测向其呈现的部件和/或缺陷的类型的变化,且可调整其缺陷分类模型,而不存在或只有有限的用户干预。人类操作员(例如,工艺工程师)可能仍然需要在将模型推送至在线检测系统之前对所述模型进行验证,但是训练过程被极大地简化了。触发创建新分类模型或调整现有分类模型的条件是多样的且包括:
i.例如针对来自耗尽缺陷类别(即,没有足够的图像来正确地调节或配置分类模型的类别)的缺陷取得的新图像,
ii.类别标签的变化(其中标签可对应于缺陷部件或无缺陷部件或者对应于缺陷的类型),iii.待检测的新产品(需要建立新的分类模型),
iv.已排程的再训练,以及
v.品质保证机制探测到的分类模型漂移。
在可能的实施例中,所提出的系统及方法可从现有的机器学习(ML)模型的列表自动选择要使用的最合适的模型,且可使用简单的网格搜寻技术来实现与所述模型相关联的超参数的调节。
在优选实施例中,所提出的系统及方法也具有在专用服务器上实施的优点。因此,所提出的系统及方法可在封闭的环境中实施而不必存取任何基于AI云的平台。因此,所提出的自动化分类训练可在隔离的环境中(例如在其中没有或限制网络存取的工厂中)实行。
术语“处理装置(processing device)”包括被配置及适用于接收、存储、处理和/或传输数据(例如,标记的图像及机器学习模型)的计算机、节点、服务器和/或专化电子装置(specialized electronic device)。“处理装置”包括处理器,仅作为实例例如微控制器和/或微处理器、中央处理器(central processing unit,CPU)及图形处理单元(graphicsprocessing unit,GPU)。处理器与数据存储体(也称为“存储器”或“存储媒体”)结合使用。数据存储体可存储要处理的指令、算法、规则和/或图像数据。存储媒体包括易失性或非易失性/持久性存储器,仅作为实例例如寄存器、高速缓存、随机存取存储器(random accessmemory,RAM)、快闪存储器、只读存储器(read only memory,ROM)。当然,存储器的类型是根据期望的用途(是应保留指令还是临时存储、保留或更新数据)来选择的。在图7中呈现作为自动化检测系统的一部分或链接至自动化检测系统的架构的示意性表示,其中所述架构包括此种处理装置及数据存储体。
通过“分类器(classifier)”指代机器学习算法,其功能是对数据(例如,数字图像)所属的类别或标签进行分类或预测。“分类器”是一种特殊类型的机器学习模型。在一些例子中,分类器是为数据点(data point)分配类别标签的离散值函数。在本申请中,数据点源自于数字检测图像。“二元分类器(binary classifier)”以给定的精确度及确定性预测给定的数据集属于哪两个“类别(class)”。对于制造部件检测而言,类别可为“合格(pass)”或“不合格(fail)”。“多类别”分类器以给定的精确度及确定性来预测给定数据集属于多个类别中的哪一者。
通过“缺陷分类模型(defect classification model)”或“模型”指代机器学习模型。在本说明中,缺陷分类模型是与优化器(optimizers)、损失函数(loss functions)及学习速率调度程序(learning rate schedulers)结合使用的经训练的分类器的组合,优化器、损失函数及学习速率调度程序的参数在分类器的训练期间也经过调整。
通过“神经网络架构(neural network architecture)”(也简称为“神经网络”)指代基于分层结构的连接节点(也称为“人工神经元(artificial neuron)”或“感知器(perceptron)”)的集合的特定类型的机器学习模型(或算法)。给定层的节点与相邻层的节点互连,且为节点之间的连接分配权重(weight)。偏差代表预测与预期值的差距。偏差可看作是节点的输入与其输出之间的差异。存在不同的神经网络架构,包括卷积神经网络(convolutional neural networks)、递归神经网络(recurrent neural networks)等。神经网络架构的更具体的实例包括ResNet及Inception架构。
通过“损失函数(loss function)”指代算法函数,所述算法函数测量模型或分类器所做的预测与实际值的差距。损失函数返回的数字越小,分类器的预测就越准确。
通过“优化器(optimizer)”指代将损失函数与分类器参数联系起来的算法,以响应于损失函数的输出来更新分类器的节点的权重。换言之,优化器更新神经网络架构的节点的权重以将损失函数最小化。
通过“学习速率调度程序(learning rate scheduler)”指代通过根据预定义的调度降低在训练机器学习分类器期间的学习速率来调整所述学习速率的算法。学习速率是响应于估计的错误来控制分类器需要改变多少(通过调整权重)的超参数(hyperparameter)。
通过“纪元(epoch)”指代整个数据集历经机器学习模型或架构的经过数或循环数。“纪元”是数据集对机器学习算法的一次完整呈现。
参照图1至图7,将阐述所提出的系统600(在图6中识别出)。所述系统一般包括:预处理模块,以准备将用于建立或调整缺陷分类模型(图1中所示)的检测图像;训练应用,可经由训练应用程序界面(Application Programming Interface,API)进行存取,所述训练应用通过训练二元分类器及多类别分类器基于经标记的及经处理的训练图像(图2)来创建或建立缺陷分类模型;以及后处理模块(图3),管理所创建的分类模型并使用新的/经调整的分类模型更新检测系统606。
在图6中示出系统600的可能的实施方式。系统600包括获取模块610,以利用2D照相机或3D照相机获取由检测系统606取得的检测图像。检测系统606经由服务器604操作,服务器604运行检测系统应用且包括数据库或数据存储体来存储检测图像。因此,检测图像首先被存储于检测系统数据库608中,并使用缺陷分类应用618对检测图像进行分类或标记,其中标签信息指示部件是否有缺陷,且如果有缺陷,则标签信息指示缺陷类型。另一计算机或服务器602运行训练应用614,且提供可由检测系统606存取的训练-API。服务器602包括一或多个处理器来运行训练应用614。服务器602包括用于存储应用的计算机可读取指令的非暂时性数据存储体。提供允许探索分类器的不同组合的探索模块612作为训练应用614的一部分。系统600优选为包括其自己的训练数据库616,以存储当建立或更新缺陷分类模型时可使用的不同的分类器、优化器、损失函数及速率调度程序以及这些机器学习算法的配置设定及参数。
预处理
图1示意性地示出作为所提出的系统的一部分的可能的预处理模块10。预处理模块一般准备将被训练应用使用的训练数据集。训练数据集一般包括被标记的检测图像,即已标注或标记有检测信息(例如“无缺陷(non-defective)”或“缺陷(defective)”或具有特定“缺陷类型(defect type)”)的图像。在步骤104处,可触发或激活所提出的系统以获取由检测系统的照相机取得的检测图像,用于扫描存储检测图像及与其相关联的标签或类别信息的一或多个服务器。类别或标签可为例如0表示无缺陷部件,而数字1至n表示n种不同的缺陷类型,例如1表示镀覆不足缺陷、2表示异物缺陷、3表示部件不完整、4表示pi裂纹等。可存在任意数目的缺陷类型,例如5至100种不同的缺陷类型。因此,标签可为用于标注或提供指示图像内容(例如图像是对应于缺陷部件还是无缺陷部件,且对于缺陷部件,则对应于缺陷的类型)的任何字母数字指示符。通常,由光学检测取得的大多数检测图像对应于无缺陷部件,除非制造工艺存在问题。因此,由光学检测系统产生的检测图像的大部分被标记为无缺陷或无缺陷标签(或类别)或与无缺陷或无缺陷标签(或类别)相关联。检测图像的一小部分(例如通常处于0.01%至10%之间)仅作为实例对应于缺陷部件。在此情况下,需要根据缺陷类型对检测图像进行特别标记或分类。如图6中所示,存储检测图像的所述一或多个服务器(参考数字604)是检测系统(图6中的数字606)的一部分或链接至检测系统。一或多个计算机或服务器604的可能的架构的示意性表示在图7中进一步详述,其中所述架构包括处理装置(例如,经由仪器前端模块(Equipment Front End Module,EFEM)提供图形用户界面的2D个人计算机(PC)、3D处理PC及3D GPU PC)以及数据存储体608。2D照相机及3D照相机使用2D帧获取器(frame grabber)或3D帧获取器取得检测图像,且图像由计算机或服务器604的CPU和/或GPU进行处理并存储于检测系统数据库608中。应注意,在图6及图7中示出的架构仅是示例性的,且其他布置是可能的。举例而言,管理及存储图像的服务器604及训练服务器602可组合为单个服务器,所述单个服务器也可对应于检测系统的服务器。包括图像存储及管理、训练及部件检测的不同的功能及应用可从一或多台服务器/计算机上运作。
在图1至图7中呈现的示例性实施例中,检测图像是半导体或PCB部件(例如,半导体封装、硅晶片或其他材料的晶片、单面PCB、双面PCB、多层PCB、基板等)的图像。仅作为实例,缺陷类型可包括:镀覆不足(under plating)、异物、不完整部件、裂纹、污迹、异常电路、抗蚀剂残留物(resist residue)、变形、划痕、异常钝化(abnormal passivation)、簇集(cluster)、金属膜残留物等。此缺陷列表当然不是详尽无遗的,由于缺陷的数目及类型可能根据所检测部件的类型而不同。
在示例性实施例中,所述一或多个服务器604将检测图像存储于文件夹中,所述文件夹根据给定的文件夹结构以不同的文件夹等级(例如机器名称、用户名称、配方或部件及批次)组织。参照图4示出文件夹结构的示例性实施例,其中服务器的文件夹结构408通过图形用户界面(GUI)400来呈现。GUI示出与所述一或多个服务器的文件夹结构一致的文件夹结构,所述文件夹结构允许由训练应用使用的一系列的训练图像用于再训练或创建/建立新的缺陷分类模型。因此,按照步骤102,优选为周期性地扫描图像文件夹结构或树状结构。在步骤106(图1)处,经由GUI呈现给用户的文件夹结构408可由系统动态地更新,以对应于服务器604的最新更新的文件夹结构及内容。由于所提出的系统及方法允许建立新的分类模型和/或调整现有的分类模型,当检测系统运作(在线)时,由于当通过GUI选择及取得检测图像时可连续取得新的检测图像用于分类模型的训练,因而通过GUI呈现的文件夹结构可优选地反映图像存储服务器的当前状态。
仍然参照图1,在步骤108处,包含检测图像的文件夹可被选择用于再训练和/或创建新的分类模型,且系统使用通过GUI取得的选择用于提取及加载要用于训练步骤的图像。因此,系统经由GUI接收包含用于训练的检测图像的一系列文件夹,如图4中所示。在可能的实施例中,作为选择所有更低等级的文件夹(即所有“批次”文件夹)的方式,选择可包括更高等级的文件夹(例如“部件”文件夹)。
分类模型的训练可通过GUI进行输入来启动(例如经由图4中的按钮404),对应于图1的步骤112。如果需要,GUI也允许通过停止或恢复训练来控制训练过程(图4上的按钮406。)在开始/启动步骤112,优选为计算或计数所选择的检测图像的总数目并显示在GUI上(参见图4,窗格402)。为了再训练或创建分类模型,需要最少数目的训练检测图像。出于相同的原因,即为了确保已经收集了最少数目的图像用于适当的训练和/或为不同的缺陷类型创建缺陷分类器,系统也优选地计算用于每一缺陷类型的所选择的检测图像的数目。每一缺陷类型需要最小数目的图像,以防止分类模型中的偏差,此将在下面更详细地阐释。如果对于给定的缺陷没有达到图像的最小数目,则在开始建立分类模型之前,优选为从选择中丢弃对应于所述缺陷的检测图像。当达到最小数目的图像时(如上文第4页第i)段中所述),与被丢弃的缺陷类型相关联的检测图像最终可用于训练。因此,预处理模块验证检测图像的总数目是否足以启动二元分类器(其将用于探测合格或不合格(即,缺陷部件对无缺陷部件))的训练,且如果足以启动,则与每一缺陷类型相关联的检测图像的数目是否足以启动多类别分类器(其将用于探测不同的缺陷类型)的训练,由此仅针对具有足够数目的检测图像的缺陷类型启动多类别分类器训练。
仍然参照图1,步骤110因此优选为在步骤112之前实行。所述系统可计算所选择的检测图像的总数目,且另外为每一缺陷类型提供所选择的检测图像的总数目,通过GUI向用户显示结果。在确认所选择的检测图像的数目满足最小训练要求之后,步骤112可由用户经由GUI进行输入(例如使用按钮402)来触发,如图4中所示。在其中检测图像的数目不足以进行训练的情况下,可向用户显示消息,请求检测图像的新选择。
在步骤114处,优选为如图6中识别出的在被转移及存储于训练服务器602上之前,对所选择的检测图像进行预处理。图像预处理可包括从检测图像获取相关信息并根据本领域中众所周知的技术对图像进行变换,例如图像裁剪、对比度调整、直方图均衡化、二值化、图像标准化和/或标准化。应注意,在示例性实施例中,使用不同的服务器,例如与检测系统相关联的服务器604及与训练应用相关联的训练服务器602。因此,选择的用于训练的检测图像从服务器604被复制并转移至服务器602。然而,在其他实施例中,可设想使用相同的服务器,其中服务器的存储器被分区用于存储在线检测图像以及用于存储所选择的训练图像。
仍参照图1,在步骤116处,所述系统存储检测图像信息并在与训练服务器602相关联或作为训练服务器602的一部分的数据库中实行校验检验。此验证步骤使得能够避免在训练服务器上复制图像,由此在数据库中复制新图像之前验证每一图像的唯一性。根据步骤118,还未存储于训练服务器上的检测图像(如步骤120处所识别的)被更新或复制至训练服务器。
优选为,一旦检测图像已经被转移至训练服务器602,则检测图像被划分或分成至少训练数据集及验证数据集。因此,所述系统被配置成在训练二元分类器及多类别分类器之前,针对图像的第一子集及第二子集中的每一者将检测图像自动分成至少训练数据集及验证数据集。第一子集将包括用于训练二元分类器的图像(即,第一子集包括标记为缺陷及无缺陷的图像),且第二子集将包括第一子集的标记为缺陷的图像并进一步标记缺陷类型。将在进行用于使用优化器来调整或改变神经网络架构的不同层的节点的权重训练期间使用训练数据集中的图像,以将损失函数的输出减少或最小化。然后,验证数据集将用于测量使用在二元分类器及多类别分类器的训练期间确定的经调整的权重的模型的精确度。
训练数据集(training dataset)及验证数据集(validation dataset)将交替用于训练及调整分类器的节点的权重。更优选为,检测图像被分成三个数据集(dataset),如前所述的训练数据集及验证数据集以及第三个“测试(test)”或“最终验证(finalvalidation)”数据集,所述“测试”或“最终验证”数据集一旦被训练则用于验证分类模型的最终状态。换言之,一旦被训练,则系统所使用的测试数据集用于确认二元分类器及多类别分类器的神经网络架构的最终权重。
训练
图2示意性地示出由训练应用(或训练模块)实行的用于自动建立缺陷分类模型的训练过程的步骤,每一模型适于特定的制造工艺、部件模型或客户要求。训练应用是存储于服务器602(在图6中识别出)上的软件程序,所述软件程序包括不同的子模块。训练模块由状态机器支配,所述状态机器验证在给定时刻是否允许调用动作(caller action)(包括例如中止、初始化、训练、暂停、成功或失败/异常等动作)。训练模块包括训练-API,训练-API包括管理训练课程的编程功能。仅作为实例,训练-API cab的功能包括初始化功能、恢复功能、开始功能、暂停功能、中止功能、评估功能、获取状态(getStatus)、获取性能(getPerformance)及获取训练性能(getTrainingPerformance)功能。初始化功能通过核验第一数据集及第二数据集的内容来准备每一训练循环,所述第一数据集及第二数据集包括例如确认所有类别均具有足够的样本图像,即每一类别中的图像的数目高于给定的阈值且用于训练每一分类器的探索、训练、验证及测试图像子集具有预定义的大小。初始化模块也使用先前建立的模型的参数或者使用每一分类器的预定义或随机权重来初始化要建立的缺陷分类模型。因此,在开始训练时,加载包括所述神经网络架构与优化器的第一组合及所述神经网络架构与优化器的第二组合的初始参数的配置档案。配置档案可采用不同的格式,例如(举例而言).JSON格式。仅作为实例,初始配置档案可包括例如在训练期间要加载的分类器模型、在训练期间要加载的优化器(包括要使用的学习率衰减因子)、在不平衡的类别样本的情况下要使用的扩增数据算法、必须保持稳定精确度的纪元的数目等字段。开始函数将开始训练过程,且训练操作将使用初始配置档案的不同字段部分的参数来开始。评估功能将对照检测图像的评估数据集对经训练的缺陷分类模型进行评估,并将返回以百分比(即,正确预测的百分比)表示的平均精确度。
因此,可由检测系统经由训练-API调用的训练应用将最初加载或包括:二元分类器,可被训练以判断检测图像是对应于无缺陷部件还是缺陷部件(由图2的左侧上的步骤208及214表示);以及多类别分类器(也可被称为“缺陷类型分类器,并由图2的右侧上的步骤210及216表示),其可被训练以确定已被二元分类器确定为缺陷的检测图像中的缺陷类型。
通过“训练(training)”分类器表示对于给定数目的试验(或纪元),形成分类器(二元或多类别)的不同层的节点的权重以迭代方式进行调整以将分类器的预测的精确度最大化。结合神经网络架构选择的优化器在训练期间使用用于以迭代方式调整节点的权重。一旦被训练,则设定与分类器的所述多个节点相关联的权重并定义可用于自动化部件检测的分类模型。
因此,为创建新的分类模型和/或调整现有模型而选择的检测图像形成第一子集(分成训练子集、验证子集及测试子集以及可选的探索子集),以训练二元分类器,且已被确定为缺陷的检测图像形成检测图像的第二子集,用于训练多类别分类器。
所提出的系统及方法在以下方面特别有利:神经网络算法与优化器算法的不同组合可用于二元分类器及多类别分类器。此外,可通过探索阶段(exploration phase)(此将在下面更详细地阐释)来确定针对二元分类器及多类别分类器的神经网络架构与优化器的最优选组合。
因此,二元分类器可使用神经网络(neural network,NN)架构与优化器的第一组合,而多类别分类器可使用神经网络架构与优化器的第二组合。应注意,二元分类器可为另一类型的分类器,例如决策树(decision tree)、支持矢量机器(support vector machine)或朴素贝叶斯分类器(bayes classifier)。优选为,第一组合及第二组合可进一步包括一系列的损失函数算法及相关联的学习速率因子。第一组合及第二组合可相同或不同,但是实验已表明,一般而言当二元分类器及多类别分类器的所述神经网络架构与优化器的第一组合及所述神经网络架构与优化器的第二组合不同时,得到更优选的结果。作为实例,二元分类器的神经网络架构与优化器的第一组合可为ResNet34架构及Adam优化器,而多类别分类器的神经网络与优化器可为ResNet152架构及SGD优化器。
仍参照图2,在步骤202处,对于相同缺陷类型,与其相关联的所述检测图像的数目不足以训练缺陷分类模型或者与其他缺陷类别相比太少,可对与所述相同缺陷类型相关联的检测图像实行数据扩增。此步骤用于平衡缺陷类型中的每一者的图像的数目,以提高训练精确度并避免偏差,否则与其他类型的缺陷相比将相对于具有更多数目的检测图像的缺陷类型而产生偏差。数据扩增算法对给定的训练检测图像应用随机变换,因此创建新图像以增加给定类别中的图像的数目。变换可为空间变换(例如,旋转或翻转图像),但其他类型的变换是可能的,仅作为实例包括改变像素的红绿蓝(Red Green Blue,RGB)值。
在步骤204处,训练API动态地加载初始配置档案(或训练初始设定),所述初始配置档案可包含各种训练参数,例如(举例而言)用于训练二元分类器的神经网络架构与优化器的第一组合(步骤214)以及用于训练多类别分类器的神经网络架构与优化器的第二组合(步骤216)。配置档案和/或训练设定可还包含用于二元分类器及多类别分类器训练的损失函数算法的指示(对于两个分类器可不同或相同)以及用于二元分类器及多类别分类器的训练的学习速率调度程序算法(及因子)的指示(对于两个分类器也可不同或相同)。仅作为实例,二元分类器和/或多类别分类器可使用的不同的神经网络架构可包括:NesNet50、ResNet101、ResNet152、WideResNet50、WideResNet101、IncptionV3及InceptionResNet。可用于训练二元分类器和/或多类别分类器的优化器算法的实例可包括Adam优化器及随机梯度下降(Stochastic Gradient Descent,SGD)优化器。损失函数算法的实例可包括交叉熵(cross-entropy)损失函数及NII损失函数,且学习速率调度程序算法的实例可包括衰减调度程序及循环速率调度程序。初始配置档案也可可选地包括分类器的每一节点的权重。
上述神经网络架构、优化器、损失函数及学习速率调度程序的实例并非详尽的,且本发明可使用不同类型的架构、优化器、损失函数及学习速率调度程序。除了上述参数之外,训练参数与设定的第一组合及第二组合也可包括其他类型的参数,例如纪元的数目。优选为配置档案(或训练设定)可被更新成添加或移除任意数目的神经网络架构、优化器、损失函数及学习速率调度程序。
所提出的方法及系统的优点也在于,在可能的实施方式中,在完全训练二元分类器及多类别分类器之前,可尝试或探索不同类型的神经网络架构与优化器,以便为给定的产品或制造部件类型选择架构与优化器的最优选或更精确的组合。换言之,所提出的方法及系统可包括尝试及探索神经网络与优化器(以及同样可能的损失函数及学习速率调度程序)的不同组合的步骤,用于训练二元分类器,且也用于训练多类别分类器,以选择“最优选”或“最优”组合来完全训练二元分类器、及多类别分类器(即提供最高精确度的组合)。仍参照图2,在训练步骤212之前实行探索或试验步骤206。在步骤208处,系统对二元分类器及多类别分类器二者,在训练检测图像的缩减子集上测试(或探索/尝试)神经网络与优化器的不同组合以及优选地还测试损失函数与学习速率调度程序的不同组合达给定数目个纪元。在探索时期之后,为二元分类器选择具有最优选分类精确度的第一组合。
探索神经网络与优化器的不同组合的初始步骤的目的是识别及选择一对神经网络与优化器,所述一对神经网络与优化器为检测图像的给定子集提供最高精确度。更具体而言,探索神经网络与优化器的不同组合可包括使用神经网络与优化器的不同对来发起几个较短的训练课程,并对在缩减的数据集(即,探索数据集)上尝试的每一对记录性能(即,精确度)。举例而言,在使用给定的二元分类器与优化器的组合建立缺陷分类模型之前,尝试n对不同的神经网络与优化器,例如作为神经网络的ResNet34与作为优化器的Adam、作为神经网络的InsceptionResNet与作为优化器的梯度下降(Gradient Descent)、作为神经网络的ResNet34与作为优化器的SGD。使用缩减的验证图像数据集来确定每一对的精确度,且选择具有最高精确度的对并用于训练步骤。
类似地,当探索神经网络与优化器的对时,可尝试或探索不同的损失函数及学习速率调度程序因子。损失函数及学习速率调度程序与NN-架构及优化器一起在图像的探索子集上在探测无缺陷部件与缺陷部件方面提供最优选精确度(表示为正确预测相对于所做预测总数目的百分比)达给定数目个纪元(epoch),所述损失函数及学习速率调度程序因此被识别出并保留用于二元分类器的训练。
类似地,在步骤210处,在训练检测图像的缩减子集上尝试(或探索)神经网络与优化器(以及同样可能的损失函数及学习速率调度程序)的不同组合,以确定用于完全训练多类别分类器的最优选组合。所述探索也实行达给定数目个纪元。选择具有最优选分类精确度的组合用于多类别分类器。
如前所述,纪元的数目可为训练系统的参数。如此一来,在可能的实施例中,一旦二元分类器及多类别分类器达到每一组合的预定数目的纪元,探索训练阶段可自动停止。优选为,探索训练可由用户在探索阶段期间的任何时间经由GUI来控制,例如停止、恢复及中止。
在系统的可能实施例中,可通过加载包括与二元分类器相关联的初始参数以及与多类别分类器相关联的初始参数的配置档案来绕过(bypass)训练探索(trainingexploration)。在此情况下,绕过步骤206、208及210。
仍然参照图2,一旦完成或绕过探索阶段,则可开始二元分类器及多类别分类器的训练。在一个可能实施例中,二元分类器训练在步骤214处使用在步骤208的探索阶段期间确定的神经网络与优化器算法的组合开始。形成第一图像子集的检测图像用于训练二元分类器。所选择图像的全部或者仅所选择图像的一部分可形成第一子集。
类似于二元分类器,多类别分类器训练在步骤216处优选为使用在步骤210处在探索阶段期间被确定为最有效和/或最精确的神经网络与优化器的组合开始。在此情况下,用于训练多类别分类器的检测图像的子集由第一子集的子集(即,此第二子集包括被二元分类器分类为“缺陷”的检测图像)组成。
在二元分类器及多类别分类器的训练期间,训练及验证图像数据集被用于例如在每一纪元之后基于优化器的参数以迭代方式调整二元分类器及多类别分类器的节点的权重。调整神经网络参数可包括自动调整应用于神经网络层的不同层的节点的权重,直至使用所选择的优化器、损失函数及学习速率因子令人满意地减小了每一训练经过的实际结果与预测结果之间的差异。因此,验证子集被用作对部件状态(无缺陷或缺陷,以及缺陷的类型)预测的实际结果的代表。调整优化器可包括以迭代方式调整其用于控制学习过程的超参数。应注意,通过向训练-API提供初始配置档案,训练过程是完全自动化的且是自动实行的。
在系统及过程的可能实施例中,用户可暂停训练。当系统接收暂停或停止指令时,所述系统会将当前配置设定及所有与训练相关的信息(例如运行的纪元的数目)保存于训练服务器的数据库中。如果恢复训练,系统会提取数据库的所有信息作为重新启动点。图5示出其中可通过指示训练的当前迭代及进度(参见窗口500的下部分506)来监视缺陷分类模型的建立过程的状态(窗口500)的可能的GUI。如果需要,GUI也提供暂停(502)或中止(504)训练过程的可能性。
在系统的一个可能实施例中,在训练过程期间,用于在每一训练迭代中训练二元分类器及多类别分类器的检测图像的数目根据实行训练的处理器的可用物理资源而动态地改变。更具体而言,被定义为在每次迭代中通过二元分类器及多类别分类器的所述数目个图像的批大小可被动态地修改,如步骤218所示。此步骤有利地能够根据用于运行训练的可用物理/处理资源来实时调整训练过程。在可能的实施例中,批的大小可具有预定义的值,且可尝试不同的批大小,直至训练系统探测到处理资源(例如GPU)被完全利用的警告或指示(例如存储错误)。在此情况下,尝试下一个较低的批大小,直至达到处理器(通常是GPU)可处理的可接受的批大小。换言之,提交给分类器的检测图像的子集在随后的批次中被馈送,且每一批次中的检测图像的数目根据处理资源的可用性(即,可用处理能力或处理器可用性)动态地调整。训练系统的此特征或选项消除了对硬件规格、或训练模型要求或参数大小的先验知识的需要。由于不同的制造工厂可能具有不同的服务器/处理装置要求和/或规格,此特征也使得训练系统能够高度便携。
二元分类器及多类别分类器的训练随着分类器的精确度在给定数目个纪元内达到给定的精确度阈值(threshold)(例如95%以上)而完成。因此,缺陷分类模型由经训练的二元分类器及多类别分类器建立并由配置档案定义,所述配置档案包括在训练课程结束时神经网络与优化器的第一组合及第二组合的最后更新的参数。所选择的神经网络、优化器、损失函数及学习速率调度程序被打包于可由自动化检测系统加载的配置档案中。配置档案可包括例如二元分类器的神经网络架构用户(例如:ResNet34)、二元分类器的源模型(包括权重设定)、多类别分类器的神经网络架构用户(例如:InceptionResNet)、多类别分类器的源模型(包括权重设定)、二元分类器及多类别分类器的优化器(例如,Adam)、学习速率(例如,0.03)及学习速率衰减因子(例如,1.0)。由此,自动化检测系统可使用自动缺陷分类模型用于探测缺陷部件及识别所检测的制造部件上的缺陷类型。
后处理
图3中所示的后处理模块包括不同的模块,所述模块涉及存储缺陷分类模型,一旦建立(步骤304),则使用训练结果对检测系统的GUI进行更新(步骤306)和/或使用创建的新模型或经更新的现有模型对训练和/或检测系统的数据库(308)进行更新。优选为在将缺陷分类模型建立转移至检测系统之前,已经使用测试数据集来证明优化器与二元分类器/多类别分类器的第一组合及第二组合的精确度。
因此,在步骤310处,产生所得的缺陷分类模型并在配置档案中包括二元分类器及多类别分类器的类型及参数。举例而言,用于新半导体部件的缺陷分类模型可以配置档案的形式包括将用于二元分类器的神经网络架构、优化器、损失函数及学习速率调度程序的第一组合以及这些算法中的每一者的相关参数设定,以及将用于多类别分类器的神经网络架构、优化器、损失函数及学习速率调度程序的第二组合以及这些算法中的每一者的相关参数设定。
缺陷分类模型可存储于位于训练服务器和/或检测系统服务器上的数据库中。训练过程的结果(例如,所选择的第一组合及第二组合以及对应的第一精确度及第二精确度)可显示在GUI上。在一个实施例中,结果可被导出至性能报告中(步骤312)。
在使用中,自动缺陷分类应用通过GUI根据操作员所选择的部件类型加载适当的缺陷分类模型。因此,每一部件类型可与其自身的缺陷分类模型相关联,每一模型已经过调节及训练以针对给定的部件类型或客户要求优化其精确度。自动缺陷分类可有利地探测由光学系统取得的新缺陷,例如通过将新的/未知的缺陷分类为“未知”种类或标签。如果给定批次的“未知”缺陷的数目高于给定阈值,则应用可被配置成产生分类模型需要更新的警告,且在一些可能的实施方式中,所提出的系统及方法可自动更新(或再训练)分类模型。
所提出的用于通过机器学习产生自动缺陷分类模型的方法及系统用于自动化检测系统中可有利地部署在用户现场的服务器上(其中“用户”通常是制造公司),而不需要将敏感数据上传至基于云的服务器。另外,所提出的方法及系统为用户提供控制,并在没有之前AI知识的情况下创建缺陷分类模型。所提出的方法及系统也可直接使用检测图像进行工作,而不必依赖于复杂的关系数据集。
可通过添加新的神经网络架构、新的优化器、损失函数及学习速率调度程序来扩展训练应用。训练应用包括重新确定大小层函数(resizeLayer),其确保新添加的神经网络架构的输出数目与作为对象传递的输出数目相匹配。训练应用也包括前向函数(forwardfunction),所述前向函数将作为对象传递的张量推送至模型的输入层并收集输出。可实行类似的过程来添加新的优化器、损失函数及学习速率调度程序。
[实验结果]
本申请的优点之一是能够测试二元分类器及多类别分类器以及与分类器使用的优化器的不同组合。如上文详述并在图2的步骤206、208及210中定义的,此探索在实验中被实施并测试。此实验的结果在表1中呈现,表1是包含所有组合及相关联结果的原始表的摘录。
表1包含在每一组合中使用的不同训练参数、运行测试的纪元数以及对检测图像进行分类的精确度结果,其中粗体组合是系统选择的关于分类精确度的最优选组合。
使用的原始检测图像数据集包含159,087个图像,这些图像被分成由144,255个图像构成的第一数据集以及由14,832个图像构成的第二数据集,所述第一数据集中80%的图像被进一步分成训练数据集且20%的图像被分成验证数据集,所述第二数据集构成测试数据集。检测图像与包括缺陷类型及接受类型的总共23个类别相关联。
在开始训练之前,所述方法丢弃了三个类别及295个相关联的图像。所述三个类别中的每一者都不考虑具有对应于该类别的标签信息的最小数目的检测图像,最小数目被设定为120。因此,对由115,160个图像构成的训练数据集及由28,800个图像构成的验证数据集实行训练。
由表1可看出,由于不同组合之间的变化对于二元分类器及多分类器二者是显著的,当为二元分类器及多类别分类器二者选择组合时测试分类器的多个组合是有利的。选择与特定优化器相关联的损失函数也对组合的精确度具有显著影响。
对相同的检测图像实行不同的运作,训练系统总是为二元分类器选择ResNet34模型及SGD优化器,且为多类别分类器选择更深的模型,例如与SGD优化器结合的ResNet152及InceptionResNet,由此确认系统在为二元分类器及多类别分类器二者选择关于分类精确度的最优选组合方面的精确度。
随着纪元的数目从5个增加至10个,二元分类器的组合的精确度介于近似77%至92%之间,且多类别分类器的组合的精确度介于近似64%至82%之间,进一步确认了不同组合对分类精确度的影响。
表1:探索结果
当然,在不脱离本公开的范围的情况下,可对上述实施例进行多种修改。
Claims (31)
1.一种使用机器学习自动产生缺陷分类模型的计算机实施方法,所述缺陷分类模型用于在自动化检测系统中检测半导体和/或印刷电路板(PCB)部件,所述方法包括以下步骤:
获取由所述检测系统取得的部件的检测图像,其中所述检测图像与标签信息相关联,所述标签信息指示给定图像对应于无缺陷部件还是对应于缺陷部件且对于对应于缺陷部件的所述检测图像还指示缺陷类型,
使用所述检测图像的第一子集来训练二元分类器判断所述检测图像对应于无缺陷部件还是缺陷部件,所述二元分类器使用神经网络架构与优化器的第一组合,所述二元分类器是通过对与所述二元分类器的节点相关联的权重以迭代方式进行更新而得到训练,
使用所述检测图像的对应于缺陷部件的第二子集来训练多类别分类器判断在此前被所述二元分类器判断为对应于缺陷部件的所述检测图像中的所述缺陷类型,所述多类别分类器使用神经网络架构与优化器的第二组合,所述多类别分类器是通过对与所述多类别分类器的节点相关联的权重以迭代方式进行更新而得到训练,以及
从经训练的所述二元分类器及从所述多类别分类器建立由配置档案定义的缺陷分类模型,所述配置档案包括所述神经网络架构与优化器的所述第一组合的所述参数及所述神经网络架构与优化器的所述第二组合的所述参数以及每一神经网络架构的所述节点的经更新的所述权重,所述自动缺陷分类模型由此能够由所述自动化检测系统用于探测缺陷部件以及用于识别所检测的所述部件上的缺陷类型。
2.根据权利要求1所述的计算机实施方法,其中训练所述二元分类器还包括如下的初始步骤:在所述检测图像的探索子集上自动地探索神经网络架构与优化器的不同组合,且其中被选择用于所述二元分类器的所述第一组合对应于在识别无缺陷部件与缺陷部件方面提供最高精确度达给定数目个纪元的组合。
3.根据权利要求1或2所述的计算机实施方法,其中训练所述多类别分类器还包括如下的初始步骤:在所述检测图像的所述第二子集的另一探索子集上自动地探索神经网络与优化器的不同组合,且其中所述神经网络架构与优化器的第二组合对应于在识别不同的缺陷类型方面提供最高精确度达给定数目个纪元的组合。
4.根据权利要求3所述的计算机实施方法,其中训练所述二元分类器还包括:自动地探索不同的损失函数及不同的学习速率调度程序,且其中所述第一组合还通过自动地选择损失函数及与所述神经网络架构与优化器一起在探测无缺陷部件与缺陷部件方面提供最高精确度达所述给定数目个纪元的学习速率调度程序来定义,所述缺陷分类模型的所述配置档案还包括来自所述二元分类器的所选择的所述损失函数及所述学习速率调度程序的参数。
5.根据权利要求4所述的计算机实施方法,其中训练所述多类别分类器还包括自动地探索所述不同的损失函数及所述学习速率调度程序,且其中所述第二组合还通过自动地选择损失函数及与所述神经网络架构及所述优化器一起在识别所述缺陷类型方面提供最高精确度达所述给定数目个纪元的学习速率调度程序来定义,所述缺陷分类模型的所述配置档案还包括来自所述多类别分类器的所选择的所述损失函数及所述学习速率调度程序的参数。
6.根据权利要求4或5所述的计算机实施方法,其中经更新的所述权重以及所选择的所述神经网络架构、所述优化器、所述损失函数及所述学习速率调度程序的所述参数被打包于能够由所述自动化检测系统加载的所述配置档案中。
7.根据权利要求1至6中任一项所述的计算机实施方法,其中所述不同的神经网络架构包括以下中的至少一者:ResNet34、NesNet50、ResNet101、ResNet152、WideResNet50、WideResNet101、IncptionV3及InceptionResNet。
8.根据权利要求1至7中任一项所述的计算机实施方法,其中所述不同的优化器包括以下中的至少一者:Adam优化器及SGD优化器。
9.根据权利要求1至8中任一项所述的计算机实施方法,其中所述不同的损失函数包括以下中的至少一者:交叉熵损失函数及NII损失函数。
10.根据权利要求1至9中任一项所述的计算机实施方法,其中所述不同的速率学习调度程序包括以下中的至少一者:衰减速率调度程序及循环速率调度程序。
11.根据权利要求1至10中任一项所述的计算机实施方法,其中所述部件包括以下中的至少一者:半导体封装、晶片、面单印刷电路板、双面印刷电路板、多层印刷电路板及基板。
12.根据权利要求1至11中任一项所述的计算机实施方法,其中所述多类别分类器被训练成探测包括以下中的一或多者的所述缺陷类型:镀覆不足、异物、部件不完整、裂纹、污迹、异常电路、抗蚀剂残留、变形、划伤、簇集及金属膜残留。
13.根据权利要求1至12中任一项所述的计算机实施方法,其中获取所述检测图像包括:经由图形用户界面取得一系列一或多个其中存储有所述检测图像的图像文件夹。
14.根据权利要求13所述的计算机实施方法,其中所述二元分类器及所述多类别分类器的训练是响应于经由图形用户界面进行的输入而启动的。
15.根据权利要求14所述的计算机实施方法,其中通过经由所述图形用户界面取得的输入来控制所述二元分类器及所述多类别分类器的所述训练以暂停、中止或恢复所述训练。
16.根据权利要求1至15中任一项所述的计算机实施方法,包括验证所述检测图像的总数目是否足以启动所述二元分类器的所述训练,且如果足以启动,则判断与每一缺陷类型相关联的检测图像的数目是否足以启动所述多类别分类器的所述训练,由此使得仅针对具有足够数目个检测图像的缺陷类型来启动所述多类别分类器所述训练。
17.根据权利要求16所述的计算机实施方法,包括:当与给定缺陷类型相关联的检测图像的数目不足时,使用数据扩增算法增大所述给定缺陷类型的检测图像的所述数目。
18.根据权利要求1至17中任一项所述的计算机实施方法,包括:在训练所述二元分类器及所述多类别分类器之前,针对所述第一子集及所述第二子集中的每一者将所述检测图像自动地分成至少训练数据集及验证数据集,所述训练数据集是在训练期间用于设定所述神经网络架构与优化器的所述第一组合的初始参数及所述神经网络架构与优化器的所述第二组合的初始参数,所述验证数据集用于在所述二元分类器及所述多类别分类器的所述训练期间调整所述节点的所述权重。
19.根据权利要求18所述的计算机实施方法,包括:一旦所述二元分类器及所述多类别分类器已经过训练,还自动地将所述检测图像分成测试数据集以用于确认所述第一组合及所述第二组合的所述参数及经调整的所述权重。
20.根据权利要求1至19中任一项所述的计算机实施方法,其中用于在每一训练迭代中训练所述二元分类器及所述多类别分类器的检测图像的数目是根据实行所述训练的所述处理器的所述可用物理资源而动态地改变。
21.根据权利要求1至20中任一项所述的计算机实施方法,其中在每次迭代中通过所述二元分类器及所述多类别分类器的所述数目个检测图像被集束成预定批大小,所述预定批大小被进行测试直至所述处理器能够应对可接受的批大小。
22.根据权利要求21所述的计算机实施方法,其中所述二元分类器及所述多类别分类器的所述训练是通过将所述检测图像以相继的批馈送至所述分类器来实行,且其中每一批中的检测图像的数目是根据处理资源的可用性而动态地调整。
23.根据权利要求1至22中任一项所述的计算机实施方法,其中获取所述检测图像包括扫描图像服务器并在图形用户界面上显示包括机器识别符、用户识别符、配方识别符及批次或装置识别符的文件夹架构的表示形式以供用户选择。
24.根据前述权利要求中任一项所述的计算机实施方法,包括:在将所述检测图像复制至训练服务器之前核验所述检测图像是否早已存储于所述训练服务器上。
25.一种通过机器学习而产生用于检测半导体和/或印刷电路板(PCB)部件的自动缺陷分类模型的自动化检测系统,所述系统包括:
一或多个专用服务器,包括处理器及数据存储体,所述数据存储体上存储有:
获取模块,用于获取所述半导体和/或印刷电路板(PCB)部件的检测图像,其中所述检测图像与标签信息相关联,所述标签信息指示给定图像对应于无缺陷部件还是缺陷部件且对于对应于缺陷部件的所述检测图像还指示缺陷类型;
训练应用,包括:
二元分类器,能够使用所述检测图像的第一子集通过对所述二元分类器的节点的权重以迭代方式进行更新来进行训练以判断所述检测图像对应于无缺陷部件还是缺陷部件,所述二元分类器使用神经网络架构与优化器的第一组合,
多类别分类器,能够使用所述检测图像的对应于缺陷部件的第二子集通过对所述多类别分类器的节点的权重以迭代方式进行更新来进行训练以判断此前被所述二元分类器判断为对应于缺陷部件的所述检测图像中的所述缺陷类型,所述多类别分类器使用神经网络架构与优化器的第二组合;
所述训练应用包括用于从经训练的所述二元分类器及经训练的所述多类别分类器产生缺陷分类模型的算法,所述缺陷分类模型由配置档案进行定义,所述配置档案包括所述神经网络架构与优化器的第一组合的所述参数及所述神经网络架构与优化器的第二组合的所述参数以及每一神经网络架构的所述节点的经更新的所述权重,所述自动缺陷分类模型由此能够由所述自动化检测系统用于探测所检测的其他部件上的缺陷。
26.根据权利要求25所述的自动化检测系统,其中所述数据存储体还存储探索模块、第一组不同的神经网络架构及第二组优化器,所述探索模块被配置成在所述检测图像的探索子集上探索神经网络架构与优化器的不同组合来用于训练所述二元分类器,所述探索模块还被配置成为所述二元分类器选择在探测无缺陷部件与缺陷部件方面提供最高精确度达给定数目个纪元的所述神经网络架构与优化器的第一组合。
27.根据权利要求26所述的自动化检测系统,其中所述探索模块还被配置成在所述检测图像的所述探索子集上探索神经与优化器的不同组合来用于训练所述多类别分类器,所述探索模块还被配置成为所述多类别分类器选择在识别缺陷类型方面提供最高精确度达给定数目个纪元的所述神经网络架构与优化器的第二组合。
28.根据权利要求25至27中任一项所述的自动化检测系统,包括图形用户界面,所述图形用户界面容许用户选择其中存储有所述检测图像的一或多个图像文件夹并响应于经由所述图形用户界面进行的输入而启动所述自动缺陷分类模型的产生。
29.根据权利要求25至28中任一项所述的自动化检测系统,包括数据库,所述数据库存储由所述检测系统取得的部件的所述检测图像以及存储指示给定图像对应于无缺陷部件还是缺陷部件且对于对应于缺陷部件的所述检测图像还指示缺陷类型的所述标签信息。
30.根据权利要求25至29中任一项所述的自动化检测系统,其中所述一或多个专用服务器的所述数据存储体还存储预处理模块,所述预处理模块用于验证检测图像的总数目是否足以启动所述二元分类器及所述多类别分类器的所述训练且用于将所述图像复制至所述数据库并处理所述图像,例如通过使用数据扩增算法来处理所述图像。
31.一种上面存储有计算机可读取指令的非暂时性存储媒体,所述计算机可读取指令用于使处理器:
获取由所述检测系统取得的部件的检测图像,其中所述检测图像与标签信息相关联,所述标签信息指示给定图像对应于无缺陷部件还是缺陷部件且对于对应于缺陷部件的所述检测图像还指示缺陷类型,
使用所述检测图像的第一子集来训练二元分类器判断所述检测图像对应于无缺陷部件还是缺陷部件,所述二元分类器使用神经网络架构与优化器的第一组合,
使用所述检测图像的对应于缺陷部件的第二子集来训练多类别分类器判断此前被所述二元分类器判断为对应于缺陷部件的所述检测图像中的所述缺陷类型,所述多类别分类器使用神经网络架构与优化器的第二组合,以及
从经训练的所述二元分类器及从所述多类别分类器产生缺陷分类模型,所述缺陷分类模型包括所述神经网络架构与优化器的第一组合的配置设定及所述神经网络架构与优化器的第二组合的配置设定,所述自动缺陷分类模型由此能够由所述自动化检测系统用于探测所检测的其他部件上的缺陷。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063028800P | 2020-05-22 | 2020-05-22 | |
US63/028,800 | 2020-05-22 | ||
PCT/CA2021/050672 WO2021232149A1 (en) | 2020-05-22 | 2021-05-17 | Method and system for training inspection equipment for automatic defect classification |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115668286A true CN115668286A (zh) | 2023-01-31 |
Family
ID=78708867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180036832.7A Pending CN115668286A (zh) | 2020-05-22 | 2021-05-17 | 训练自动缺陷分类的检测仪器的方法与系统 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2023528688A (zh) |
CN (1) | CN115668286A (zh) |
CA (1) | CA3166581A1 (zh) |
TW (1) | TW202203152A (zh) |
WO (1) | WO2021232149A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115830403A (zh) * | 2023-02-22 | 2023-03-21 | 厦门微亚智能科技有限公司 | 一种基于深度学习的自动缺陷分类系统及方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114511503B (zh) * | 2021-12-30 | 2024-05-17 | 广西慧云信息技术有限公司 | 一种自适应板材厚度的刨花板表面缺陷检测方法 |
WO2023146946A1 (en) * | 2022-01-27 | 2023-08-03 | Te Connectivity Solutions Gmbh | Vision inspection system for defect detection |
CN116563194A (zh) * | 2022-01-27 | 2023-08-08 | 安普阿莫麦克斯公司 | 用于缺陷检测的视觉检查系统 |
CN114594106B (zh) * | 2022-03-08 | 2024-08-20 | 苏州菲利达铜业有限公司 | 一种铜管电镀工艺的实时监测方法及系统 |
TWI806500B (zh) * | 2022-03-18 | 2023-06-21 | 廣達電腦股份有限公司 | 影像分類裝置和方法 |
CN114627093A (zh) * | 2022-03-23 | 2022-06-14 | 中国联合网络通信集团有限公司 | 质检方法及装置、质检系统、电子设备、可读介质 |
CN115018099A (zh) * | 2022-06-01 | 2022-09-06 | 成都智谷耘行信息技术有限公司 | 一种基于支持向量机的轨道交通缺陷自动分配方法和系统 |
TWI842292B (zh) * | 2022-12-23 | 2024-05-11 | 偲倢科技股份有限公司 | 自動化產線產品外觀瑕疵檢驗方法及系統 |
TWI844284B (zh) * | 2023-02-24 | 2024-06-01 | 國立中山大學 | 跨域分類器的訓練方法與電子裝置 |
CN116245846B (zh) * | 2023-03-08 | 2023-11-21 | 华院计算技术(上海)股份有限公司 | 带钢的缺陷检测方法及装置、存储介质、计算设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160132787A1 (en) * | 2014-11-11 | 2016-05-12 | Massachusetts Institute Of Technology | Distributed, multi-model, self-learning platform for machine learning |
US10234848B2 (en) * | 2017-05-24 | 2019-03-19 | Relativity Space, Inc. | Real-time adaptive control of additive manufacturing processes using machine learning |
US10496902B2 (en) * | 2017-09-21 | 2019-12-03 | International Business Machines Corporation | Data augmentation for image classification tasks |
KR20190073756A (ko) * | 2017-12-19 | 2019-06-27 | 삼성전자주식회사 | 반도체 결함 분류 장치, 반도체의 결함을 분류하는 방법, 그리고 반도체 결함 분류 시스템 |
US11429894B2 (en) * | 2018-02-28 | 2022-08-30 | Google Llc | Constrained classification and ranking via quantiles |
US10713769B2 (en) * | 2018-06-05 | 2020-07-14 | Kla-Tencor Corp. | Active learning for defect classifier training |
CN109961142B (zh) * | 2019-03-07 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 一种基于元学习的神经网络优化方法及装置 |
-
2021
- 2021-05-17 CN CN202180036832.7A patent/CN115668286A/zh active Pending
- 2021-05-17 CA CA3166581A patent/CA3166581A1/en active Pending
- 2021-05-17 JP JP2023515224A patent/JP2023528688A/ja active Pending
- 2021-05-17 WO PCT/CA2021/050672 patent/WO2021232149A1/en active Application Filing
- 2021-05-20 TW TW110118315A patent/TW202203152A/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115830403A (zh) * | 2023-02-22 | 2023-03-21 | 厦门微亚智能科技有限公司 | 一种基于深度学习的自动缺陷分类系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202203152A (zh) | 2022-01-16 |
WO2021232149A1 (en) | 2021-11-25 |
CA3166581A1 (en) | 2021-11-25 |
JP2023528688A (ja) | 2023-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115668286A (zh) | 训练自动缺陷分类的检测仪器的方法与系统 | |
EP3499418B1 (en) | Information processing apparatus, identification system, setting method, and program | |
EP3800588A1 (en) | System and method using knowledge distillation for training a machine learning classifier | |
KR102110755B1 (ko) | 자동 결함 분류를 위한 알려지지 않은 결함 리젝션의 최적화 | |
KR102137184B1 (ko) | 자동 및 수동 결함 분류의 통합 | |
US20190197679A1 (en) | Automated optical inspection method using deep learning and apparatus, computer program for performing the method, computer-readable storage medium storing the computer program,and deep learning system thereof | |
US20180060702A1 (en) | Learning Based Defect Classification | |
KR20180005218A (ko) | 결함 분류를 위한 방법 및 시스템 | |
US20190187555A1 (en) | Automatic inline detection and wafer disposition system and method for automatic inline detection and wafer disposition | |
CN114787831B (zh) | 改进分类模型的准确性 | |
TWI791930B (zh) | 用於分類半導體樣本中的缺陷的系統、方法及電腦可讀取媒體 | |
US11967060B2 (en) | Wafer level spatial signature grouping using transfer learning | |
JP7150918B2 (ja) | 試料の検査のためのアルゴリズムモジュールの自動選択 | |
CN114494780A (zh) | 基于特征对比的半监督工业缺陷检测方法及系统 | |
US20220163467A1 (en) | Method and system for virtually executing an operation of an energy dispersive x-ray spectrometry (eds) system in real-time production line | |
JP2019113914A (ja) | データ識別装置およびデータ識別方法 | |
US20240281953A1 (en) | Adaptive spatial pattern recognition for defect detection | |
JP7257470B2 (ja) | 欠陥検査装置、欠陥検査方法および予測モデル生成方法 | |
CN113743447B (zh) | 半导体瑕疵识别方法、装置、计算机设备和存储介质 | |
Chen et al. | Auto-Labeling for Pattern Recognition of Wafer Defect Maps in Semiconductor Manufacturing | |
Deshmukh et al. | Automatic Inspection System for Segregation of Defective Parts of Heavy Vehicles |
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 |