1.本发明涉及数字图像处理技术领域,尤其涉及一种基于元学习的缺陷检测方法及装置。
背景技术:2.随着现代车刀制造行业的要求日益严格,越来越多的公司开始关注车刀制造过程的质量控制。由于制造技术和环境的影响,车刀表面可能会出现诸如晶体点,蚊子,污点,杂质和划痕等瑕疵,严重影响刀片的外观甚至影响刀片的使用。传统的缺陷检测通常是采用人工肉眼检查的方式,但这种方式检测速度慢,精度低,人工容易疲劳,已经无法满足现代生产要求,因此越来越多的缺陷检测采用人工智能的深度学习来实现。目前基于深度学习的缺陷检测方法大都需要采集大量的样本来进行模型的训练,而为了实现更加精确的有监督式模型,还需要对大量的样本进行标记,工作量十分繁重。
3.因此,如何提供一种所需样本量小且检测准确性高的基于元学习的缺陷检测方法及装置是本领域技术人员亟待解决的一个技术问题。
技术实现要素:4.本发明提供一种基于元学习的缺陷检测方法及装置,以解决上述技术问题。
5.为解决上述技术问题,本发明提供一种基于元学习的缺陷检测方法,所述方法包括:
6.步骤1:获取缺陷检测模型,包括:
7.采集样本集,所述样本集包括带有标签的图片和不带标签的图片,所述标签为所述图片是否存在缺陷的真实结果,将所述不带标签的图片作为预训练数据,将所述带有标签的图片分为训练数据和测试数据;
8.将所述预训练数据输入基础模型,采用迁移学习和语义网络聚合算法对所述基础模型进行训练以得到预训练模型,所述基础模型为元学习模型;
9.将所述训练数据输入所述预训练模型,利用所述训练数据中的图片及其对应的标签训练得到所述缺陷检测模型;
10.将所述测试数据输入所述缺陷检测模型,利用所述测试数据中的图片及其对应的标签对所述缺陷检测模型进行测试和优化;
11.步骤2:利用所述缺陷检测模型预测待检测产品的检测结果,包括:
12.将所述待检测产品的图片输入测试和优化后的所述缺陷检测模型,输出所述待检测产品是否存在缺陷的检测结果。
13.较佳地,所述预训练数据包含多组任务,每组任务包含2~5张图片。
14.较佳地,步骤1还包括,对所述样本集中的图片进行预处理,预处理方式至少包括去噪和滤波。
15.较佳地,为所述基础模型设置超参数,采用传播高阶梯度运算方法对所述超参数
进行优化,基于优化后的超参数提取所述图片的特征集合。
16.较佳地,对所述基础模型进行训练包括:
17.所述语义网络聚合算法被设置为对所述图片进行分析,利用分析结果以及从迁移学习中获得的多种缺陷种类对所述图片进行分类,对分类结果进行标记并输出。
18.较佳地,对所述图片进行分析包括:获得所述图片中每个像素的向量表示,得到图片与图片之间的关系。
19.较佳地,对所述缺陷检测模型进行测试和优化包括:将所述测试数据输入所述缺陷检测模型得到预测结果,计算所述预测结果与所述图片是否有缺陷的真实结果之间的损失函数,通过优化损失函数对所述缺陷检测模型进行优化。
20.较佳地,采用流式细胞术聚类分割算法得到所述损失函数,使用pytorch框架计算二阶导数,并使所述缺陷检测模型的权重以线性叠加的方法进行反向传播。
21.本发明还提供了一种基于元学习的缺陷检测装置,包括:
22.样本采集模块,用于采集样本集,所述样本集包括带有标签的图片和不带标签的图片,所述标签为所述图片是否存在缺陷的真实结果,将所述不带标签的图片作为预训练数据,将所述带有标签的图片分为训练数据和测试数据;
23.预训练模块,用于将所述预训练数据输入基础模型,采用迁移学习和语义网络聚合算法对所述基础模型进行训练以得到预训练模型,所述基础模型为元学习模型;
24.模型训练模块,用于将所述训练数据输入所述预训练模型,利用所述训练数据中的图片及其对应的标签训练得到缺陷检测模型;
25.模型优化模块,用于将所述测试数据输入所述缺陷检测模型,利用所述测试数据中的图片及其对应的标签对所述缺陷检测模型进行测试和优化;以及
26.缺陷检测模块,用于将待检测产品的图片输入测试和优化后的所述缺陷检测模型,输出所述待检测产品是否存在缺陷的检测结果。
27.与现有技术相比,本发明提供的基于元学习的缺陷检测方法及装置具有如下优点:本发明利用元学习的原理,使得预训练模型得到一种“学会学习”的能力,使其可以在获取已有“知识”的基础上快速学习新的任务,跟传统算法相比,它的意图在于通过少量的训练数据能够快速学习新技能或适应新环境,使其能够处理前所未有的新数据,从而提升缺陷的检测能力。
附图说明
28.图1为本发明一具体实施方式中基于元学习的缺陷检测方法的流程图;
29.图2为本发明一具体实施方式中基于元学习的缺陷检测装置的模块图。
具体实施方式
30.为了更详尽的表述上述发明的技术方案,以下列举出具体的实施例来证明技术效果;需要强调的是,这些实施例用于说明本发明而不限于限制本发明的范围。
31.本发明提供的基于元学习的缺陷检测方法,请重点参考图1,所述方法包括:
32.步骤1:获取缺陷检测模型:包括:
33.步骤101:采集样本集,所述样本集包括带有标签的图片和不带标签的图片,所述
标签为所述图片是否存在缺陷的真实结果,换句话说,带有标签的图片是指:图片带有该图片是否存在缺陷的真实结果,该真实结果包括“是”和“否”,“是”代表该图片存在缺陷,“否”代表该图片不存在缺陷,不带有标签的图片是指:仅仅包含图片信息,而该图片是否存在缺陷则为未知状态。将所述不带标签的图片作为预训练数据,将所述带有标签的图片分为训练数据和测试数据。在某一实施例中,共收集样本集72张图片,其中有62张不带标签的图片,将其作为预训练数据;其中还有10张带有标签的图片,将其中的8张作为训练数据,2张作为测试数据。由于本实施例中仅有8张训练数据,如果直接以这样的数据量对模型展开训练,无疑最终的测试准确率将非常低。因为判断结果只有正面和负面两种,因此可以预见最终的测试准确率可能只有50%。而采用本发明提出的方法则能够在减少带有标签的样本需求量的同时,提高检测的准确率。
34.较佳地,样本集采集完成后,需要对样本集中的图片进行预处理,所述预处理的方式至少包括去噪和滤波,以消除图片中的干扰点,为后续图片的处理做准备。
35.步骤103:将所述预训练数据输入基础模型,采用迁移学习和语义网络聚合算法对所述基础模型进行训练以得到预训练模型,所述基础模型为元学习模型。所述元学习模型中,需要对训练单位进行分层,第一层训练单位是任务,也就是说,元学习中要准备许多任务来进行学习,第二层训练单位是每个任务对应的数据。较佳地,本实施例中,所述预训练数据包含多组任务,每组任务包含2~5张图片。这样,第一层训练单位(任务)的种类尽可能多,而第二层训练单位(每种任务对应的图片)的数量尽可能少,以应对网络训练面临的一些新的任务,从而提高预训练模型的学习能力。
36.较佳地,为所述基础模型设置超参数,采用传播高阶梯度运算方法对所述超参数进行优化,基于优化后的超参数提取所述图片的特征集合。具体地,超参数即为:在开始学习过程之前设置的参数数据,而不是通过训练得到的参数数据。所述传播高阶梯度运算方法即利用高阶导数的传播方向(上升或下降)求解极小值或极大值。本发明通过传播高阶梯度运算方法为基础模型选择一组最优的超参数,以提高学习的性能和效果。而基于优化后的超参数提取所述图片的特征集合,可以提高预训练模型在独立数据集上的性能。
37.较佳地,步骤1中,采用迁移学习和语义网络聚合算法对所述基础模型进行训练。具体地,所述迁移学习可以从相关领域中迁移标注数据或者知识结构从而完成或改进目标领域或任务的学习效果。所述语义网络聚合算法即为通过对图片进行语义(特征)分析继而对图片进行分类的方法。
38.具体地,对所述基础模型进行训练包括:所述语义网络聚合算法被设置为对所述图片进行分析(例如提取结构化信息),利用分析结果以及从迁移学习中获得的多种缺陷种类对所述图片进行分类,对分类结果进行标记并输出。具体地,同样以上述总样本集包括72张图片的实施例来讲,用其中62张不带标签的图片对基础模型展开通用的情感判断(特征分析)。对所述图片进行分析包括:获得所述图片中每个像素的向量表示,得到图片与图片之间的关系。具体包括,基于优化后的超参数提取图片的特征集合后,根据图片的特征获取每个像素的向量表示,基于所有像素的向量表示获得两个像素之间的属性,并将其用数字进行表征;然后在对基础模型展开训练的过程中,使得特征类似的像素获得相似的向量表示;最后利用得到的向量表示预测出现在同一张(或非同一张)图片中的其他像素的特征,最终得到图片与图片之间的关系。本发明通过增加上述预训练的过程,在正式的模型训练
之前,即在输入带有标签的图片之前,利用元学习模型的原理令预训练模型对不带标签的图片进行分析学习,并得到对应的分类标记,从而为后续正式模型训练提供基础,在不影响后续模型检测准确度的前提下大大减少训练数据的数量。
39.步骤105:将所述训练数据输入所述预训练模型,利用所述训练数据中的图片及其对应的标签训练得到所述缺陷检测模型。同样以上述总样本集包括72张图片的实施例来讲,在该步骤中,预训练模型可以仅仅通过分析学习8张带有标签的图片的特征,找到其与前述预训练数据中的图片之间的关系,并根据二者之间的关系获得准确的缺陷检测结果。
40.步骤107:将所述测试数据输入所述缺陷检测模型,利用所述测试数据中的图片及其对应的标签对所述缺陷检测模型进行测试和优化。较佳地,对所述缺陷检测模型进行测试和优化包括:将所述测试数据(本实施例中为2张带有标签的图片)输入所述缺陷检测模型得到预测结果,计算所述预测结果与所述图片是否有缺陷的真实结果之间的损失函数,通过优化损失函数对所述缺陷检测模型进行优化。具体地,采用流式细胞术聚类分割算法得到所述损失函数,以降低复杂度,使用pytorch框架计算二阶导数,并使所述缺陷检测模型的权重以线性叠加的方法进行反向传播,以进一步降低复杂度,最终达到快速分割缺陷图片的目的,进而得出更加准确的模型预测结果。具体地,本实施例中,测试数据为a,预测目标数据为b,误差阈值为w,则有b=wa,用损失函数的结果值对w求导,测试和优化的过程即为:通过更改阈值,对每个数据在监督学习和增强学习相结合的算法基础上进行自动循环计算,从而让预测结果更加接近标签记录的真实结果,提高检测精度。
41.步骤2:利用所述缺陷检测模型预测待检测产品的检测结果,包括:
42.步骤109:将所述待检测产品的图片输入测试和优化后的所述缺陷检测模型,输出所述待检测产品是否存在缺陷的检测结果。在上述总样本集包括72张图片的实施例中,仅采用极少量(10张)的带有标签的图片就实现了100%的检测结果准确率。
43.如图2所示,本发明还提供了一种基于元学习的缺陷检测装置200,包括:
44.样本采集模块210,用于执行步骤101,具体包括:采集样本集,所述样本集包括带有标签的图片和不带标签的图片,所述标签为所述图片是否存在缺陷的真实结果,将所述不带标签的图片作为预训练数据,将所述带有标签的图片分为训练数据和测试数据;
45.预训练模块220,用于执行步骤103,具体包括:将所述预训练数据输入基础模型,采用迁移学习和语义网络聚合算法对所述基础模型进行训练以得到预训练模型,所述基础模型为元学习模型;
46.模型训练模块230,用于执行步骤105,具体包括:将所述训练数据输入所述预训练模型,利用所述训练数据中的图片及其对应的标签训练得到缺陷检测模型;
47.模型优化模块240,用于执行步骤107,具体包括:将所述测试数据输入所述缺陷检测模型,利用所述测试数据中的图片及其对应的标签对所述缺陷检测模型进行测试和优化;以及
48.缺陷检测模块250,用于执行步骤109,具体包括:将待检测产品的图片输入测试和优化后的所述缺陷检测模型,输出所述待检测产品是否存在缺陷的检测结果。
49.采用上述装置可以在确保缺陷检测准确率的前提下,大大减少带有标签的样本需求量。
50.综上所述,本发明提供的基于元学习的缺陷检测方法及装置,所述方法包括:步骤
1:获取缺陷检测模型,包括:采集样本集,所述样本集包括带有标签的图片和不带标签的图片,所述标签为所述图片是否存在缺陷的真实结果,将所述不带标签的图片作为预训练数据,将所述带有标签的图片分为训练数据和测试数据;将所述预训练数据输入基础模型,采用迁移学习和语义网络聚合算法对所述基础模型进行训练以得到预训练模型,所述基础模型为元学习模型;将所述训练数据输入所述预训练模型,利用所述训练数据中的图片及其对应的标签训练得到所述缺陷检测模型;将所述测试数据输入所述缺陷检测模型,利用所述测试数据中的图片及其对应的标签对所述缺陷检测模型进行测试和优化;步骤2:利用所述缺陷检测模型预测待检测产品的检测结果,包括:将所述待检测产品的图片输入测试和优化后的所述缺陷检测模型,输出所述待检测产品是否存在缺陷的检测结果。本发明利用元学习的原理,使得预训练模型得到一种“学会学习”的能力,使其可以在获取已有“知识”的基础上快速学习新的任务,跟传统算法相比,它的意图在于通过少量的训练数据能够快速学习新技能或适应新环境,使其能够处理前所未有的新数据,从而提升缺陷的检测能力。
51.显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。