基于生成对抗网络的瑕疵样本生成系统、方法及存储介质与流程
未命名
09-03
阅读:120
评论:0

1.本发明属于扩充稀缺数据的技术领域,具体涉及一种基于生成对抗网络的瑕疵样本生成系统、方法及存储介质。
背景技术:
2.近年来,随着人工智能技术的飞速发展,如机器学习、深度学习等渗透到生产领域,使工业制造业发生了巨大的变化。然而,由于生产过程是一个多因素参合的复杂过程,虽然可通过生产过程的自动化控制、精细化管理提升产品良品率,但仍无法避免瑕疵产品的出现。瑕疵产品的流通和使用会减少机器使用寿命、严重者可造成机毁人亡事故。由于相关瑕疵产品数量稀少、且收集成本高昂,当前依赖大量训练样本的神经网络瑕疵产品探测模型无法有效解决稀缺样本检测问题。目前生产厂商仍采用人工筛检瑕疵产品,效率低下且成本极高。因而,有效解决工业瑕疵稀缺样本问题,加快推进工业产品迈向全球产业链高端,具有十分重要的意义。
3.稀缺样本一般指的是相关样本数量极度缺乏,目前已成为深度学习技术工业落地的主要瓶颈。当前,研究者主要聚焦于利用生成模型来扩增数据从而弥补样本数量不足以达到解决样本稀缺问题。目前生成模型主要分为传统生成模型和基于神经网络的深度生成模型。传统生成模型如旋转、翻转、裁剪等,在数量稀缺的情况下,传统模型得到的模拟样本数量有限,仍然属于稀缺样本,而且裁剪方法无法解决目标样本瑕疵数量少且尺寸较小场景。
4.基于神经网络的深度生成模型主要有:encoder-decoder、diffusion模型和生成对抗网络模型。其中存在的问题如(1)需要大量标记数据,(2)合成样本质量不高、瑕疵模糊,(3)没有考虑瑕疵在目标上的特定位置信息,导致生成的图片或没有包含瑕疵或生成的瑕疵在目标边界之外或生成低质量瑕疵。综上所述,本发明提出了在极度稀缺瑕疵样本背景下,利用拥有相同瑕疵特征的第三方数据样本和大量的无瑕疵样本进行有效特征融合学习从而生成大量高质量模拟样本并对其进行评估的稀缺瑕疵样本生成方案。
技术实现要素:
5.本发明的目的在于提供一种基于生成对抗网络的瑕疵样本生成系统、方法及存储介质,旨在解决上述的问题。本发明有效解决了工业瑕疵检测中样本数量极度缺乏的问题,实现能够生成大量具有类似目标瑕疵形状的图片。本发明通过对拥有目标瑕疵特征的第三方数据样本和稀缺瑕疵样本进行聚类,以及通过特定位置的高质量瑕疵生成,缓解了工业瑕疵检测上对数据集数量和质量的需求,具有较好的实用性。
6.本发明主要通过以下技术方案实现:
7.一种基于生成对抗网络的瑕疵样本生成系统,包括数据采集模块、聚类模块、生成对抗模块、生成模块;
8.所述数据采集模块用于采集工业稀缺瑕疵图片得到目标稀缺数据集以及收集第
三方工业稀缺瑕疵图片得到第三方数据集,并标注出瑕疵;
9.所述聚类模块用于对第三方数据集进行有效聚类,筛选出与目标稀缺数据集具有类似特征的可用的第三方样本数据;
10.所述生成对抗模块用于将第三方样本数据与目标无瑕疵样本形成训练集训练生成对抗网络;所述生成对抗网络包括生成器模型和辨别器模型,所述生成器模型包括从前至后依次设置的编码器、融合嵌入模块、解码器,且编码器用于处理目标无瑕疵样本得到目标无瑕疵样本的特征图fn;所述融合嵌入模块用于将目标无瑕疵样本的特征图fn划分k个patch,将每个patch映射到直方图空间中选出直方图值最大的patch p
t
,以基于特定位置将p
t
与第三方样本数据的特征矩阵fm进行特征融合,形成一个新的特征图f
n’并输入到解码器,得到目标生成瑕疵图;所述辨别器模型用于衡量生成的目标生成瑕疵图和无瑕疵图相似度;
11.所述生成模块用于将目标无瑕疵图像和第三方瑕疵掩码图像输入训练后的生成对抗网络,以生成瑕疵样本。
12.为了更好地实现本发明,进一步地,所述聚类模块包括编码器-解码器网络、聚类单元,且编码器用于将第三方数据集样本的掩码图和目标稀缺数据集样本的掩码图映射到同一潜在空间表示,解码器用于将编码器输出的特征向量重构成原始图像来观察提取的性能;所述聚类单元用于基于欧式距离对于处于同一潜在空间的第三方数据集和目标稀缺数据集进行聚类。
13.为了更好地实现本发明,进一步地,还包括评估模块,所述评估模块用于验证目标生成瑕疵图的有效性,用于采用第三方样本数据以及第三方样本数据和目标生成瑕疵图的集合样本分别训练两个具有相同参数的探测模型,并将训练后的两个探测模型分别应用于检测目标稀缺数据集的样本,对比两个探测模型的探测结果以评估目标生成瑕疵图的可用性。
14.本发明主要通过以下技术方案实现:
15.一种基于生成对抗网络的瑕疵样本生成方法,采用上述的瑕疵样本生成系统进行,包括以下步骤:
16.步骤s100:收集包含瑕疵的第三方数据集和目标稀缺数据集,并标注出瑕疵;
17.步骤s200:将第三方数据集和目标稀缺数据集合并形成训练集,用于训练聚类模块中的编码器-解码器网络;采用训练后的编码器提取第三方数据集的特征值,然后采用基于欧式距离的聚类单元将格式颜色不一的第三方数据集样本与具有相似瑕疵特征的目标稀缺数据集样本进行有效聚类,筛选出第三方样本数据;
18.步骤s300:将第三方样本数据和目标无瑕疵样本形成训练集,并训练生成对抗网络,采用融合嵌入模块将第三方样本数据的特征矩阵fm与目标无瑕疵样本的特征矩阵fn融合:
19.lwc(p
t
,fm)=mm×fm
+(1-mm)
×
p
t
20.其中:p
t
和fm分别表示为无瑕疵特征和瑕疵特征;
21.mm为掩码矩阵,将无瑕疵像素标记为0且保留瑕疵像素;
22.然后,将所有patch组合起来形成一个新的特征图f
n’,将f
n’输入到解码器中得到目标生成瑕疵图;
23.步骤s400:采用第三方样本数据以及第三方样本数据和目标生成瑕疵图的集合样本分别训练两个具有相同参数的探测模型,并将训练后的两个探测模型分别应用于检测目标稀缺数据集的样本,观察探测结果以评估生成数据的可用性;
24.步骤s500:将目标无瑕疵图像和第三方瑕疵掩码图像输入训练好的生成对抗网络,生成大量具有类似目标瑕疵的生成瑕疵样本。
25.为了更好地实现本发明,进一步地,所述步骤s200中,设置欧式距离的阈值,用于对第三方数据集样本的特征图进行分组,且将大于阈值的特征图分组到非目标瑕疵集合,否则被分组到目标瑕疵集合,最终得到第三方样本数据的集合。
26.为了更好地实现本发明,进一步地,所述步骤s300中,所述融合嵌入模块首先将目标无瑕疵样本的特征图fn划分k个patch,且每个patch的尺寸都与fm相同;然后对每个patch都计算其特征值,并映射到直方图空间中,计算公式如下:
[0027][0028]
其中,m为patch的个数,
[0029]
h为patch的高度,
[0030]
w为patch的宽度,
[0031]
c为该patch的通道数,
[0032]
通过比较所有patch的直方图值,选出得分最高的patch p
t
,所述p
t
包含输入图像对象的面积最大,p
t
确定了fn中包含对象的patch。
[0033]
为了更好地实现本发明,进一步地,生成对抗网络的损失函数如下:
[0034][0035]
其中,ld为辨别器模型的损失函数:
[0036][0037]
其中,d()表示辨别器模型,d(x)用于计算生成的瑕疵图与无瑕疵图的相似度;
[0038]
lg为生成器模型的损失函数,且包括生成对抗损失、生成图像损失和瑕疵质量损失,具体公式表示为:
[0039][0040]
其中,d()表示辨别器模型,d(g(x))用于计算真假样本的相似度,
[0041]
ln为生成图像损失,计算如下:
[0042][0043]
其中,x表示输入的无瑕疵样本,
[0044]
代表从解码器decn生成的瑕疵图,
[0045]
t表示放松重构约束,
[0046]
生成图像损失ln用于保证生成图像近似输入无瑕疵图像;
[0047]
lm为瑕疵质量损失,计算如下:
[0048]
lm=|m
d-mr|
[0049]
其中,mr表示第三方瑕疵掩码图像,
[0050]
md表示重塑后的合成掩码图像patch。
[0051]
一种计算机可读存储介质,存储有计算机程序指令,所述程序指令被处理器执行时实现上述的方法。
[0052]
本发明的有益效果如下:
[0053]
(1)本发明可以有效地解决工业产品瑕疵检测中数据量不足、数据分布不均衡的问题,从而改善了检测效率,具有较高的实用价值和经济效益;
[0054]
(2)本发明利用训练好的编码器将第三方样本特征和稀缺瑕疵图片特征映射到同一潜在空间表示。而后,使用基于欧氏距离的聚类算法,将格式颜色不一的第三方样本与具有相似瑕疵特征的目标样本进行有效聚类,筛选出较多可用第三方样本数据;
[0055]
(3)本发明设计生成模型,利用融合嵌入模块,划分patch并映射成直方图来确定生成的瑕疵位置以及使第三方瑕疵特征和无瑕疵图片特征融合,利用辨别器衡量生成的瑕疵图和无瑕疵图相似度,基于此能够在特定位置上生成高质量瑕疵;
[0056]
(4)本发明分别将聚类后的第三方样本以及第三方样本和生成样本合成的新样本训练两个具有相同参数的探测模型,并将训练后的两个探测模型分别应用于原始稀缺瑕疵样本,观察两个探测模型的探测结果以评估生成数据的有效性,具有较好的实用性。
附图说明
[0057]
图1为本发明瑕疵样本生成系统的运行流程示意图;
[0058]
图2为聚类模块的运行流程图;
[0059]
图3为聚类模块的编码器-解码器网络的结构示意图;
[0060]
图4为生成器模型的结构示意图;
[0061]
图5为辨别器模型的结构示意图。
具体实施方式
[0062]
实施例1:
[0063]
一种基于生成对抗网络的瑕疵样本生成方法,如图1所示,首先,通过数据采集模块采集工业稀缺瑕疵图片数据并且收集大量第三方工业瑕疵样本数据,并标注出瑕疵;其次,通过聚类模块将格式颜色不一的第三方样本与具有相似瑕疵特征的目标稀缺样本进行特征提取后,使用基于欧式距离的聚类算法进行有效聚类,筛选出较多可用第三方样本数据并通过聚类评估公式评估聚类性能,然后通过生成对抗模块采用筛选出的第三方样本数据和目标样本的无瑕疵图片,利用融合嵌入模块(fusion patch-embedding模块)结合融合生成方法,从而生成目标瑕疵样本;最后评估模块采用检测模型,应用于原始瑕疵样本,观察检测结果以评估生成数据的有效性。
[0064]
本实施例主要包括以下步骤:
[0065]
①
收集包含瑕疵的第三方数据集和目标稀缺数据集,并标注出瑕疵;
[0066]
②
将第三方数据集和目标稀缺数据集形成训练集,用于训练编码器-解码器网络,将训练后的编码器结构用于提取每个数据样本的特征值,然后采用基于欧式距离的聚类算法,将格式颜色不一的第三方样本与具有相似瑕疵特征的目标稀缺样本进行有效聚类,按目标瑕疵类和非目标瑕疵类划分,筛选出较多可用第三方样本数据,其次是用聚类评估公
式评估聚类性能。
[0067]
③
将筛选出的第三方样本数据和目标无瑕疵样本,形成训练集,用于训练生成对抗网络,先将无瑕疵样本输入生成器模型的编码器-解码器网络中,得到特征矩阵fn,接着引入第三方样本的特征矩阵fm,将fm与fn融合。通过融合嵌入模块,先将无瑕疵样本特征图fn划分k个patch,然后将每个patch映射到直方图空间中,选出直方图值最大的patch p
t
。而后基于特定位置,采用layer-wise composition方法,将p
t
与fm进行特征融合,形成一个新的特征图f
n’,然后将f
n’输入到decn中,得到最后的生成瑕疵图。然后,辨别器模型用于衡量生成的瑕疵图和无瑕疵图相似度。
[0068]
④
将训练好的生成对抗网络,输入目标无瑕疵图像和第三方瑕疵掩码图像,生成大量具有类似目标瑕疵的生成样本,然后通过训练检测模型并应用于原始稀缺瑕疵样本,观察探测结果以评估生成数据的可用性。
[0069]
在本实施例中,考虑到有大量的第三方瑕疵图像数据集,其中一些确实包含了与目标瑕疵相似的瑕疵特征,因此,通过聚类模块从第三方瑕疵图像数据集中提取这些特征支持,以帮助生成模型学习目标瑕疵特征。如图2所示,为了更好地提取所需的瑕疵特征,首先对无瑕疵像素进行掩码标记,同时只保留每个原始瑕疵图像中的瑕疵像素,形成掩码图像。这是因为第三方图像与目标图像之间的物体存在显著差异,从原始第三方瑕疵图像中提取特征导致提取的特征主要包含物体的信息,而不是瑕疵的特征。然后,将第三方掩码图像和目标掩码图像输入一个编码器-解码器模型(e
m-decm)。如图3所示,em对掩码图像的特征进行提取,形成潜在空间中的特征映射,decm通过重构来观察提取的性能。由于有许多来自不同第三方数据集的图像,它们的大小可能不同。通过这种方式将所有图像送入em之前将它们调整为相同的大小,em的输出也保持相同的维度。
[0070]
优选地,如图3所示,编码器-解码器网络中的编码器由若干个卷积层、批标准化层和leakyrelu激活函数层组成,用于将不同输入图像压缩到处于同一维度的向量。所述解码器由若干个反卷积层、批标准化层和leakyrelu激活函数层组成,用于将编码器得到的特征向量重构成原始图像来观察提取的性能。
[0071]
本实施例通过计算潜在空间中第三方和目标掩码图像特征之间距离进行聚类。因为,直接测量第三方图像与目标掩码图像之间的距离时,由于第三方图像瑕疵的位置可能与目标图像瑕疵的位置不对应,导致测量的距离值不能反映真实的距离。不同位置但瑕疵特征相似的图像之间的距离大于位置相似但瑕疵特征不同的图像之间的距离,导致不同位置的瑕疵图像聚类到目标瑕疵集中。本实施例将图像映射到潜在空间,使得特征图中的背景等冗余信息将被放弃,只保留关键特征。这有助于从第三方集合中找到更多相似的特征来补充目标特征。为了测量特征图之间的距离,本实施使用欧式距离作为度量,距离公式表示为:
[0072][0073]
其中,x和y分别表示目标特征图和第三方特征图,n表示潜在空间的维度。考虑到目标缺陷图像的稀缺性,我们直接将这些图像归结为目标缺陷集。其次,逐个计算一个目标特征图与一个第三方特征图之间的欧式距离,直到所有特征图处理完毕。然后,我们设置一
个阈值,用这个阈值对第三方特征图进行分组,距离大于阈值的特征图被分组到非目标瑕疵集,其余的被分组到目标瑕疵集合中。之后,我们继续处理瑕疵目标特征图,直到最后一个特征图计算结束。在聚类结束后,得到目标瑕疵集和非目标瑕疵集。我们的度量与传统聚类度量的区别在于,传统的聚类度量(如k-means)随机选择两个样本作为空间中的两个聚类点,然后将剩余的实例分组到相应的两个聚类中。这导致不同的特征矩阵被分组到目标瑕疵集,导致生成模型合成不希望的瑕疵图像。最后,使用聚类评估公式统计目标瑕疵集合中类似目标瑕疵的第三方样本的数量和剩余非类似目标样本数量的比值,比值越大说明能够从大量第三方样本筛选出较多与目标样本具有类似特征的样本,从而表明聚类模块性能越好。聚类评估公式表示为:
[0074][0075]
其中n
target
和n
non-target
分别表示目标瑕疵集中类似目标瑕疵的样本数和非类似目标瑕疵的样本数。
[0076]
在本实施例中,由于当前生成模型仅可生成拥有训练样本特征的数据,且要求训练样本数量足够。若训练样本数量稀少,则无法有效捕获训练样本特征,导致生成数据质量差。另外,大多生成模型聚焦分布转换,忽略了瑕疵细节信息学习,导致生成数据不包含瑕疵或生成的瑕疵位置位于背景而非目标表面。基于此,考虑到无瑕疵图像与瑕疵图像具有相似的分布并且具有相同对象,本实施例将无瑕疵图像作为生成器的输入。为了合成具有所需瑕疵的图像,生成器的另一个输入是来自于目标瑕疵集中第三方图像的特征矩阵fm。其次,在生成器中采用一种新的encoder-decoder模型(e
n-decn)作为骨干,其输入是无瑕疵的图像。利用en提取物体特征。为了保留更多的对象信息,en被设计为容纳更少的层。这样,提取的特征图fn的大小比fm的大。由于目标对象大小与整个图像大小的比例可能很小(即图像包含大面积的空白背景)。这样,fn就包含了大量的空白背景特征。如果直接将fm集成到fn中,合成的瑕疵可能在背景上,而不是在生成对象的表面上。为了避免这种情况,本实施例设计了融合嵌入模块,该模块与transformer中的patch-embedding方法区别在于,transformer用于将完整的特征图线性映射成特征块序列,并逐步地把局部特征图传递给transformer分支,从而有效地降低整体网络的运算量和参数量。而我们的融合嵌入模块是为了在整个特征图中确定包含对象的patch,从而将瑕疵特征与特定patch融合,使得生成的瑕疵能够在目标对象上,而不是在空白背景上。具体是,首先我们将fn分成k个patch,每个patch的大小与fm相同。然后,我们计算每个patch的特征值,将每个patch映射到直方图空间中,计算公式表示如下:
[0077][0078]
其中k为patch的个数,h为patch的高度,w为patch的宽度,c为该patch的通道数。众所周知,提取包括图像的特征(例如,颜色、形状、位置和角度)。分割的patch也包含这些特征。如果一个patch包含一个对象的特征,它的直方图值会比较大;如果一个patch包含一个背景的特征,它的值会比较小。因此,我们将fm与直方图值在所有patch中得分最高的patch进行整合,我们称这样的patch为p
t
,也就是说p
t
包含输入图像对象的面积最大,所以
p
t
确定了fn中包含对象的patch。之后,我们将fm与p
t
用layer-wise composition融合生成方法进行整合,具体组成公式表示如下:
[0079]
lwc(p
t
,fm)=mm×fm
+(1-mm)
×
p
t
[0080]
其中,p
t
和fm分别表示为无瑕疵特征和瑕疵特征,mm为掩码矩阵,将无瑕疵像素标记为0且保留瑕疵像素。当我们将patch(即p
t
)视为子特征图时,layer-wise composition将集成的特征图输出,我们将这种集成的特征图称为p
t’。在这种情况下,p
t’包括瑕疵图像的特征和无瑕疵图像的特征。由于p
t
的大部分区域是物体的一部分,瑕疵将在物体上。至于其他patch,它们包含了背景信息和这个对象的其他部分,所以它们是不变的,直接与p
t’结合。在此之后,我们将所有patch组合起来,形成一个新的特征图,称为f
n’,然后将f
n’输入到decn中,以合成具有所需瑕疵的图像。生成器模型具体如图4所示。
[0081]
生成器模型的损失函数包括生成对抗损失,生成图像损失和瑕疵质量损失函数,具体公式表示为:
[0082][0083]
其中,d()表示辨别器模型,x表示输入的无瑕疵样本,代表从decn生成的瑕疵图。为生成图像损失,用于保证生成图像近似输入无瑕疵图像,使用l1loss并通过t放松重构约束,使得生成器不会抑制生成瑕疵。瑕疵质量损失函数表示如下:
[0084]
lm=|m
d-mr|
[0085]
其中,mr表示第三方瑕疵掩码图像,md表示reshape后的合成掩码图像patch。
[0086]
此外,如图5所示,辨别器模型用于衡量生成的瑕疵图和无瑕疵图相似度,因此,辨别器模型损失函数如下:
[0087][0088]
其中,x表示无瑕疵样本或生成的瑕疵图。因此,生成模型的总损失函数如下:
[0089][0090]
其中,ld表示鉴别器d的损失,lg表示生成器g的损失。在训练过程中,通过反向传播最大化ld和最小化lg来更新生成模型的参数,以达到纳什均衡的目的。
[0091]
由于工业生成瑕疵样本评估方法往往将生成数据和原始训练样本合成为新样本,并用其训练探测器,若该探测器识别精度高于仅用原始训练样本训练的探测器精度,则可证明生成数据有效。现有方法缺点:1)工业瑕疵种类可能单一,无法分类,导致分类失效;2)样本数量稀缺,无法拟合数据分布,且无法划分训练集和测试集。因此,本实施例为验证稀缺瑕疵样本生成数据有效性,分别将聚类后的第三方样本以及第三方样本和生成样本合成的新样本训练两个具有相同参数的探测模型(如yolox),并将训练后的两个探测模型分别应用于原始稀缺瑕疵样本,观察探测结果以评估生成数据的有效性。
[0092]
优选地,本发明采用o型圈数据集和mvtec数据集进行实验验证。o型圈包含了200张无瑕疵图像和12张含有杂质瑕疵的瑕疵图像。由于o型圈的对象只占整个图像的40%,因此在对象上生成所需的瑕疵是具有挑战性的。mvtec数据集是一种公开的缺陷检测数据集,包括15种类别的图像,每一种类别由大量的无瑕疵图像和少量的瑕疵图像组成。该数据集
总共包含了70种不同类型的瑕疵,例如划痕、凹痕、污染等。在本实施例中,选取tile类别的图像进行实验,采用了150张无瑕疵图像和10张含有划痕瑕疵的瑕疵图像。此外,由于我们的瑕疵图像极度稀缺,无法用来训练生成模型,因此我们通过收集大量第三方数据集来给生成器提供瑕疵信息。这些第三方数据集来自公开的dagm,magnetic tile和crackforestdataset。其中,瑕疵的种类和瑕疵图像的数量如下表1所示。为了保证实验的性能不受图像大小的影响,我们将实验中所有图像的大小统一调整为3
×
1024
×
1024。
[0093]
表1公开数据集统计情况
[0094]
数据集瑕疵类别瑕疵图像数量dagmcategory 2100magnetic tile气孔127crack forest dataset裂缝162
[0095]
本发明首先使用聚类模块对数据集进行处理。对于o型圈数据集,根据o型圈的12张瑕疵图像将第三方数据集进行分类,将它们分成目标瑕疵集和非目标瑕疵集。通过这种方法,我们能够筛选出与目标特征相似的第三方特征。由于来自magnetic tile的气孔瑕疵与o型圈的杂质瑕疵相似,我们希望能够选择更多的带有气孔瑕疵的图像来补充我们的目标特征。因此,我们计算目标瑕疵集合中带有气孔瑕疵的图像数量与剩余图像数量的比率。聚类结果如下表2所示。对于mvtec数据集,根据10张瑕疵图像,划分第三方数据集,使得能够挑选出与目标特征相似的裂缝图像,并且计算目标瑕疵集合中裂缝图像的数量与剩余图像数量的比值。聚类结果如下表3所示。
[0096]
表2o型圈数据集聚类结果
[0097][0098]
表3mvtec数据集聚类结果
[0099][0100]
从表3中注意到,我们的聚类结果取决于我们设置的阈值,我们在各个阈值下进行了大量实验并通过ratio来定量评价性能,ratio越高反映了我们的聚类方法能够更有效地选择我们所需的第三方特征。同时,我们与k-means进行对比,结果表明k-means并不能达到我们的预期,因为它是通过随机选择两个样本作为聚类点,而不是基于目标特征进行聚类,导致结果中与目标特征不相似的瑕疵数量占主导地位。
[0101]
本发明采用聚类后目标瑕疵集合中的第三方特征与目标无瑕疵图像融合,来生成所需要的瑕疵图像,并与sdgan、stylealign、stylegan2、stylegan和cutpaste进行对比,然而sdgan、stylealign、stylegan2、stylegan3这些模型都无法生成瑕疵,因为这些模型关注的是分布匹配,而不是细节生成。cutpaste先随机采取一个任意大小的矩形区域patch,然
后选择性的对该patch进行旋转或改变像素值操作,再将改变后的patch复制的原样本的任意一个地方,得到一个假定的瑕疵图像,但是假定瑕疵图像和真实瑕疵图像不相似。
[0102]
为了评估合成图像的可用性,我们使用yolox作为评估模型,并且利用precision、recall和f1-score作为定量度量评估结果的度量标准。precision是预测为正例(例如真实类别为正,模型预测为正)的样本中实际为正例的比例。recall是实际为正例的样本中被模型预测为正例的比例。尽管cutpaste合成了不需要的缺陷,但我们仍然将这些合成图像进行增强以比较缺陷的性能。由于其他生成模型(即sdgan、stylealign、stylegan2和stylegan3)无法合成有缺陷的图像,因此,我们没有显示它们的检测性能。旋转属于传统的增强方法,但它的数据增强能力是有限的,特别是在我们的目标数据集稀少的情况下。若过多的旋转,相当于是对瑕疵的复制粘贴,而不是在训练集中没见过的新瑕疵。因此,为了公平的比较,我们通过旋转方法合成45张图像,并且使用cut paste和本方法来合成450张图像。然后,我们将每个模型的合成图像组成新的训练集,将原始稀缺样本作为测试集。o型圈数据集和mvtec数据集的检测结果如表4、表5所示。
[0103]
表4o型圈数据集检测结果
[0104]
方法precisionrecallf1-score旋转44.3%65.2%52.8%cut paste1.8%4.2%2.5%实施例175.6%74.8%75.2%
[0105]
表5mvtec数据集检测结果
[0106]
方法precisionrecallf1-score旋转35.8%37.4%36.6%cut paste0%0%0%实施例140.2%45.7%42.8%
[0107]
根据表4、表5中的实验结果,我们可以看到,本发明明显优于其他方法,这说明了本发明在稀缺数据增强上的优越性。
[0108]
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
技术特征:
1.一种基于生成对抗网络的瑕疵样本生成系统,其特征在于,包括数据采集模块、聚类模块、生成对抗模块、生成模块;所述数据采集模块用于采集工业稀缺瑕疵图片得到目标稀缺数据集以及收集第三方工业稀缺瑕疵图片得到第三方数据集,并标注出瑕疵;所述聚类模块用于对第三方数据集进行有效聚类,筛选出与目标稀缺数据集具有类似特征的可用的第三方样本数据;所述生成对抗模块用于将第三方样本数据与目标无瑕疵样本形成训练集训练生成对抗网络;所述生成对抗网络包括生成器模型和辨别器模型,所述生成器模型包括从前至后依次设置的编码器、融合嵌入模块、解码器,且编码器用于处理目标无瑕疵样本得到目标无瑕疵样本的特征图f
n
;所述融合嵌入模块用于将目标无瑕疵样本的特征图f
n
划分k个patch,将每个patch映射到直方图空间中选出直方图值最大的patch p
t
,以基于特定位置将p
t
与第三方样本数据的特征矩阵f
m
进行特征融合,形成一个新的特征图f
n’并输入到解码器,得到目标生成瑕疵图;所述辨别器模型用于衡量生成的目标生成瑕疵图和无瑕疵图相似度;所述生成模块用于将目标无瑕疵图像和第三方瑕疵掩码图像输入训练后的生成对抗网络,以生成瑕疵样本。2.根据权利要求1所述的一种基于生成对抗网络的瑕疵样本生成系统,其特征在于,所述聚类模块包括编码器-解码器网络、聚类单元,且编码器用于将第三方数据集样本的掩码图和目标稀缺数据集样本的掩码图映射到同一潜在空间表示,解码器用于将编码器输出的特征向量重构成原始图像来观察提取的性能;所述聚类单元用于基于欧式距离对于处于同一潜在空间的第三方数据集和目标稀缺数据集进行聚类。3.根据权利要求1或2所述的一种基于生成对抗网络的瑕疵样本生成系统,其特征在于,还包括评估模块,所述评估模块用于验证目标生成瑕疵图的有效性,用于采用第三方样本数据以及第三方样本数据和目标生成瑕疵图的集合样本分别训练两个具有相同参数的探测模型,并将训练后的两个探测模型分别应用于检测目标稀缺数据集的样本,对比两个探测模型的探测结果以评估目标生成瑕疵图的可用性。4.一种基于生成对抗网络的瑕疵样本生成方法,采用权利要求1-3任一项所述的瑕疵样本生成系统进行,其特征在于,包括以下步骤:步骤s100:收集包含瑕疵的第三方数据集和目标稀缺数据集,并标注出瑕疵;步骤s200:将第三方数据集和目标稀缺数据集合并形成训练集,用于训练聚类模块中的编码器-解码器网络;采用训练后的编码器提取第三方数据集的特征值,然后采用基于欧式距离的聚类单元将格式颜色不一的第三方数据集样本与具有相似瑕疵特征的目标稀缺数据集样本进行有效聚类,筛选出第三方样本数据;步骤s300:将第三方样本数据和目标无瑕疵样本形成训练集,并训练生成对抗网络,采用融合嵌入模块将第三方样本数据的特征矩阵f
m
与目标无瑕疵样本的特征矩阵f
n
融合:lwc(p
t
,f
m
)=m
m
×
f
m
+(1-m
m
)
×
p
t
其中:p
t
和f
m
分别表示为无瑕疵特征和瑕疵特征;m
m
为掩码矩阵,将无瑕疵像素标记为0且保留瑕疵像素;然后,将所有patch组合起来形成一个新的特征图f
n’,将f
n’输入到解码器中得到目标生成瑕疵图;
步骤s400:采用第三方样本数据以及第三方样本数据和目标生成瑕疵图的集合样本分别训练两个具有相同参数的探测模型,并将训练后的两个探测模型分别应用于检测目标稀缺数据集的样本,观察探测结果以评估生成数据的可用性;步骤s500:将目标无瑕疵图像和第三方瑕疵掩码图像输入训练好的生成对抗网络,生成大量具有类似目标瑕疵的生成瑕疵样本。5.根据权利要求4所述的一种基于生成对抗网络的瑕疵样本生成方法,其特征在于,所述步骤s200中,设置欧式距离的阈值,用于对第三方数据集样本的特征图进行分组,且将大于阈值的特征图分组到非目标瑕疵集合,否则被分组到目标瑕疵集合,最终得到第三方样本数据的集合。6.根据权利要求4所述的一种基于生成对抗网络的瑕疵样本生成方法,其特征在于,所述步骤s300中,所述融合嵌入模块首先将目标无瑕疵样本的特征图f
n
划分k个patch,且每个patch的尺寸都与f
m
相同;然后对每个patch都计算其特征值,并映射到直方图空间中,计算公式如下:其中,m为patch的个数,h为patch的高度,w为patch的宽度,c为该patch的通道数,通过比较所有patch的直方图值,选出得分最高的patch p
t
,所述p
t
包含输入图像对象的面积最大,p
t
确定了f
n
中包含对象的patch。7.根据权利要求4所述的一种基于生成对抗网络的瑕疵样本生成方法,其特征在于,生成对抗网络的损失函数如下:其中,l
d
为辨别器模型的损失函数:其中,d()表示辨别器模型,d(x)用于计算生成的瑕疵图与无瑕疵图的相似度;l
g
为生成器模型的损失函数,且包括生成对抗损失、生成图像损失和瑕疵质量损失,具体公式表示为:其中,d()表示辨别器模型,d(g(x))用于计算真假样本的相似度,l
n
为生成图像损失,计算如下:其中,x表示输入的无瑕疵样本,代表从解码器dec
n
生成的瑕疵图,t表示放松重构约束,生成图像损失l
n
用于保证生成图像近似输入无瑕疵图像;
l
m
为瑕疵质量损失,计算如下:l
m
=|m
d-m
r
|其中,m
r
表示第三方瑕疵掩码图像,m
d
表示重塑后的合成掩码图像patch。8.一种计算机可读存储介质,存储有计算机程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求4-7任一项所述的方法。
技术总结
本发明公开了一种基于生成对抗网络的瑕疵样本生成系统、方法及存储介质,所述系统包括数据采集模块、聚类模块、生成对抗模块、生成模块。所述聚类模块用于对第三方数据集进行有效聚类,筛选出与目标稀缺数据集具有类似特征的可用的第三方样本数据;所述生成对抗模块用于采用训练集训练生成对抗网络,所述生成对抗网络的生成器模型包括编码器、融合嵌入模块、解码器,且融合嵌入模块用于将P
技术研发人员:张晓武 陈斌 李伟 徐朝彬
受保护的技术使用者:浙江霖研精密科技有限公司
技术研发日:2023.05.31
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/