CN114155213A - 基于主动学习的芯片缺陷检测方法和装置 - Google Patents
基于主动学习的芯片缺陷检测方法和装置 Download PDFInfo
- Publication number
- CN114155213A CN114155213A CN202111406621.6A CN202111406621A CN114155213A CN 114155213 A CN114155213 A CN 114155213A CN 202111406621 A CN202111406621 A CN 202111406621A CN 114155213 A CN114155213 A CN 114155213A
- Authority
- CN
- China
- Prior art keywords
- defect detection
- chip
- loss
- network
- data set
- 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
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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30148—Semiconductor; IC; Wafer
Abstract
本申请提出了一种基于主动学习的芯片缺陷检测方法,包括:获取芯片图片集合,芯片图片集合包括标注数据集和未标注数据集;构建芯片缺陷检测骨干网络,并根据其构建损失预测模块;使用芯片图片集合对芯片缺陷检测骨干网络和损失预测模块进行训练;使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。本申请在标注少的客观条件下改善了缺陷检测效果,具有较强的实用性。
Description
技术领域
本申请涉及芯片缺陷检测技术领域,尤其涉及一种基于主动学习的芯片缺陷检测方法和装置。
背景技术
现有的实现芯片制造场景下的缺陷检测方法主要为基于卷积神经网络(Convolution Neural Network)的传统目标检测方法。这些方法主要分为两阶段目标检测方法与单阶段目标检测方法。
在传统的使用CNN进行目标检测的方法中,经典的两阶段方法包括R-CNN,Fast R-CNN,Faster R-CNN等。R-CNN模型最早由Girshirk等人于2014年提出,该模型在PASCAL VOC2012目标检测任务竞赛中取得了巨大的提升,将目标检测的验证指标(即为mAP)相较于该模型之前的最佳结果提升了30%,达到了58%。R-CNN采用选择性搜索(Selective Search)的候选框生成思想,利用层次分组算法(Hierarchical Grouping Algorithm)为每一张待检测图片生成2000张候选框,利用神经网络提取每个候选框的特征后使用线性支持向量机(SVM)为候选框进行分类,通过非极大值抑制(NMS)选择并输出最终的检测结果。R-CNN取得了相当的检测精度,而其针对每一个类别进行特征向量、SVM的训练和计算耗费了大量时间,其推理的速度十分缓慢。为了在保证模型检测精度的前提下进一步提升检测模型的推理速度,Girshick于2015年提出了Fast R-CNN模型,该模型同样使用选择性搜索的方法获取候选框,但通过RoI池化操作将投影到特征图上的候选框中的特征提取出来,并输入Softmax分类器与回归器完成分类与回归。Fast R-CNN同时优化了Softmax分类器与候选框回归器,并采用截断奇异值的方法压缩全连接层,减少推理时间。该模型在PASCAL VOC2012目标检测任务中将检测指标(mAP)提升到了68%。与此同时,Fast R-CNN的图片推理用时缩减到了R-CNN的2%左右,在性能上有巨大的提升。考虑到Fast R-CNN在选择性搜索上耗时较多,Ren、He与Girshick等人提出了Faster R-CNN模型,首次提出了区域建议网络(RPN)直接使用神经网络预测候选框,并在模型中实现了端到端的训练与检测。模型在PASCAL VOC 2012上实现了超过70%的检测精度指标(mAP)。若选取合适的网络骨架(Backbone),模型可以实现实时的检测效果。
经典的传统单阶段目标检测方法包括YOLO系列方法。单阶段目标检测方法的一大优势是检测速度较两阶段方法快。2015年,Redmon提出的YOLOv1模型在GoogLeNet的基础上设计网络骨架(Backbone),将原图划分为7×7的网格进行分区域的目标检测,在每一个区域输出该区域待检测物体的检测框位置、大小与置信度信息。经过性能优化的YOLO v1的Fast版本的推理速度可以达到每秒155帧图片。随后,Redmon等人进一步改进了YOLOv1,提出了YOLOv2模型。YOLOv2模型使用了候选框聚类、多尺度训练等常见的目标检测模型优化方法,在保证检测实时性的前提下进一步提升了监测模型的精度。YOLOv2模型在PASCALVOC 2007模型上的目标检测指标(mAP)最高可达78.6%,与Faster R-CNN相当。YOLO系列模型之后仍有一系列的改进与发展。时至今日,YOLO系列模型是处理各项视觉任务时最常用的Baseline和Backbone之一。
现有的使用深度神经网络进行目标检测的算法往往严重依赖于大量数据的训练。其中,PASCAL VOC 2007数据集包含9963张图片,24640个被标注的物体,MS COCO 2014数据集包含330000张图片,其中超过200000张图片经过了标注。目标检测任务所使用的候选框标注方式需要大量的人力、物力介入,成本巨大。因此,研究者们提出了主动学习的方法,通过建立数学模型使模型分批次选择有信息量的样本进行标注,并在此过程中不断迭代扩大标注数据集、重新训练网络。大部分视觉领域的主动学习工作主要关注分类任务。2017年,Roy等人提出了一种基于主动学习与深度神经网络的目标检测算法,通过计算不同卷积层对候选框的预测一致程度定义检测图象的不确定性,进而通过不确定性找到最具信息度的待检测图片送予人工标注后协助训练。更多的基于主动学习的目标检测算法直接沿用了主动学习领域的常用方法,如最大熵、最小最大置信度等。这些方法在不同领域具有普适性,应用于目标检测领域之后相比于全随机选择训练样本的Baseline在检测指标(mAP)上有微小的提升。
芯片缺陷检测这一任务具有标注成本较高,标注数据量极少的特点。因为现有的数据不完全能够反映真实应用场景的客观情况,直接使用传统的目标检测模型往往会使得模型过拟合或欠拟合。具体表现为某些较为简单的缺陷无法被检出,同时某些较强的干扰被模型检出的情况。因此,需要通过选取具有信息量的数据进行人工标注,并将这些数据加入标注数据集进行进一步训练。
在现有的目标检测方法中,结合了主动学习的方法较少,且现有的基于主动学习的目标检测工作主要基于减少已有模型的训练数据量这一问题开展。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种基于主动学习的芯片缺陷检测方法,解决了现有方法不能针对性地对芯片缺陷检测进行优化的问题,有针对性地改进了将目标检测技术应用于芯片缺陷检测任务中的召回率低、容易误检等问题,实现了一种通过较少数量图片标注完成芯片缺陷检测生产任务的单阶段易用目标检测方法,在标注少的客观条件下进一步改善了缺陷检测效果,节省了标注的人力成本,具有较强的实用性。
本申请的第二个目的在于提出一种基于主动学习的芯片缺陷检测装置。
本申请的第三个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本申请第一方面实施例提出了一种基于主动学习的芯片缺陷检测方法,包括:获取芯片图片集合,其中,芯片图片集合包括标注数据集和未标注数据集;构建芯片缺陷检测骨干网络,之后根据芯片缺陷检测骨干网络构建损失预测模块;使用芯片图片集合对芯片缺陷检测骨干网络和损失预测模块进行训练;使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。
可选地,在本申请的一个实施例中,构建芯片缺陷检测骨干网络使用Darknet-53卷积网络,在Darknet-53卷积网络中添加任意检测头之后得到网络的最终输出,且根据芯片数据目标类数对最终输出的维度进行调整,使得网络输出维度数与芯片数据目标类数一致,同时,根据目前已有的芯片标注数据通过K-均值聚类得到9种大小的标注框聚类结果,将其用作模型的预设锚框设定,完成芯片缺陷检测骨干网络的构建。
可选地,在本申请的一个实施例中,根据芯片缺陷检测骨干网络构建损失预测模块,具体为:
取出芯片缺陷检测骨干网络结构中每一类重复的残差块中最后一个残差块的输出,将这些输出分别通过全局平均池化层、全连接层与一个RELU激活层,拼接所有的RELU激活层输出,并通过一个全连接层之后获得损失预测值,完成损失预测模块的构建。
可选地,在本申请的一个实施例中,芯片缺陷检测骨干网络和损失预测模块训练时使用的损失函数表示为:
LossBackbone+LPM(xp)=λ·2LossLPM(xp)+fLoss(xi)+fLoss(xj)
其中,λ表示训练过程中可调的控制两种损失的训练重视程度的超参数,LossBackbone+LPM()表示训练时总体的损失函数,fLoss()表示图片通过骨干网络Darknet-53所产生的真实损失,xp=(xi,xj)为一次损失预测模块的反向传播过程使用到的两张图片,sign()表示示性函数,li表示图片xi经过主干网络产生的损失值,lj表示图片xj经过主干网络产生的损失值,表示图片xi经过损失预测网络产生的损失值,表示图片xj经过损失预测网络产生的损失值,η是一个超参,用来调节和之间的差异。
可选地,在本申请的一个实施例中,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,具体为:
步骤S1:在从未标注数据集中选择需要标注的图片时,对每一张未标注数据集中的图片,在完成输入网络之前所需的所有预处理过程后,进行不同大小方差的高斯噪声预处理,将整体网络分别对所有的预处理后的图片进行推理,得到损失预测模块对所有图片的预测损失;
步骤S2:根据预测损失,计算图片经过网络预测的信息量得分;
步骤S3:在进行选择目标图片进行标注并加入标注集合过程时,使用步骤S1、S2的方法处理未标注图片中所有的图片,设定阈值选择信息量得分排名靠前的图片。
为达上述目的,本申请第二方面实施例提出了一种基于主动学习的芯片缺陷检测装置,包括:获取模块、模型生成模块、模型训练模块、样本选择模块、迭代模块,其中,
获取模块,用于获取芯片图片集合,其中,芯片图片集合包括标注数据集和未标注数据集;
模型生成模块,用于构建芯片缺陷检测骨干网络,之后根据芯片缺陷检测骨干网络构建损失预测模块;
模型训练模块,用于使用芯片图片集合对芯片缺陷检测骨干网络和损失预测模块进行训练;
样本选择模块,用于使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;
迭代模块,用于将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。
为了实现上述目的,本申请第三方面实施例提出了一种非临时性计算机可读存储介质,当存储介质中的指令由处理器被执行时,能够执行一种基于主动学习的芯片缺陷检测方法。
本申请实施例的基于主动学习的芯片缺陷检测方法、基于主动学习的芯片缺陷检测装置和非临时性计算机可读存储介质,解决了现有方法不能针对性地对芯片缺陷检测进行优化的问题,有针对性地改进了将目标检测技术应用于芯片缺陷检测任务中的召回率低、容易误检等问题,实现了一种通过较少数量图片标注完成芯片缺陷检测生产任务的单阶段易用目标检测方法,在标注少的客观条件下进一步改善了缺陷检测效果,节省了标注的人力成本,具有较强的实用性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例一所提供的一种基于主动学习的芯片缺陷检测方法的流程图;
图2为本申请实施例的基于主动学习的芯片缺陷检测方法的损失预测模块(LPM)结构示意图;
图3为本申请实施例的基于主动学习的芯片缺陷检测方法的高斯噪声样本选择示意图;
图4为本申请实施例的基于主动学习的芯片缺陷检测方法的整体方法流程图;
图5为本申请实施例二所提供的一种基于主动学习的芯片缺陷检测装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于主动学习的芯片缺陷检测方法和装置。
图1为本申请实施例一所提供的一种基于主动学习的芯片缺陷检测方法的流程图。
如图1所示,该基于主动学习的芯片缺陷检测方法包括以下步骤:
步骤101,获取芯片图片集合,其中,芯片图片集合包括标注数据集和未标注数据集;
步骤102,构建芯片缺陷检测骨干网络,之后根据芯片缺陷检测骨干网络构建损失预测模块;
步骤103,使用芯片图片集合对芯片缺陷检测骨干网络和损失预测模块进行训练;
步骤104,使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;
步骤105,将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。
本申请实施例的基于主动学习的芯片缺陷检测方法,通过获取芯片图片集合,其中,芯片图片集合包括标注数据集和未标注数据集;构建芯片缺陷检测骨干网络,之后根据芯片缺陷检测骨干网络构建损失预测模块;使用芯片图片集合对芯片缺陷检测骨干网络和损失预测模块进行训练;使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。由此,能够解决现有方法不能针对性地对芯片缺陷检测进行优化的问题,有针对性地改进了将目标检测技术应用于芯片缺陷检测任务中的召回率低、容易误检等问题,实现了一种通过较少数量图片标注完成芯片缺陷检测生产任务的单阶段易用目标检测方法,在标注少的客观条件下进一步改善了缺陷检测效果,节省了标注的人力成本,具有较强的实用性。
本申请旨在解决标注样本成本较高的条件下的芯片缺陷检测问题,即仅输入一张完成制造的芯片局部图片,输出图片中可能的缺陷种类及位置标注框。在训练神经网络时,通过主动学习的方式选择训练的样本,使得训练过程仅需要新添加少量的芯片缺陷标注样本。
芯片在生产过程中需要经过芯片设计、晶片制作、封装与测试等多个步骤。在生产过程中,大量的检测人员需要使用肉眼针对批次的芯片进行缺陷检测,费时费力。为了解决该问题,需要设计一套软硬件一体化的芯片缺陷检测系统,包含数据采集平台、缺陷检测模型、检测结果分析与芯片筛选等软硬件结合的主要模块。其中,缺陷检测模型依赖于高质量的目标检测算法。
本申请希望能够在新添加较少的芯片缺陷标注图片的前提下实现芯片缺陷检测。输入一张芯片生产制造过程中所拍摄的高清图片,最终输出这张图片中是否包含制造缺陷,若有,需要使用标注框对图片中的芯片制造缺陷进行标注。目前,目标检测领域主要采用传统的卷积神经网络方法,该方法依赖于大规模高质量标注数据集。然而,芯片生产过程中的不合格率较低,产生的芯片缺陷标注数量较少,获得可实际使用的大规模标注数据非常困难,成本较高。因此,本申请希望能够使用主动学习的方法,从实际拍摄得到的芯片图片中获取信息量较大的芯片图片交由人工标注,并将这些模型主动选择出的缺陷标注图片用于训练过程,从而实现芯片缺陷检测。
本申请以Darknet-53深度卷积残差网络作为模型的骨干网络(Backbone),在该网络的结构基础上取出位于不同深度的五层卷积层的多尺度特征输出,将这些多尺度特征输入到损失预测模块(Loss Prediction Module)中得到输入图片的检测损失预测值。网络根据已有的一部分有标注数据开始进行训练,训练过程中损失预测模块与骨干网络同时进行训练。在选取信息量大的待标注样本时,网络对施加了不同强度高斯噪声(Gaussiannoise)的同一张图片分别进行处理,根据公式计算出不同强度下的预测损失均值,并根据该均值选择信息量大的样本经由人工标注后进行训练。本申请所设计的模型通过迭代上述过程,完成少样本量下的芯片缺陷检测主动学习过程。
Darknet-53是目标检测领域一个常用的骨干网络,其出处为Redmon等人设计的YOLOv3单阶段目标监测模型。YOLOv3模型基于Redmon等人设计的YOLOv1与YOLOv2,其所有改进基于YOLOv2单阶段目标检测模型进行。YOLOv3是一种端到端的单阶段目标检测方法,即输入一张待检测的图片,输出该图片中所有的标注框及待检测的所有类别置信度。在训练过程中,YOLOv3可以直接使用反向传播、梯度下降算法训练整个网络,在训练时较为方便,易于直接应用于生产环境。当输入图片大小为608×608时,YOLOv3在MS COCO数据集上取得了33%的检测指标(mAP),并保证了20FPS的检测速度。若考察IoU阈值为0.5的mAP50检测指标,YOLOv3相比检测速度与之相当的SSD模型有较大提升。综合考虑训练难度与检测性能,选择YOLOv3中的Darknet-53网络骨干为本申请的网络骨干。
本申请直接应用了YOLOv3中设计的Darknet-53网络骨架部分。Darknet-53含有53个卷积层(最后的全连接层实际上使用1×1卷积层实现),其网络结构如表一所示:
表一
进一步地,在本申请实施例中,构建芯片缺陷检测骨干网络使用Darknet-53卷积网络,在Darknet-53卷积网络中添加任意检测头之后得到网络的最终输出,且根据芯片数据目标类数对最终输出的维度进行调整,使得网络输出维度数与芯片数据目标类数一致,同时,根据目前已有的芯片标注数据通过K-均值聚类得到9种大小的标注框聚类结果,将其用作模型的预设锚框设定,完成芯片缺陷检测骨干网络的构建。
在芯片缺陷检测骨干网络的训练过程中,不需要进行任何的困难测例挖掘(HardExample Mining)操作。使用到的数据增强操作并不需要严格规定,可以联合采用随机分割、随机翻转等方法,并在输入网络训练时保证输入的图片大小为320×320或608×608。在检测过程中,输入的图片大小需要固定为608×608。可以使用MMDetection目标检测库完成以Darknet-53为骨干网络的芯片缺陷检测网络搭建。
直接使用未经改进的Darknet-53骨干网络对芯片缺陷检测任务进行训练,得到的训练结果具有低召回率(许多缺陷没有检出)、高误检率(芯片边缘等非重点区域的干扰信息被当作芯片缺陷检出)的问题。在Darknet-53的基础上,添加损失预测模块用于选择具有较高信息量的样本加入标注集合进行迭代训练,使得模型随着迭代过程的进行不断以较小的训练代价获得更广泛的缺陷信息,提高模型对芯片缺陷的召回率。
在目标检测领域,损失预测模块用于预测一张未标注图片在通过目标检测模型网络后网络本身产生的损失值。当网络本身可以通过该模块预测一张图片可能产生的损失时,网络即可从未标注的数据集合中选择有信息量的、可供网络继续训练的样本。
本申请将根据Darknet-53网络结构构建损失预测模块,并使用改进的训练方法在训练过程中同时训练骨干网络本身与卷积预测模块。
进一步地,在本申请实施例中,根据芯片缺陷检测骨干网络构建损失预测模块,具体为:
取出芯片缺陷检测骨干网络结构中每一类重复的残差块中最后一个残差块的输出,将这些输出分别通过全局平均池化层、全连接层与一个RELU激活层,拼接所有的RELU激活层输出,并通过一个全连接层之后获得损失预测值,完成损失预测模块的构建。
选择使用多尺度的特征图的原因是使得模型在训练过程中从不同尺度的特征图中选择必要的信息用于损失预测过程,在损失预测的过程中应用分治策略。
在训练过程中,添加了损失预测模块之后的网络需要更改其原始的损失函数,以达到同时训练骨干网络与损失预测模块的目的。
本申请使用的数学符号及其含义叙述如下:
对于一张待训练或检测的图片x,其对应的标注表示为y,则一个(图片,标注)的样本数据对表示为(x,y),将该图片通过骨干网络Darknet-53(表示为运算fBackbone)后得到的预测标注表示为得到的真实损失表示为l=fLoss(x)。将该图片通过损失预测模块之后得到的损失预测值表示为在主动学习过程中,已有的标注数据集记为L,在训练之前将集合L用一定量的标注数据初始化为L0,已有的未标注数据集记为U,初始化为U={}。
一个朴素的方法是直接使用均方误差(Mean Square Error,MSE)使用网络损失拟合预测损失进行损失预测模块的训练,然而,这种方法只能让预测损失尽量靠近训练过程中的网络损失情况,并不能真实客观地反映实际损失分布当中的情形。为了使损失预测模块尽可能地反映损失的总体情况,通过将每两个输入样本的预测损失情况与网络损失情况进行比对,进而根据比对结果训练损失预测模块。
将一次损失预测模块的反向传播过程使用到的两张图片记作xp=(xi,xj),其通过主干网络产生的损失为(li,lj),通过损失预测模块产生的损失预测值为记符号函数sign(li,lj)=sign(li-lj),则损失预测模块反向传播过程使用的损失函数为:
上式当且仅当两张图片的损失预测值大小关系与其通过网络产生的损失值大小关系相同,且通过损失预测模块产生的损失预测值在保证大小关系的同时还产生了常数级别的差距η时损失预测模块的损失函数才能为0。
进一步地,在本申请实施例中,在构建了预测模块反向传播过程使用的损失函数后,可以得到芯片缺陷检测骨干网络和损失预测模块训练时使用的损失函数表示为:
LossBackbone+LPM(xp)=λ·2LossLPM(xp)+fLoss(xi)+fLoss(xj)
其中,λ表示训练过程中可调的控制两种损失的训练重视程度的超参数,LossBackbone+LPM()表示训练时总体的损失函数,fLoss()表示图片通过骨干网络Darknet-53所产生的真实损失,该损失无预先定义,在确定了为本模型添加的检测头后,可为任意检测头(ClassificationHead)所定义的损失;xp=(xi,xj)为一次损失预测模块的反向传播过程使用到的两张图片,sign()表示示性函数,li表示图片xi经过主干网络产生的损失值,lj表示图片xj经过主干网络产生的损失值,表示图片xi经过损失预测网络产生的损失值,表示图片xj经过损失预测网络产生的损失值,η是一个超参,用来调节和之间的差异。
使用整体网络的训练损失函数,可以使得网络进行端到端训练。
在使用标注数据完成对整体网络的训练之后,需要使用一种策略从未标注数据集中选取带有信息量的数据进行标注,并加入到已标注数据集中对整体网络进行迭代训练。在理想情况下,可以直接根据损失预测模块输出的损失预测值进行样本的选择,此时输出的损失预测值越大代表着样本值得学习的信息量越大。然而,在芯片缺陷检测问题中,模型本身受到了噪声的较大干扰,需要在抗噪声上增强模型的鲁棒性,因此采用基于高斯噪声的样本选择方法选择新添加进标注集合的样本。
本申请认为直接使用Darknet-53模型进行缺陷检测时误检情况的产生由噪声的干扰造成。针对直接使用Darknet-53进行芯片缺陷检测遇到的高误检率的问题,采用基于高斯噪声的样本选择方法进行最终的样本选择步骤,使得模型选择添加噪声后预测更加不稳定的图片进行训练,让模型在训练过程中获得更加边缘性的芯片缺陷信息,增强模型的鲁棒性,使得模型更加不容易受到噪声干扰。
本申请在使用损失预测模块得到网络对未标注图片的损失预测值后,使用基于高斯噪声的样本选择方法进行最终的交由人工标注的样本选择。
进一步地,在本申请实施例中,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,具体为:
步骤S1:在从未标注数据集U中选择需要标注的图片时,对每一张未标注数据集U中的图片xu,在完成输入网络之前所需的所有预处理过程后,进行不同大小方差的高斯噪声预处理,对于使用了方差为μn的高斯噪声预处理的图片xu,将预处理后的图片记作取n=1,2,3,...,N,将整体网络分别对所有的预处理后的图片进行推理,得到损失预测模块对所有图片的预测损失:
步骤S2:根据预测损失,可以计算图片xu经过网络预测的信息量得分:
步骤S3:在进行选择目标图片进行标注并加入标注集合过程时,使用步骤S1、S2的方法处理未标注图片中所有的图片,设定阈值选择信息量得分排名靠前的图片。
图2为本申请实施例的基于主动学习的芯片缺陷检测方法的损失预测模块(LPM)结构示意图。
如图2所示,取出Darknet-53骨干网络结构中每一类重复的残差块中最后一个残差块的输出(整个网络共有5个输出),将这些输出分别通过全局平均池化层(GAP,可以将高维特征图转化为单维度向量)、全连接层与一个ReLU激活层,拼接所有的ReLU激活层输出,并通过一个全连接层之后获得损失预测值。
图3为本申请实施例的基于主动学习的芯片缺陷检测方法的高斯噪声样本选择示意图。
如图3所示,在进行选择目标图片进行标注并加入标注集合过程时,在从未标注数据集中选择需要标注的图片时,对每一张未标注数据集中的图片,在完成输入网络之前所需的所有预处理过程后,进行不同大小方差的高斯噪声预处理,将整体网络分别对所有的预处理后的图片进行推理,得到损失预测模块对所有图片的预测损失,根据预测损失,计算图片经过网络预测的信息量得分,设定阈值选择信息量得分排名靠前的图片。
图4为本申请实施例的基于主动学习的芯片缺陷检测方法的整体方法流程图。
如图4所示,在训练过程中,使用整体神经网络结构对已标注的数据进行反向传播,同时训练骨干网络Darknet-53与损失预测模块。在选择标注样本过程中,根据基于高斯噪声的样本选择方法选择合适的样本进行标注。将标注好的样本加入标注集合,完成一次迭代训练。不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。
图5为本申请实施例二所提供的一种基于主动学习的芯片缺陷检测装置的结构示意图。
如图5所示,该基于主动学习的芯片缺陷检测装置,包括:获取模块10、模型生成模块20、模型训练模块30、样本选择模块40、迭代模块50,其中,
获取模块10,用于获取芯片图片集合,其中,芯片图片集合包括标注数据集和未标注数据集;
模型生成模块20,用于构建芯片缺陷检测骨干网络,之后根据芯片缺陷检测骨干网络构建损失预测模块;
模型训练模块30,用于使用芯片图片集合对芯片缺陷检测骨干网络和损失预测模块进行训练;
样本选择模块40,用于使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;
迭代模块50,用于将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。
本申请实施例的基于主动学习的芯片缺陷检测装置,包括:获取模块、模型生成模块、模型训练模块、样本选择模块、迭代模块,其中,获取模块,用于获取芯片图片集合,其中,芯片图片集合包括标注数据集和未标注数据集;模型生成模块,用于构建芯片缺陷检测骨干网络,之后根据芯片缺陷检测骨干网络构建损失预测模块;模型训练模块,用于使用芯片图片集合对芯片缺陷检测骨干网络和损失预测模块进行训练;样本选择模块,用于使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;迭代模块,用于将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。由此,能够解决现有方法不能针对性地对芯片缺陷检测进行优化的问题,有针对性地改进了将目标检测技术应用于芯片缺陷检测任务中的召回率低、容易误检等问题,实现了一种通过较少数量图片标注完成芯片缺陷检测生产任务的单阶段易用目标检测方法,在标注少的客观条件下进一步改善了缺陷检测效果,节省了标注的人力成本,具有较强的实用性。
为了实现上述实施例,本申请还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例的基于主动学习的芯片缺陷检测方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (7)
1.一种基于主动学习的芯片缺陷检测方法,其特征在于,包括以下步骤:
获取芯片图片集合,其中,所述芯片图片集合包括标注数据集和未标注数据集;
构建芯片缺陷检测骨干网络,之后根据所述芯片缺陷检测骨干网络构建损失预测模块;
使用芯片图片集合对所述芯片缺陷检测骨干网络和所述损失预测模块进行训练;
使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;
将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。
2.如权利要求1所述的方法,其特征在于,所述构建芯片缺陷检测骨干网络使用Darknet-53卷积网络,在Darknet-53卷积网络中添加任意检测头之后得到网络的最终输出,且根据芯片数据目标类数对最终输出的维度进行调整,使得网络输出维度数与芯片数据目标类数一致,同时,根据目前已有的芯片标注数据通过K-均值聚类得到9种大小的标注框聚类结果,将其用作模型的预设锚框设定,完成芯片缺陷检测骨干网络的构建。
3.如权利要求1所述的方法,其特征在于,所述根据所述芯片缺陷检测骨干网络构建损失预测模块,具体为:
取出芯片缺陷检测骨干网络结构中每一类重复的残差块中最后一个残差块的输出,将这些输出分别通过全局平均池化层、全连接层与一个RELU激活层,拼接所有的RELU激活层输出,并通过一个全连接层之后获得损失预测值,完成损失预测模块的构建。
4.如权利要求1所述的方法,其特征在于,所述芯片缺陷检测骨干网络和所述损失预测模块训练时使用的损失函数表示为:
LossBackbone+LPM(xp)=λ·2LossLPM(xp)+fLoss(xi)+fLoss(xj)
5.如权利要求1所述的方法,其特征在于,所述使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,具体为:
步骤S1:在从未标注数据集中选择需要标注的图片时,对每一张未标注数据集中的图片,在完成输入网络之前所需的所有预处理过程后,进行不同大小方差的高斯噪声预处理,将整体网络分别对所有的预处理后的图片进行推理,得到损失预测模块对所有图片的预测损失;
步骤S2:根据所述预测损失,计算图片经过网络预测的信息量得分;
步骤S3:在进行选择目标图片进行标注并加入标注集合过程时,使用步骤S1、S2的方法处理未标注图片中所有的图片,设定阈值选择信息量得分排名靠前的图片。
6.一种基于主动学习的芯片缺陷检测装置,其特征在于,包括获取模块、模型生成模块、模型训练模块、样本选择模块、迭代模块,其中,
所述获取模块,用于获取芯片图片集合,其中,所述芯片图片集合包括标注数据集和未标注数据集;
所述模型生成模块,用于构建芯片缺陷检测骨干网络,之后根据所述芯片缺陷检测骨干网络构建损失预测模块;
所述模型训练模块,用于使用芯片图片集合对所述芯片缺陷检测骨干网络和所述损失预测模块进行训练;
所述样本选择模块,用于使用损失预测模块得到芯片缺陷检测骨干网络对未标注数据集的损失预测值后,使用基于高斯噪声的样本选择方法对未标注数据集进行最终的样本选择,并将最终选择的样本交由人工标注,生成新的标注数据集;
所述迭代模块,用于将新的标注数据集加入标注数据集,完成一次迭代训练,不断迭代训练整体神经网络模型,直到获得具有足够精度的芯片缺陷检测网络。
7.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111406621.6A CN114155213A (zh) | 2021-11-24 | 2021-11-24 | 基于主动学习的芯片缺陷检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111406621.6A CN114155213A (zh) | 2021-11-24 | 2021-11-24 | 基于主动学习的芯片缺陷检测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114155213A true CN114155213A (zh) | 2022-03-08 |
Family
ID=80457877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111406621.6A Pending CN114155213A (zh) | 2021-11-24 | 2021-11-24 | 基于主动学习的芯片缺陷检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114155213A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115375678A (zh) * | 2022-10-24 | 2022-11-22 | 江苏智云天工科技有限公司 | 工件缺陷检测方法和装置 |
CN115953588A (zh) * | 2023-03-16 | 2023-04-11 | 深圳市华汉伟业科技有限公司 | 一种图像的重要样本挖掘方法及特征图像检测方法 |
WO2023173598A1 (zh) * | 2022-03-15 | 2023-09-21 | 中国华能集团清洁能源技术研究院有限公司 | 基于改进ssd模型的风机叶片缺陷检测方法及系统 |
CN117149551A (zh) * | 2023-10-30 | 2023-12-01 | 鹰驾科技(深圳)有限公司 | 一种车载无线通信芯片的测试方法 |
-
2021
- 2021-11-24 CN CN202111406621.6A patent/CN114155213A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023173598A1 (zh) * | 2022-03-15 | 2023-09-21 | 中国华能集团清洁能源技术研究院有限公司 | 基于改进ssd模型的风机叶片缺陷检测方法及系统 |
CN115375678A (zh) * | 2022-10-24 | 2022-11-22 | 江苏智云天工科技有限公司 | 工件缺陷检测方法和装置 |
CN115953588A (zh) * | 2023-03-16 | 2023-04-11 | 深圳市华汉伟业科技有限公司 | 一种图像的重要样本挖掘方法及特征图像检测方法 |
CN117149551A (zh) * | 2023-10-30 | 2023-12-01 | 鹰驾科技(深圳)有限公司 | 一种车载无线通信芯片的测试方法 |
CN117149551B (zh) * | 2023-10-30 | 2024-02-09 | 鹰驾科技(深圳)有限公司 | 一种车载无线通信芯片的测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476302B (zh) | 基于深度强化学习的Faster-RCNN目标物体检测方法 | |
CN114155213A (zh) | 基于主动学习的芯片缺陷检测方法和装置 | |
CN108830326B (zh) | 一种mri图像的自动分割方法及装置 | |
Yang et al. | A constant-space belief propagation algorithm for stereo matching | |
CN109508671B (zh) | 一种基于弱监督学习的视频异常事件检测系统及其方法 | |
Wang et al. | Distributed defect recognition on steel surfaces using an improved random forest algorithm with optimal multi-feature-set fusion | |
CN111369572A (zh) | 一种基于图像修复技术的弱监督语义分割方法和装置 | |
CN109284779A (zh) | 基于深度全卷积网络的物体检测方法 | |
CN114581388A (zh) | 接触网零部件缺陷检测方法及装置 | |
CN108595558B (zh) | 一种数据均衡策略和多特征融合的图像标注方法 | |
CN112053354B (zh) | 一种轨道板裂缝检测方法 | |
CN112613428B (zh) | 基于平衡损失的Resnet-3D卷积牛视频目标检测方法 | |
CN113591948A (zh) | 一种缺陷模式识别方法、装置、电子设备和存储介质 | |
CN114926441A (zh) | 一种注塑件加工成型的缺陷检测方法及系统 | |
CN111222546A (zh) | 一种多尺度融合的食品图像分类模型训练及图像分类方法 | |
CN110827327B (zh) | 一种基于融合的长期目标跟踪方法 | |
CN116266387A (zh) | 基于重参数化残差结构和坐标注意力机制的yolov4的图像识别算法及系统 | |
CN109190505A (zh) | 基于视觉理解的图像识别方法 | |
US20230298335A1 (en) | Computer-implemented method, data processing apparatus and computer program for object detection | |
CN115410059B (zh) | 基于对比损失的遥感图像部分监督变化检测方法及设备 | |
CN116596895A (zh) | 一种变电设备图像缺陷识别方法及系统 | |
CN116228795A (zh) | 一种基于弱监督学习的超高分辨率医学图像分割方法 | |
CN109165586A (zh) | 用于ai芯片的智能图像处理方法 | |
CN109165587A (zh) | 智能图像信息抽取方法 | |
JP2023038144A (ja) | 複数の機械学習プログラムを使用して画像の異常を検出するための方法およびシステム |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Xiong Yizhe Inventor before: Xiong Yizhe Inventor before: Chen Hui Inventor before: Chen Shijiang |
|
CB03 | Change of inventor or designer information |