基于知识蒸馏的正样本工业缺陷检测方法与流程

文档序号:25525611发布日期:2021-06-18 20:15阅读:334来源:国知局
基于知识蒸馏的正样本工业缺陷检测方法与流程

本发明涉及工业缺陷检测技术领域,尤其是一种基于知识蒸馏的正样本工业缺陷检测方法。



背景技术:

质量检测是工业自动化生产中的重要一环,基于机器学习的缺陷检测技术已经在很多工业场景广泛替代人工肉眼检测,包括纺织、汽车和机械制造等行业。由于工业缺陷的种类多种多样,难以完整地进行人为划分,传统的机器学习算法就很难通过特征工程实现对缺陷特征的完整建模和迁移,难以具备复用性。近些年来,随着深度学习的不断发展,卷积神经网络由于其强大的特征提取能力,在各种计算机视觉任务上取得了突破性的进展,一些基于深度学习的缺陷检测算法也被广泛应用于各种工业场景。基于深度学习的工业缺陷检测算法不仅具有重要的学术研究价值,而且有着非常广阔的市场应用前景。

当前的工业缺陷检测大多是基于有监督算法,依赖于缺陷标注信息,费时费力。正样本图片在像素分布上可能千差万别,但是内部有一定的特征规律,通常可以用较低维度的潜空间特征来描述,称之为流形。而缺陷样本的分布在潜空间上远离正样本流形,会表现出与正样本不同的结果。常用的正样本缺陷检测大致可以分为生成模型重建方法和特征比对的方法。

生成模型通过训练来学习近似训练集的数据分布,自编码器是常用的一种生成模型方法。自编码器由编码器和解码器两部分构成,编码器将输入样本数据压缩成一个低维的潜空间特征表示,然后解码器将潜空间特征重构回原始输入空间,通过最小化原始输入样本和解码器重构样本之间的距离,实现编码器和解码器的联合学习。自编码器用于无监督缺陷检测时,在训练阶段尝试学习重建无缺陷的正样本。在测试阶段,对于输入的负样本,无法正确重建出缺陷,因此通过对重建样本和原始样本进行逐像素比较可以判断缺陷的位置,实现对缺陷的检测和定位。

生成模型重建方法通过在图像空间上逐像素比较重建图与原图的重建误差来作为缺陷的判定依据,而特征比对方法是在特征空间上进行异常缺陷判定。由于需要在图像空间上逐像素比较重建图与原图之间的重建误差作为异常缺陷判定的依据,因此检测效果依赖于图片的重建质量。自编码器的重建能力有限,当样本复杂,图片重建质量不佳时,就会影响缺陷的检测效果。生成对抗网络的重建能力虽然强,但是容易遇到模式崩溃,即生成结果多样性不足,倾向于只生成原始数据分布的一个子集,这对于缺陷检测而言是致命的。

特征比对的方法通常采取在imagenet自然数据集上预训练的模型作为提取特征的教师网络。而工业缺陷数据和自然数据的分布差异很大,因此直接将在自然数据集上预训练的模型迁移到工业缺陷场景,可能会遇到跨域的问题,会影响检测能力。另外特征比对的方法对细微缺陷的检测能力不够强,因为特征层的微小差异,在特征层面很难区分差异。

在有监督缺陷检测中,标签需要覆盖所有缺陷类型,同时负样本数据需要尽可能地多。然而在实际的工业生产中,事先不知道可能会出现哪种类型的缺陷,而且大部分缺陷出现的频率非常低,即使某些缺陷类型是已知的,在生产过程中随时可能出现新的缺陷类型。因此制作一个详尽且有标注的缺陷数据集是非常困难和耗时的。



技术实现要素:

本发明要解决的技术问题是:提供一种基于知识蒸馏的正样本工业缺陷检测方法。

本发明解决其技术问题所采用的技术方案是:一种基于知识蒸馏的正样本工业缺陷检测方法,包括步骤(s1):构建工业数据集;特别的,还包括:

步骤(s2):对步骤(s1)中的工业数据集的数据进行预处理操作,预处理后的工业数据集包括正样本集和无标注的缺陷样本集。

步骤(s3):使用自监督对比学习在步骤(s2)形成的工业数据集上预训练教师网络模型;使得教师网络模型学习到正样本集的正样本特征和缺陷样本集的缺陷特征的能力。

步骤(s4):在步骤(s2)形成的正样本集的基础上,利用步骤(s3)训练得到的教师网络模型指导学生网络模型训练,使得学生网络模型学习到正样本集的正样本特征的能力。

