CN114037653B - 基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统 - Google Patents
基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统 Download PDFInfo
- Publication number
- CN114037653B CN114037653B CN202111114994.6A CN202111114994A CN114037653B CN 114037653 B CN114037653 B CN 114037653B CN 202111114994 A CN202111114994 A CN 202111114994A CN 114037653 B CN114037653 B CN 114037653B
- Authority
- CN
- China
- Prior art keywords
- training
- model
- knowledge distillation
- data set
- data
- 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.)
- Active
Links
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 92
- 238000001514 detection method Methods 0.000 title claims abstract description 36
- 230000007547 defect Effects 0.000 title claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 138
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012795 verification Methods 0.000 claims abstract description 25
- 230000011218 segmentation Effects 0.000 claims abstract description 14
- 238000004088 simulation Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 27
- 238000013480 data collection Methods 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 5
- 238000012952 Resampling Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 16
- 238000009826 distribution Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004821 distillation Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
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
- G06T7/0006—Industrial image inspection using a design-rule based approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/254—Fusion techniques of classification results, e.g. of results related to same input data
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
本发明涉及一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统,方法包括:收集真实场景数据和实验室模拟数据,构建原始数据集,然后拆分并重新构建为K个数据集组合,每个数据集组合均包括验证集和训练集;对每个数据集组合,依次采用训练集训练预测模型,采用验证集进行模型微调,然后对训练集进行预测,获取软标签,重新训练预测模型,得到K个知识蒸馏模型;对K个知识蒸馏模型的预测结构进行融合,得到新的数据集,用于模型训练。与现有技术相比,本发明不仅可以充分利用有限的真实标记样本数据,构造满足工业检测准确性和实时性要求的人工智能算法,而且适用于图像分类、目标检测、实体分割等不同的工业机器视觉缺陷检测场景。
Description
技术领域
本发明涉及工业机器视觉缺陷检测技术领域,尤其是涉及基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统。
背景技术
随着人工智能技术的发展和成熟,以机器学习和深度学习为基础的人工智能算法已经在越来越多的领域得到广泛的应用和探索。特别的,在工业领域,利用机器视觉技术来实现自动化的缺陷检测已经成为一个非常迫切的需求。然而,因为工业领域的特殊性,机器视觉检测方案的落地实施存在着一些困难。其中一个突出的问题表现在工业视觉缺陷检测领域中难以获得大量的实际生产环境中的标记样本。生产环境中的,缺陷样品本身数量就很少,要获取大量的缺陷样本需要付出极大的人力和时间成本。如何在缺乏大量标记样本的条件下,训练和学习基于深度学习的检测模型是一个不可避免的问题。
在实际应用中,有几种不同的解决思路:
一种是基于无监督学习或者少样本学习的方法,然而由于深度神经网络必须要大量的数据进行训练,这种方法的检测准确率并不能满足工业领域对于可靠性和准确性的要求。
一种是在实验室中大量构造和模拟生产环境中的缺陷样本,并且通过各种数据增强的手段来扩充数据集,然而,这些扩充的数据分布经常与生产环境中的真实数据分布不一致,需要将收集到的真实标记样本拆分出验证集和测试集,导致参与训练的真实标记样本数量更少,降低了算法的准确性。
另一种方法是在第二种方法的基础上采用K折交叉验证的方法训练K个模型,采用模型组合的方式来解决这个问题。虽然可以充分利用真实标记样本的信息,但是模型组合的方法无法满足工业领域的检测实时性的要求。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种充分利用有限的真实标记样本数据,构造满足工业检测准确性和实时性要求的基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统。
本发明的目的可以通过以下技术方案来实现:
一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法,包括以下步骤:
数据收集和标注步骤:收集真实场景数据和实验室模拟数据及其标记,构建原始数据集;
数据集分割步骤:将所述原始数据集拆分并重新构建为K个数据集组合,每个数据集组合均包括验证集和训练集;
一阶段知识蒸馏步骤:采用所述K个数据集组合分别进行模型训练和知识蒸馏,得到K个知识蒸馏模型,所述模型训练和知识蒸馏的过程具体为:
采用一个数据集组合中的训练集训练预先建立的预测模型,得到预训练模型;
固定该预训练模型中前面N层的参数,采用该数据集组合中的验证集进行模型微调,得到微调后的模型;
采用微调后的模型对该训练集进行预测,得到对应的软标签;
将所述软标签与该训练集组合构建包含特征、标记和软标签的带软标签的训练集;采用该带软标签的训练集重新训练所述预测模型,得到一个知识蒸馏模型;
二阶段知识蒸馏步骤:采用得到的K个知识蒸馏模型分别对所述原始数据集进行训练,得到K个预测结果,对该K个预测结果进行融合,得到原始数据预测值,并与原始数据集中的特征拼接,得到新的数据集;在该新的数据集中进行模型训练,得到最终的模型,用于工业视觉缺陷检测。
进一步地,一阶段知识蒸馏步骤中,采用带软标签的训练集重新训练预测模型时,训练过程的损失函数为:
L1(y,Φ1(X))+L2(ysoft,Φ1(X))
式中,L1和L2均为损失函数计算式,y为标记,ysoft为软标签,X为特征,Φ1(X)为预测模型根据带软标签的训练集的特征的预测结果。
进一步地,数据集分割步骤中,将所述原始数据集分为K个子集合,并根据该K个子集合采用无重复抽样方法,构建所述K个数据集组合。
进一步地,所述数据集组合的构建过程具体为:
将原始数据集中的真实场景数据均分为K份,采用无重复抽样方法选取其中一份作为验证集,将剩余的K-1份真实场景数据和实验室模拟数据作为训练集。
进一步地,对K个预测结果进行融合采用的融合函数为:
式中,y1为对K个预测结果融合后的原始数据预测值,pk为第K个预测结果。
本发明还提供一种基于二阶段知识蒸馏的工业机器视觉缺陷检测系统,包括:
数据收集和标注模块,被配置为收集真实场景数据和实验室模拟数据及其标记,构建原始数据集;
数据集分割模块,被配置为将所述原始数据集拆分并重新构建为K个数据集组合,每个数据集组合均包括验证集和训练集;
一阶段知识蒸馏模块,被配置为采用所述K个数据集组合分别进行模型训练和知识蒸馏,得到K个知识蒸馏模型,所述模型训练和知识蒸馏的过程具体为:
采用一个数据集组合中的训练集训练预先建立的预测模型,得到预训练模型;
固定该预训练模型中前面N层的参数,采用该数据集组合中的验证集进行模型微调,得到微调后的模型;
采用微调后的模型对该训练集进行预测,得到对应的软标签;
将所述软标签与该训练集组合构建包含特征、标记和软标签的带软标签的训练集;采用该带软标签的训练集重新训练所述预测模型,得到一个知识蒸馏模型;
二阶段知识蒸馏模块,被配置为采用得到的K个知识蒸馏模型分别对所述原始数据集进行训练,得到K个预测结果,对该K个预测结果进行融合,得到原始数据预测值,并与原始数据集中的特征拼接,得到新的数据集;在该新的数据集中进行模型训练,得到最终的模型,用于工业视觉缺陷检测。
进一步地,一阶段知识蒸馏模块中,采用带软标签的训练集重新训练预测模型时,训练过程的损失函数为:
L1(y,Φ1(X))+L2(ysoft,Φ1(X))
式中,L1和L2均为损失函数计算式,y为标记,ysoft为软标签,X为特征,Φ1(X)为预测模型根据带软标签的训练集的特征的预测结果。
进一步地,数据集分割模块中,将所述原始数据集分为K个子集合,并根据该K个子集合采用无重复抽样方法,构建所述K个数据集组合。
进一步地,所述数据集组合的构建过程具体为:
将原始数据集中的真实场景数据均分为K份,采用无重复抽样方法选取其中一份作为验证集,将剩余的K-1份真实场景数据和实验室模拟数据作为训练集。
进一步地,对K个预测结果进行融合采用的融合函数为:
式中,y1为对K个预测结果融合后的原始数据预测值,pk为第K个预测结果。
与现有技术相比,本发明具有以下优点:
(1)本发明提供一种有效的二阶段知识蒸馏学习框架,不仅可以充分利用有限的真实标记样本数据,构造满足工业检测准确性和实时性要求的人工智能算法;而且该框架作为一个统一的学习框架,可以适用于图像分类、目标检测、实体分割等不同的工业机器视觉缺陷检测场景。
(2)本发明一阶段知识蒸馏步骤的目的在于处理训练数据和验证数据的分布不一致的问题,防止训练集和验证集的效果难以对齐;采用知识蒸馏的方法来桥接训练集和测试集的分布,充分利用有限的真实样本数据提供的有效数据分布信息,提高模型的准确性。
(3)本发明二阶段知识蒸馏步骤目的在于通过一个模型综合前述步骤生成的K个模型的知识,减少模型规模,提升模型实际使用过程中的运行效率,满足工业场景中的实时性要求。
附图说明
图1为本发明实施例中提供的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法的整体流程框架图;
图2为本发明实施例中提供的一种一阶段知识蒸馏流程图;
图3为本发明实施例中提供的一种二阶段知识蒸馏流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
实施例1
本实施例提供一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法,包括以下步骤:
数据收集和标注步骤S1:收集真实场景数据和实验室模拟数据及其标记,构建原始数据集;此过程是包含收集真实场景的数据和标记过程,同时也需要在实验室中构造、模拟大量样本数据;
数据集分割步骤S2:将原始数据集拆分并重新构建为K个数据集组合,每个数据集组合均包括验证集和训练集,为后续一阶段知识蒸馏做准备;
具体为,将原始数据集分为K个子集合,并根据该K个子集合采用无重复抽样方法,构建K个数据集组合;
数据集组合的构建过程具体为:
将原始数据集中的真实场景数据均分为K份,采用无重复抽样方法选取其中一份作为验证集,将剩余的K-1份真实场景数据和实验室模拟数据作为训练集;
一阶段知识蒸馏步骤S3:此过程主要是为了解决训练集和验证集数据分布不一致的问题,实现方法是在数据集分割步骤中生成的K个子集上分别进行模型训练和知识蒸馏的过程,得到K个知识蒸馏模型。此过程中,主要包括4个步骤,首先在子集的训练集上预训练得到预训练模型,然后在此子集的验证集上利用迁移学习进行模型微调。得到微调的模型后,利用此模型对子集的训练集数据进行预测,得到软标签。最后利用得到的软标签及原始子数据集重新进行联合训练;
具体为:采用K个数据集组合分别进行模型训练和知识蒸馏,得到K个知识蒸馏模型,模型训练和知识蒸馏的过程具体为:
采用一个数据集组合中的训练集训练预先建立的预测模型,得到预训练模型;
固定该预训练模型中前面N层的参数,采用该数据集组合中的验证集进行模型微调,得到微调后的模型;
采用微调后的模型对该训练集进行预测,得到对应的软标签;
将软标签与该训练集组合构建包含特征、标记和软标签的带软标签的训练集;采用该带软标签的训练集重新训练预测模型,得到一个知识蒸馏模型;采用带软标签的训练集重新训练预测模型时,训练过程的损失函数为:
L1(y,Φ1(X))+L2(ysoft,Φ1(X))
式中,L1和L2均为损失函数计算式,y为标记,ysoft为软标签,X为特征,Φ1(X)为预测模型根据带软标签的训练集的特征的预测结果;
二阶段知识蒸馏步骤S4:此过程主要是为了在保证准确率的前提下提高模型的检测效率。实现方法是通过对步骤3中生成的K个知识蒸馏模型进行二次蒸馏。此过程主要4个步骤,首先用K个知识蒸馏模型对训练集进行预测,得到K预测结果。然后利用将K个预测结果进行融合,得到伪标签。接着将生成的为标签和原始训练数据进行整合,构造新的训练数据集。最后是在新的数据集上进行模型训练,得到最终的模型;
相当于,采用得到的K个知识蒸馏模型分别对原始数据集进行训练,得到K个预测结果,对该K个预测结果进行融合,得到原始数据预测值,并与原始数据集中的特征拼接,得到新的数据集;在该新的数据集中进行模型训练,得到最终的模型,用于工业视觉缺陷检测。
如图1所示,下面对本实施例基于二阶段知识蒸馏的工业机器视觉缺陷检测方法的具体实施过程进行描述,其包括以下四个步骤:
1、数据收集和标记
数据收集和标记既包含生产环境中收集、标记的少量的真实样本数据用Dreal={Xreal,yreal}表示,也包含在实验室环境中模拟、构造的大量的样本数据Dlab={Xlab,ylab},这些数据统一作为后续模型学习的原始数据用D=Union(Dreal,Dlab)。其中实验室数据的量远远大于真实数据即card(Dreal)<<card(Dlab),且二者数据分布往往不一致。
2、数据集切分
数据集切分是指将原始数据分为训练数据Dtrain和验证数据Dvalid。切分过程采用k折交叉验证所使用的无重复抽样方法。将真实数据均分为K份,其中1份为验证集,剩余的k-1份和实验室构造的样本数据作为训练数据。架构图中示例为k=5,其中D0为Dlab,{Di,i=1,2,3,4,5}表示Dreal的均匀K等分。
3、验证集知识蒸馏
验证集知识蒸馏也就是第一阶段的知识蒸馏,其目的在于处理训练数据和验证数据的分布不一致的问题,防止训练集和验证集的效果难以对齐。采用知识蒸馏的方法来桥接训练集和测试集的分布,充分利用有限的真实样本数据提供的有效数据分布信息,提高模型的准确性。具体步骤如附图2:
a)首先在训练集Dtrain1={Di,i=0,1,2,3,4},上训练模型,得到预训练模型Φ1。其中Di={X,y}表示训练数据的标记结果,X表示特征,y表示X对应的标签。训练过程的损失函数为L1(y,Φ1(X))。根据工业视觉领域的不同任务,选择具体适合的模型网络结构和损失函数。
b)然后采用迁移学习的方法,固定预训练模型Φ1的前面N层参数,只训练模型后M层的参数。在验证集D5上进行模型微调,使得模型能够学习到验证集的数据分布信息。
c)利用微调后的模型Φ1对训练集数据Dtrain1进行预测,得到其对应的软标签ysoft=Φ1(X),其中X表示Dtrain1={X,y}中的特征数据。
d)构造带软标签的训练数据Dtrain1_s={X,y,ysoft},此时训练数据中已经包含了验证集的数据分布信息。
e)在带软标签的训练集Dtrain1_s={X,y,ysoft}上重新训练模型,得到一阶段知识蒸馏模型Ψ1。
其中训练过程中的损失函数为L1(y,Φ1(X))+L2(ysoft,Φ1(X))。将软标签引入损失函数,与原始的标签联合学习,进一步促使模型接近验证集分布。
f)对K折切分数据分别执行上述步骤,得到K个知识蒸馏模型{Ψi,i=1,2,3..K},实例中K=5。
4、知识蒸馏模型的再蒸馏
知识蒸馏模型的再蒸馏,也就是第二阶段的知识蒸馏,目的在于通过一个模型综合前述步骤生成的K个模型的知识,减少模型规模,提升模型实际使用过程中的运行效率,满足工业场景中的实时性要求。其基本结构是典型的教师学生结构。将K个教师模型的输出结果融合后作为新的学生模型的标签数据,最终使得唯一的学生模型融合K个教师模型的信息。具体操作步骤如附图3:
a)针对原始训练集D={X,y},首先利用前述步骤获得的K个知识蒸馏模型来进行预测的到预测值p=[p1,p2,…,pk]。
b)然后融合这k个预测结果得到y1=Γ(p),Γ为融合函数,比较简单且常用的融合方法为
c)构造新的训练集ND={X,y1}。
d)在新的数据集上训练二阶段蒸馏模型,得到最终的输出模型Θ,其中损失函数使用loss(Θ(X),y1)的形式。
实施例2
本实施例提供一种基于二阶段知识蒸馏的工业机器视觉缺陷检测系统,包括:
数据收集和标注模块,被配置为收集真实场景数据和实验室模拟数据及其标记,构建原始数据集;相当于执行实施例1中的数据收集和标注步骤;
数据集分割模块,被配置为将原始数据集拆分并重新构建为K个数据集组合,每个数据集组合均包括验证集和训练集;相当于执行实施例1中的数据集分割步骤;
K个数据集组合的构建过程具体为:将原始数据集分为K个子集合,并根据该K个子集合采用无重复抽样方法,构建K个数据集组合。
数据集组合的构建过程具体为:
将原始数据集中的真实场景数据均分为K份,采用无重复抽样方法选取其中一份作为验证集,将剩余的K-1份真实场景数据和实验室模拟数据作为训练集;
一阶段知识蒸馏模块,被配置为采用K个数据集组合分别进行模型训练和知识蒸馏,得到K个知识蒸馏模型,模型训练和知识蒸馏的过程具体为:
采用一个数据集组合中的训练集训练预先建立的预测模型,得到预训练模型;
固定该预训练模型中前面N层的参数,采用该数据集组合中的验证集进行模型微调,得到微调后的模型;
采用微调后的模型对该训练集进行预测,得到对应的软标签;
将软标签与该训练集组合构建包含特征、标记和软标签的带软标签的训练集;采用该带软标签的训练集重新训练预测模型,得到一个知识蒸馏模型;
采用带软标签的训练集重新训练预测模型时,训练过程的损失函数为:
L1(y,Φ1(X))+L2(ysoft,Φ1(X))
式中,L1和L2均为损失函数计算式,y为标记,ysoft为软标签,X为特征,Φ1(X)为预测模型根据带软标签的训练集的特征的预测结果;
相当于执行实施例1中的一阶段知识蒸馏步骤;
二阶段知识蒸馏模块,被配置为采用得到的K个知识蒸馏模型分别对原始数据集进行训练,得到K个预测结果,对该K个预测结果进行融合,得到原始数据预测值,并与原始数据集中的特征拼接,得到新的数据集;在该新的数据集中进行模型训练,得到最终的模型,用于工业视觉缺陷检测;
相当于执行实施例1中的二阶段知识蒸馏模块。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法,其特征在于,包括以下步骤:
数据收集和标注步骤:收集真实场景数据和实验室模拟数据及其标记,构建原始数据集;
数据集分割步骤:将所述原始数据集拆分并重新构建为K个数据集组合,每个数据集组合均包括验证集和训练集;
一阶段知识蒸馏步骤:采用所述K个数据集组合分别进行模型训练和知识蒸馏,得到K个知识蒸馏模型,所述模型训练和知识蒸馏的过程具体为:
采用一个数据集组合中的训练集训练预先建立的预测模型,得到预训练模型;
固定该预训练模型中前面N层的参数,采用该数据集组合中的验证集进行模型微调,得到微调后的模型;
采用微调后的模型对该训练集进行预测,得到对应的软标签;
将所述软标签与该训练集组合构建包含特征、标记和软标签的带软标签的训练集;采用该带软标签的训练集重新训练所述预测模型,得到一个知识蒸馏模型;
二阶段知识蒸馏步骤:采用得到的K个知识蒸馏模型分别对所述原始数据集进行训练,得到K个预测结果,对该K个预测结果进行融合,得到原始数据预测值,并与原始数据集中的特征拼接,得到新的数据集;在该新的数据集中进行模型训练,得到最终的模型,用于工业视觉缺陷检测。
2.根据权利要求1所述的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法,其特征在于,一阶段知识蒸馏步骤中,采用带软标签的训练集重新训练预测模型时,训练过程的损失函数为:
L1(y,Φ1X)+L2(ysoft,Φ1X)
式中,L1和L2均为损失函数计算式,y为标记,ysoft为软标签,X为特征,Φ1X为预测模型根据带软标签的训练集的特征的预测结果。
3.根据权利要求1所述的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法,其特征在于,数据集分割步骤中,将所述原始数据集分为K个子集合,并根据该K个子集合采用无重复抽样方法,构建所述K个数据集组合。
4.根据权利要求3所述的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法,其特征在于,所述数据集组合的构建过程具体为:
将原始数据集中的真实场景数据均分为K份,采用无重复抽样方法选取其中一份作为验证集,将剩余的K-1份真实场景数据和实验室模拟数据作为训练集。
5.根据权利要求1所述的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测方法,其特征在于,对K个预测结果进行融合采用的融合函数为:
式中,y1为对K个预测结果融合后的原始数据预测值,pk为第K个预测结果。
6.一种基于二阶段知识蒸馏的工业机器视觉缺陷检测系统,其特征在于,包括:
数据收集和标注模块,被配置为收集真实场景数据和实验室模拟数据及其标记,构建原始数据集;
数据集分割模块,被配置为将所述原始数据集拆分并重新构建为K个数据集组合,每个数据集组合均包括验证集和训练集;
一阶段知识蒸馏模块,被配置为采用所述K个数据集组合分别进行模型训练和知识蒸馏,得到K个知识蒸馏模型,所述模型训练和知识蒸馏的过程具体为:
采用一个数据集组合中的训练集训练预先建立的预测模型,得到预训练模型;
固定该预训练模型中前面N层的参数,采用该数据集组合中的验证集进行模型微调,得到微调后的模型;
采用微调后的模型对该训练集进行预测,得到对应的软标签;
将所述软标签与该训练集组合构建包含特征、标记和软标签的带软标签的训练集;采用该带软标签的训练集重新训练所述预测模型,得到一个知识蒸馏模型;
二阶段知识蒸馏模块,被配置为采用得到的K个知识蒸馏模型分别对所述原始数据集进行训练,得到K个预测结果,对该K个预测结果进行融合,得到原始数据预测值,并与原始数据集中的特征拼接,得到新的数据集;在该新的数据集中进行模型训练,得到最终的模型,用于工业视觉缺陷检测。
7.根据权利要求6所述的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测系统,其特征在于,一阶段知识蒸馏模块中,采用带软标签的训练集重新训练预测模型时,训练过程的损失函数为:
L1(y,Φ1X)+L2(ysoft,Φ1X)
式中,L1和L2均为损失函数计算式,y为标记,ysoft为软标签,X为特征,Φ1X为预测模型根据带软标签的训练集的特征的预测结果。
8.根据权利要求6所述的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测系统,其特征在于,数据集分割模块中,将所述原始数据集分为K个子集合,并根据该K个子集合采用无重复抽样方法,构建所述K个数据集组合。
9.根据权利要求8所述的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测系统,其特征在于,所述数据集组合的构建过程具体为:
将原始数据集中的真实场景数据均分为K份,采用无重复抽样方法选取其中一份作为验证集,将剩余的K-1份真实场景数据和实验室模拟数据作为训练集。
10.根据权利要求6所述的一种基于二阶段知识蒸馏的工业机器视觉缺陷检测系统,其特征在于,对K个预测结果进行融合采用的融合函数为:
式中,y1为对K个预测结果融合后的原始数据预测值,pk为第K个预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111114994.6A CN114037653B (zh) | 2021-09-23 | 2021-09-23 | 基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111114994.6A CN114037653B (zh) | 2021-09-23 | 2021-09-23 | 基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114037653A CN114037653A (zh) | 2022-02-11 |
CN114037653B true CN114037653B (zh) | 2024-08-06 |
Family
ID=80140427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111114994.6A Active CN114037653B (zh) | 2021-09-23 | 2021-09-23 | 基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114037653B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114972952B (zh) * | 2022-05-29 | 2024-03-22 | 重庆科技学院 | 一种基于模型轻量化的工业零部件缺陷识别方法 |
CN117011213B (zh) * | 2022-08-25 | 2024-08-06 | 腾讯科技(深圳)有限公司 | 一种缺陷检测模型的训练方法和相关装置 |
CN117314904B (zh) * | 2023-11-28 | 2024-02-23 | 江苏金恒信息科技股份有限公司 | 一种钢板表面缺陷检测方法 |
CN118411512A (zh) * | 2024-04-30 | 2024-07-30 | 应急管理部大数据中心 | 基于视觉大模型的煤矿井下目标检测方法及视频分析设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241455A (zh) * | 2020-12-17 | 2021-01-19 | 之江实验室 | 基于多层级知识蒸馏预训练语言模型自动压缩方法及平台 |
CN112967088A (zh) * | 2021-03-03 | 2021-06-15 | 上海数鸣人工智能科技有限公司 | 基于知识蒸馏的营销活动预测模型结构和预测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11790264B2 (en) * | 2019-06-19 | 2023-10-17 | Google Llc | Systems and methods for performing knowledge distillation |
CN110472730A (zh) * | 2019-08-07 | 2019-11-19 | 交叉信息核心技术研究院(西安)有限公司 | 一种卷积神经网络的自蒸馏训练方法和可伸缩动态预测方法 |
-
2021
- 2021-09-23 CN CN202111114994.6A patent/CN114037653B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241455A (zh) * | 2020-12-17 | 2021-01-19 | 之江实验室 | 基于多层级知识蒸馏预训练语言模型自动压缩方法及平台 |
CN112967088A (zh) * | 2021-03-03 | 2021-06-15 | 上海数鸣人工智能科技有限公司 | 基于知识蒸馏的营销活动预测模型结构和预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114037653A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114037653B (zh) | 基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统 | |
CN110533086B (zh) | 图像数据半自动标注方法 | |
CN109271539B (zh) | 一种基于深度学习的图像自动标注方法及装置 | |
CN111914644A (zh) | 一种基于双模态协同的弱监督时序动作定位方法及系统 | |
CN114816497B (zh) | 基于bert预训练模型的链接生成方法 | |
CN106156805A (zh) | 一种样本标签缺失数据的分类器训练方法 | |
CN111476307A (zh) | 一种基于深度领域适应的锂电池表面缺陷检测方法 | |
CN113723312A (zh) | 基于视觉transformer的水稻病害识别方法 | |
CN115631186B (zh) | 一种基于双分支神经网络的工业元件表面缺陷检测方法 | |
Chugunkov et al. | Creation of datasets from open sources | |
CN114818707A (zh) | 一种基于知识图谱的自动驾驶决策方法和系统 | |
Lonij et al. | Open-world visual recognition using knowledge graphs | |
CN114694173A (zh) | 一种基于细粒度特征融合的跨域无监督行人重识别方法 | |
CN117058716A (zh) | 基于图像预融合的跨域行为识别方法及装置 | |
CN111949796A (zh) | 一种资源受限语种语音合成前端文本分析方法及系统 | |
CN117058394A (zh) | 一种零样本语义分割方法 | |
CN115858725B (zh) | 一种基于无监督式图神经网络的文本噪声筛选方法及系统 | |
CN111737402A (zh) | 题库智能知识点标注系统 | |
CN115438152B (zh) | 一种基于多神经网络与知识图谱的简答题评分方法及系统 | |
CN107992482B (zh) | 数学主观题解答步骤的规约方法及系统 | |
CN116302953A (zh) | 一种基于增强嵌入向量语义表示的软件缺陷定位方法 | |
CN115934966A (zh) | 基于遥感影像推荐信息的自动标注方法 | |
CN116089812A (zh) | 基于半监督对抗域泛化智能模型的故障诊断方法 | |
CN113537307A (zh) | 一种基于元学习的自监督域适应方法 | |
CN113505603A (zh) | 适用于司法考试主观题的多任务学习智能阅卷方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |