掌桥专利:专业的专利平台
掌桥专利
首页

缺陷样本筛选方法、装置及设备

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及图像检测技术领域,尤其涉及一种缺陷样本筛选方法、装置及设备。

背景技术

对于工业缺陷检测,不管是采用传统的特征滤波和阈值分割的方法,还是近几年非常流行的深度学习的方法,都需要挑选出有效的缺陷样本进行分析。但是工业缺陷检测的领域,一般良率都很高,在90%以上,甚至有些场景在99%以上。因此我们通过光学AOI检测得到的图像大部分都是没有缺陷,或者缺陷不够判定为NG的正常样本。因此,缺陷样本的挑选非常繁琐,需要耗费大量的人力成本和时间成本。如何快速的从海量的样本中挑选出存在缺陷的样本是亟待解决的问题。

发明内容

本发明的主要目的在于提供一种缺陷样本筛选方法、装置及设备,旨在解决现有技术中缺陷样本的挑选非常繁琐,需要耗费大量的人力成本和时间成本的技术问题。

第一方面,本发明提供一种缺陷样本筛选方法,所述缺陷样本筛选方法包括:

将图片切割成多张预设尺寸的子图片,其中,每张子图片为一张样本图片;

将多张样本图片输入训练完成的teacher-student模型,得到teacher-student模型输出的每张样本图片的特征差异图,其中,样本图片的特征差异图基于teacher-student模型中teacher网络输出的样本图片的特征图以及student网络输出的样本图片的特征图得到;

计算每张特征差异图的分值;

基于所述分值,从多张样本图片中确定疑似缺陷样本图片。

可选的,在所述将多张样本图片输入训练完成的teacher-student模型之前,还包括:

基于预设图片数据集对待训练teacher网络进行训练,得到训练完成的teacher网络;

以训练完成的teacher网络为基准,基于无缺陷样本图片集对待训练student网络进行蒸馏学习,得到训练完成的student网络;

组合训练完成的teacher网络以及训练完成的student网络,得到训练完成的teacher-student模型。

可选的,所述计算每张特征差异图的分值的步骤包括:

以每张特征差异图上的最大值为每张特征差异图的分值。

可选的,所述计算每张特征差异图的分值的步骤包括:

计算每张特征差异图上所有数值的标准差σ以及平均值μ,以μ+2σ的值为每张特征差异图的分值。

可选的,所述计算每张特征差异图的分值的步骤包括:

从每张特征差异图上所有数值中选取第一预设比例最大值,以第一预设比例最大值的平均值为每张特征差异图的分值。

可选的,所述基于所述分值,从多张样本图片中确定疑似缺陷样本图片的步骤包括:

基于每张样本图片对应的分值对多张样本图片进行排序,其中,分值越大排序越后;

以排序在最后的预设个数或第二预设比例的样本图片为疑似缺陷样本图片。

可选的,在所述得到teacher-student模型输出的每张样本图片的特征差异图之后,还包括:

对每张样本图片的特征差异图进行阈值分割,得到缺陷区域图;

基于缺陷区域图生成缺陷样本图。

可选的,在所述得到teacher-student模型输出的每张样本图片的特征差异图之后,还包括:

对每张样本图片的特征差异图进行噪声过滤处理。

第二方面,本发明还提供一种缺陷样本筛选装置,所述缺陷样本筛选装置包括:

切割模块,用于将图片切割成多张预设尺寸的子图片,其中,每张子图片为一张样本图片;

获取模块,用于将多张样本图片输入训练完成的teacher-student模型,得到teacher-student模型输出的每张样本图片的特征差异图,其中,样本图片的特征差异图基于teacher-student模型中teacher网络输出的样本图片的特征图以及student网络输出的样本图片的特征图得到;

计算模块,用于计算每张特征差异图的分值;

筛选模块,用于基于所述分值,从多张样本图片中确定疑似缺陷样本图片。

第三方面,本发明还提供一种缺陷样本筛选设备,所述缺陷样本筛选设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的缺陷样本筛选程序,其中所述缺陷样本筛选程序被所述处理器执行时,实现如上所述的缺陷样本筛选方法的步骤。