步骤(s5):使用步骤(s3)训练得到的教师网络模型以及步骤(s4)训练得到的学生网络模型对待测图片进行缺陷检测。

进一步地,步骤(s1)中的工业数据集中所采集的数据为检测平台上的相机获得的待检测工件的图像数据。

进一步地,所述教师网络模型采用在imagenet上预训练的resnet18网络模型,并采用simclr算法对教师网络模型进行无监督微调。

进一步地,分别用教师网络模型和学生网络模型对待测图片提取多尺度特征并形成特征图;所述学生网络模型的mse损失函数lmse定义为公式一。

公式一:

公式一中,f(t)表示教师网络模型提取的多尺度特征,f(s)表示学生网络模型提取的多尺度特征,h和w分别表示特征图的长和宽,n表示特征图包含的像素值个数,c表示通道个数。

进一步地,使用步骤(s3)训练得到的教师网络模型以及步骤(s4)训练得到的学生网络模型对待测图片进行缺陷检测得到待测图片的异常得分图score_map,异常得分图score_map为公式四。

公式四:

公式四中,f(t)表示教师网络模型提取的多尺度特征,f(s)表示学生网络模型提取的多尺度特征,c表示通道个数,upsample表示上采样。

本发明的有益效果是:在本发明中,首先在完整的工业数据集上(正样本集加无标注的缺陷样本集)预训练教师网络模型,然后在正样本集上通过教师网络模型指导学生网络模型训练。测试时,由于学生网络模型只学习到提取正样本特征的能力,对缺陷特征与教师网络模型存在较大差异,从而可以作为缺陷判断的依据。

本发明的一种基于知识蒸馏的正样本工业缺陷检测方法,教师网络模型和学生网络模型的训练过程不依赖标注信息,可以极大的减轻工业数据集的制作难度和标注压力。

附图说明

图1是本发明的基于知识蒸馏的正样本工业缺陷检测方法的流程图。

具体实施方式

现在结合附图和优选实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

图1是本发明的基于知识蒸馏的正样本工业缺陷检测方法的流程图,如图1所示,一种基于知识蒸馏的正样本工业缺陷检测方法,包括步骤(s1):构建工业数据集。利用数据集构建模块构建工业数据集,步骤(s1)中的工业数据集中所采集的数据为检测平台上的相机获得的待检测工件的图像数据。待检测工件在稳定均匀的光照环境下,检测平台上的相机拍摄获得待检测工件的图像数据。

步骤(s2):对步骤(s1)中的工业数据集的数据进行预处理操作,预处理后的工业数据集包括正样本集和无标注的缺陷样本集。

利用数据预处理模块对步骤(s1)中的工业数据集的数据进行预处理操作。预处理操作包括,首先将采集的待检测工件的大图像裁剪成预设尺寸的小图像,并进行去噪、滤波、对比度增强和平移翻转等操作,得到质量较好的处理后的小图像。然后对得到的小图像进行旋转、翻转和随机噪声等数据增强操作得到增强图像来扩充工业数据集。由于需要对教师网络模型进行自监督预训练,因此完整的工业数据集由正样本集和缺陷样本集构成,但是整个方法过程都是无监督的,因此不需要对缺陷样本集进行缺陷标注。

步骤(s3):使用自监督对比学习在步骤(s2)形成的工业数据集上预训练教师网络模型;使得教师网络模型学习到正样本集的正样本特征和缺陷样本集的缺陷特征的能力。所述教师网络模型采用在imagenet上预训练的resnet18网络模型,并采用simclr算法对教师网络模型进行无监督微调。

利用教师网络自监督训练模块,使用自监督对比学习在步骤(s2)形成的工业数据集上预训练教师网络模型。针对跨域问题,由于工业场景数据分布与自然数据分布差异大,imagenet上预训练的resnet18网络模型不能很好的直接迁移到工业场景中。自监督对比学习通过利用辅助任务从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对教师网络模型进行训练,从而可以学习到对下游任务有价值的表征。simclr算法通过自监督方法学习到的特征表示在一些计算机视觉任务上取得了接近有监督算法的效果。所述教师网络模型采用在imagenet上预训练的resnet18网络模型,并采用simclr算法对教师网络模型进行无监督微调,使得在imagenet上预训练的教师网络模型可以更好地迁移到工业数据集上,避免跨域迁移问题。

步骤(s4):在步骤(s2)形成的工业数据集的正样本集的基础上,利用步骤(s3)训练得到的教师网络模型指导学生网络模型训练,使得学生网络模型学习到正样本集的正样本特征的能力。