本发明中,将图片切割成多张预设尺寸的子图片,其中,每张子图片为一张样本图片;将多张样本图片输入训练完成的teacher-student模型,得到teacher-student模型输出的每张样本图片的特征差异图,其中,样本图片的特征差异图基于teacher-student模型中teacher网络输出的样本图片的特征图以及student网络输出的样本图片的特征图得到;计算每张特征差异图的分值;基于所述分值,从多张样本图片中确定疑似缺陷样本图片。通过本发明,自动筛选出疑似缺陷样本图片,使得相关人员可从数量较少的疑似缺陷样本图片中挑选缺陷样本图片,由于大大缩减了挑选范围,从而提高了挑选效率且降低了时间成本以及人工成本。

附图说明

图1为本发明实施例方案中涉及的缺陷样本筛选设备的硬件结构示意图;

图2为本发明缺陷样本筛选方法一实施例的流程示意图;

图3为本发明缺陷样本筛选方法一实施例中由特征图得到特征差异图的场景示意图;

图4为本发明缺陷样本筛选装置一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

第一方面,本发明实施例提供一种缺陷样本筛选设备,该缺陷样本筛选设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。

参照图1,图1为本发明实施例方案中涉及的缺陷样本筛选设备的硬件结构示意图。本发明实施例中,缺陷样本筛选设备可以包括处理器1001(例如中央处理器CentralProcessing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及缺陷样本筛选程序。其中,处理器1001可以调用存储器1005中存储的缺陷样本筛选程序,并执行本发明实施例提供的缺陷样本筛选方法。

第二方面,本发明实施例提供了一种缺陷样本筛选方法。

一实施例中,参照图2,图2为本发明缺陷样本筛选方法一实施例的流程示意图。如图2所示,缺陷样本筛选方法包括:

步骤S10,将图片切割成多张预设尺寸的子图片,其中,每张子图片为一张样本图片;

本实施例中,可对图片进行晶粒切割或滑块切割,从而得到多张预设尺寸的子图片,并以每张子图片为一张样本图片。其中,图片的数量可以是多张。

步骤S20,将多张样本图片输入训练完成的teacher-student模型,得到teacher-student模型输出的每张样本图片的特征差异图,其中,样本图片的特征差异图基于teacher-student模型中teacher网络输出的样本图片的特征图以及student网络输出的样本图片的特征图得到;

本实施例中,预先训练得到训练完成的teacher-student模型,然后将多张样本图片分别输入训练完成的teacher-student模型,其中训练完成的teacher-student模型包括训练完成的teacher网络以及训练完成的student网络,且训练完成的teacher网络与训练完成的student网络具有相同的网络结构。以训练完成的teacher网络以及训练完成的student网络各包含特征层1、特征层2以及特征层3为例,一样本图片输入训练完成的teacher-student模型后,训练完成的teacher网络的特征层1输出对应的特征图11,训练完成的student网络的特征层1输出对应的特征图21;训练完成的teacher网络的特征层2输出对应的特征图12,训练完成的student网络的特征层2输出对应的特征图22;训练完成的teacher网络的特征层3输出对应的特征图13,训练完成的student网络的特征层1输出对应的特征图23;根据特征图11和特征图21,得到特征差异图1,根据特征图12和特征图22,得到特征差异图2,根据特征图13和特征图23,得到特征差异图3;综合特征差异图1、特征差异图2以及特征差异图3,即可得到该样本图片的特征差异图。以此类推,即可得到每张样本图片的特征差异图。

参照图3,图3为本发明缺陷样本筛选方法一实施例中由特征图得到特征差异图的场景示意图。如图3所示,特征图1为训练完成的teacher网络的特征层A输出的样本图片的特征图;特征图2为训练完成的student网络与特征层A相同层次的特征层输出的样本图片的特征图;A1~A9以及B1~B9均为特征值,C1为A1与B1的差的绝对值,同理,C2为A2与B2的差的绝对值,以此类推。容易理解的是,若训练完成的teacher网络以及训练完成的student网络有多个特征层,则基于如图3所示的方式得到每个特征层对应的特征差异图,然后将多个特征差异图相同位置的值累加,即可得到最终的特征差异图。

进一步地,一实施例中,在步骤S20之前,还包括:

基于预设图片数据集对待训练teacher网络进行训练,得到训练完成的teacher网络;以训练完成的teacher网络为基准,基于无缺陷样本图片集对待训练student网络进行蒸馏学习,得到训练完成的student网络;组合训练完成的teacher网络以及训练完成的student网络,得到训练完成的teacher-student模型。

本实施例中,首先选择经典网络(比如Resnet18)为待训练teacher网络,并以ImageNet作为预设图片数据集对待训练teacher网络进行训练,得到训练完成的teacher网络;然后,以训练完成的teacher网络为基准,基于无缺陷样本图片集对待训练student网络进行蒸馏学习,得到训练完成的student网络。其中,待训练student网络与待训练teacher网络的网络结构相同,例如待训练student网络同样为Resnet18。Loss的选择是训练完成的teacher网络和训练中的student网络在各个特征层的差异。经过训练后,使得训练完成的teacher网络和训练完成的student网络针对无缺陷样本图片能够得到比较一致的结果。最后,组合训练完成的teacher网络以及训练完成的student网络,即可得到训练完成的teacher-student模型。

步骤S30,计算每张特征差异图的分值;

本实施例中,如图3所示,即基于C1~C9的值计算每张特征差异图的分值。

进一步地,一实施例中,步骤S30包括:

以每张特征差异图上的最大值为每张特征差异图的分值。

本实施例中,以图3为例,即从C1~C9选取最大值,作为该特征差异图的分值。

进一步地,一实施例中,步骤S30包括:

计算每张特征差异图上所有数值的标准差σ以及平均值μ,以μ+2σ的值为每张特征差异图的分值。

本实施例中,以图3为例,首先计算C1~C9标准差σ以及平均值μ,然后以μ+2σ的值为该特征差异图的分值。

进一步地,一实施例中,步骤S30包括:

从每张特征差异图上所有数值中选取第一预设比例最大值,以第一预设比例最大值的平均值为每张特征差异图的分值。

本实施例中,第一预设比例根据实际需要进行设置,例如设置为5%,假设特征差异图上包括100个数值,则从100个数值中选取最大的5个数值,然后计算这5个数值的平均值作为该特征差异图的分值。

步骤S40,基于所述分值,从多张样本图片中确定疑似缺陷样本图片。

本实施例中,由于是以训练完成的teacher网络为基准,基于无缺陷样本图片集对待训练student网络进行蒸馏学习,得到训练完成的student网络,使得训练完成的teacher网络和训练完成的student网络针对无缺陷样本图片能够得到比较一致的结果。在此基础上,若输入teacher-student模型的样本图片是存在缺陷的样本图片,则teacher网络输出的样本图片的特征图以及student网络输出的样本图片的特征图会有较大差异。这样便会导致最终得到的特征差异图上数值比较大,而每张特征差异图的分值是基于特征差异图上数值计算得到的,因此,基于每张特征差异图的分值即可从多张样本图片中确定疑似缺陷样本图片。

进一步地,一实施例中,步骤S40包括:

基于每张样本图片对应的分值对多张样本图片进行排序,其中,分值越大排序越后;以排序在最后的预设个数或第二预设比例的样本图片为疑似缺陷样本图片。

本实施例中,分值计算规则可以是特征差异图上的值总体来说越大对应的分值越高,而特征差异图上的值越大,说明teacher网络输出的样本图片的特征图以及student网络输出的样本图片的特征图的差别越大,即该样本图片为有缺陷样本图片的可能性越大。在此基础上,基于每张样本图片对应的特征差异图的分值对多张样本图片进行排序,且分值越大排序越后,然后以排序在最后的预设个数或第二预设比例的样本图片为疑似缺陷样本图片。其中,预设个数以及第二预设比例的具体值均根据实际需要进行设置。容易理解的是,还可以是分值越大排序越前,以排序在最前的预设个数或第二预设比例的样本图片为疑似缺陷样本图片。

当然,在设置分值计算规则时还可以是特征差异图上的值总体来说越大对应的分值越小,然后按照分值越大排序越后的顺序对多张样本图片进行排序,以排序在最前的预设个数或第二预设比例的样本图片为疑似缺陷样本图片;或者是按照分值越大排序越前的顺序对多张样本图片进行排序,以排序在最后的预设个数或第二预设比例的样本图片为疑似缺陷样本图片。

本实施例中,将图片切割成多张预设尺寸的子图片,其中,每张子图片为一张样本图片;将多张样本图片输入训练完成的teacher-student模型,得到teacher-student模型输出的每张样本图片的特征差异图,其中,样本图片的特征差异图基于teacher-student模型中teacher网络输出的样本图片的特征图以及student网络输出的样本图片的特征图得到;计算每张特征差异图的分值;基于所述分值,从多张样本图片中确定疑似缺陷样本图片。通过本实施例,自动筛选出疑似缺陷样本图片,使得相关人员可从数量较少的疑似缺陷样本图片中挑选缺陷样本图片,由于大大缩减了挑选范围,从而提高了挑选效率且降低了时间成本以及人工成本。

进一步地,一实施例中,在步骤S20之后,还包括:

对每张样本图片的特征差异图进行阈值分割,得到缺陷区域图;

基于缺陷区域图生成缺陷样本图。

本实施例中,阈值可选择固定阈值(即人工设置)或自适应阈值(例如每张样本图片的特征差异图上所有数值的平均值),确定特征差异图上大于阈值的数值所在的区域,截取对应的样本图片上与特征差异图上大于阈值的数值所在的区域相同的区域,即可得到缺陷区域图。基于缺陷区域图即可生成缺陷样本图,例如将缺陷区域图与正常样本图进行合成。

通过本实施例,基于缺陷区域图生成缺陷样本图,满足工业缺陷检测场景对缺陷样本图的需求。

进一步地,一实施例中,在步骤S20之后,还包括:

对每张样本图片的特征差异图进行噪声过滤处理。

本实施例中,对每张样本图片的特征差异图进行噪声过滤处理,方式可以选择高斯滤波或者中值滤波等。噪声过滤处理后,再进行步骤S30,可以进一步提高确定疑似缺陷样本图片的准确性。

第三方面,本发明实施例还提供一种缺陷样本筛选装置。

一实施例中,参照图4,图4为本发明缺陷样本筛选装置一实施例的功能模块示意图。如图4所示,缺陷样本筛选装置包括:

切割模块10,用于将图片切割成多张预设尺寸的子图片,其中,每张子图片为一张样本图片;

获取模块20,用于将多张样本图片输入训练完成的teacher-student模型,得到teacher-student模型输出的每张样本图片的特征差异图,其中,样本图片的特征差异图基于teacher-student模型中teacher网络输出的样本图片的特征图以及student网络输出的样本图片的特征图得到;

计算模块30,用于计算每张特征差异图的分值;

筛选模块40,用于基于所述分值,从多张样本图片中确定疑似缺陷样本图片。

进一步地,一实施例中,缺陷样本筛选装置还包括训练模块,用于:

基于预设图片数据集对待训练teacher网络进行训练,得到训练完成的teacher网络;

以训练完成的teacher网络为基准,基于无缺陷样本图片集对待训练student网络进行蒸馏学习,得到训练完成的student网络;

组合训练完成的teacher网络以及训练完成的student网络,得到训练完成的teacher-student模型。

进一步地,一实施例中,计算模块30,用于:

以每张特征差异图上的最大值为每张特征差异图的分值。

进一步地,一实施例中,计算模块30,用于:

计算每张特征差异图上所有数值的标准差σ以及平均值μ,以μ+2σ的值为每张特征差异图的分值。

进一步地,一实施例中,计算模块30,用于:

从每张特征差异图上所有数值中选取第一预设比例最大值,以第一预设比例最大值的平均值为每张特征差异图的分值。

进一步地,一实施例中,筛选模块40,用于:

基于每张样本图片对应的分值对多张样本图片进行排序,其中,分值越大排序越后;

以排序在最后的预设个数或第二预设比例的样本图片为疑似缺陷样本图片。

进一步地,一实施例中,缺陷样本筛选装置还包括生成模块,用于:

对每张样本图片的特征差异图进行阈值分割,得到缺陷区域图;

基于缺陷区域图生成缺陷样本图。

进一步地,一实施例中,缺陷样本筛选装置还包括过滤模块,用于:

对每张样本图片的特征差异图进行噪声过滤处理。

其中,上述缺陷样本筛选装置中各个模块的功能实现与上述缺陷样本筛选方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术分类

06120114725133