利用学生网络正样本训练模块,在步骤(s2)形成的工业数据集的正样本集的基础上,利用步骤(s3)训练得到的教师网络模型指导学生网络模型训练。学生网络模型与教师网络模型架构一致,总训练损失由mse损失和注意力损失构成。教师网络模型和学生网络模型对输入的待测图片分别提取多尺度特征,然后在通道维度上进行聚合。通过优化mse损失使得学生网络模型提取的特征尽可能地接近教师网络模型,从而学习到提取正样本特征的能力。

分别用教师网络模型和学生网络模型对待测图片提取多尺度特征并形成特征图;所述学生网络模型的mse损失函数lmse定义为公式一。

公式一:

公式一中,f(t)表示教师网络模型提取的多尺度特征,f(s)表示学生网络模型提取的多尺度特征,h和w分别表示特征图的长和宽,n表示特征图包含的像素值个数,c表示通道个数。

所述学生网络模型增加注意力损失,注意力损失的注意力图由如下得到:使用grad_cam算法将学生网络模型的输出结果对最后一个卷积层的输出特征图求导,然后对得到的梯度做全局平均池化得到对应特征图每个通道的权重系数,最后加权求和得到最终的注意力图。

grad_cam算法通常用于分类任务,用类别输出结果对卷积层的输出特征图求导,然后对得到的梯度做全局平均池化得到对应特征图每个通道的权重系数,最后加权得到激活图。在无监督任务中没有类别,因此采用学生网络模型的输出结果对学生网络模型中卷积层的输出特征图求导得到梯度,然后再通过全局平均池化得到对应特征图通道的权重系数w。

其中,y是学生网络模型的输出,ak是第k个卷积层,z表示卷积层包含的特征数。

最后将得到的权重系数w和对应的特征图按通道进行加权求和,并送入relu激活函数中,得到最后的注意力图a,a=relu(wak)。

针对特征比对方法中细微缺陷检测差的问题,本发明进行了两点改进。一是提取多尺度特征进行聚合,增强对小缺陷特征的提取能力,更适用于工业缺陷尺寸大小不一的场景。二是提出了注意力损失,更关注注意力响应高的有效区域,忽略响应低的无关背景区域,更好地增强特征表示能力,可有效缓解过杀现象。

步骤(s5):使用步骤(s3)训练得到的教师网络模型以及步骤(s4)训练得到的学生网络模型对待测图片进行缺陷检测。

利用工业缺陷检测模块,使用步骤(s3)训练得到的教师网络模型以及步骤(s4)训练得到的学生网络模型进行缺陷检测任务。使用步骤(s3)训练得到的教师网络模型以及步骤(s4)训练得到的学生网络模型对待测图片进行缺陷检测得到待测图片的异常得分图score_map,异常得分图score_map为公式四。

公式四:

公式四中,f(t)表示教师网络模型提取的多尺度特征,f(s)表示学生网络模型提取的多尺度特征,c表示通道个数,upsample表示上采样。

基于教师-学生网络的知识蒸馏框架是特征比对方法的一种,教师网络模型具备提取正样本特征和提取缺陷特征的能力,而学生网络模型只具备提取正样本特征的能力,因此缺陷特征的差异即可作为异常缺陷判定的依据。

本发明的一种基于知识蒸馏的正样本工业缺陷检测方法采用无监督技术,教师网络模型和学生网络模型的训练过程不依赖标注信息,可以极大的减轻工业数据集的制作难度和标注压力。

由于工业数据集分布复杂,基于重建的方法可能会出现某些场景下完全失效的情况。而特征比对的方法在特征空间上进行异常缺陷判定,不需要对图片进行精准重建,适用场景更广。因此在本发明中,采用特征比对的路线来解决正样本工业缺陷检测的问题,并对目前存在的问题进行针对性的改进。

在本发明中,在完整的工业数据集上(正样本集加无标注的缺陷样本集)预训练教师网络模型,在正样本集上通过教师网络模型指导学生网络模型训练。测试时,由于学生网络模型只学习到提取正样本特征的能力,对缺陷区域提取的特征与教师网络模型存在较大差异,从而可以作为缺陷判断的依据。

以上说明书中描述的只是本发明的具体实施方式,各种举例说明不对本发明的实质内容构成限制,所属技术领域的普通技术人员在阅读了说明书后可以对以前所述的具体实施方式做修改或变形,而不背离发明的实质和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1