一种缺陷数据集的生成模型的训练方法及相关装置转让专利

申请号 : CN202211498083.2

文献号 : CN115526891B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乐康张耀张滨徐大鹏曹保桂

申请人 : 深圳精智达技术股份有限公司

摘要 :

本申请公开了一种缺陷数据集的生成模型的训练方法及相关装置,用于提高缺陷图像的获取效率和图像质量。本申请训练方法包括:获取卷积神经网络模型和缺陷类型标签;通过生成器和缺陷类型标签生成模拟缺陷图像;通过真假判别器生成第一真假判别值和第二真假判别值;通过类别判别器生成第一类别判别值和第二类别判别值;根据第一、第二真假判别值、第一和第二类别判别值计算第一、第二和第三损失值;判断第一、第二和第三损失值是否满足预设条件;若满足条件,则确定卷积神经网络模型训练完成;若不满足条件,则根据第一、第二和第三损失值更新生成器的权值,根据第二、第三损失值分别更新真假判别器和类别判别器权值。

权利要求 :

1.一种缺陷数据集的生成模型的训练方法,其特征在于,包括:获取卷积神经网络模型和缺陷类型标签,所述卷积神经网络模型中包括生成器、真假判别器和类别判别器,所述生成器包括N个生成模块Generator和输出模块Conv_out,N为大于等于2的整数,所述生成模块Generator包括区域像素注意力模块RPA、注意力Dropout模块ADO、至少两个通道注意力模块Attention、反卷积模块和卷积模块;

将一组正态分布采样数据和所述缺陷类型标签输入所述生成器,生成模拟缺陷图像;

所述将一组正态分布采样数据和所述缺陷类型标签输入所述生成器,生成模拟缺陷图像,包括:通过第一卷积模块将所述正态分布采样数据进行卷积操作,生成第一采样特征;

通过第二卷积模块将所述缺陷类型标签进行卷积操作,生成第一标签特征;

通过区域像素注意力模块RPA对所述第一采样特征进行区域像素值权重生成处理,生成第一中间特征;

通过区域像素注意力模块RPA将所述第一采样特征和第一中间特征按通道对应相乘,生成第二中间特征;

通过第三卷积模块将所述第二中间特征进行卷积处理和通道叠加处理;

通过第一通道注意力模块Attention为所述第二中间特征生成通道向量;

通过第一通道注意力模块Attention结合通道向量输出一个维度与所述第二中间特征通道数相同的归一化一维向量;

通过第一通道注意力模块Attention根据归一化一维向量将所述第二中间特征按通道对应相乘,生成第三中间特征;

通过第四卷积模块将所述第三中间特征进行卷积处理和通道叠加处理;

通过第二通道注意力模块Attention为所述第三中间特征生成通道向量;

通过第二通道注意力模块Attention结合通道向量输出一个维度与所述第三中间特征通道数相同的归一化一维向量;

通过第二通道注意力模块Attention根据归一化一维向量将所述第三中间特征按通道对应相乘,生成第四中间特征;

将所述第四中间特征、所述第一标签特征和所述第一采样特征进行通道叠加,生成第五中间特征;

通过第一反卷积模块将所述第五中间特征进行特征长宽重构,生成第六中间特征;

通过第一注意力Dropout模块ADO给所述第六中间特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七中间特征;

通过第二反卷积模块将所述第七中间特征进行特征长宽重构,生成第一生成参数;

将所述第一生成参数、所述第一采样特征和所述第一标签特征输入第二生成模块Generator,生成第二生成参数;

将第N‑1生成参数、所述第一采样特征和所述第一标签特征输入第N生成模块Generator,生成第N生成参数;

将所述第N生成参数通过输出模块Conv_out进行还原输出,生成模拟缺陷图像;

将真实缺陷图像和所述模拟缺陷图像输入所述真假判别器中,生成所述真实缺陷图像的第一真假判别值和所述模拟缺陷图像的第二真假判别值;

将所述真实缺陷图像和所述模拟缺陷图像输入所述类别判别器中,生成所述真实缺陷图像的第一类别判别值和所述模拟缺陷图像的第二类别判别值;

根据所述第一真假判别值、所述第二真假判别值、所述第一类别判别值和所述第二类别判别值计算所述生成器的第一损失值、所述真假判别器的第二损失值和所述类别判别器的第三损失值;

判断所述第一损失值、所述第二损失值和所述第三损失值是否满足预设条件;

若满足条件,则确定所述卷积神经网络模型训练完成;

若不满足条件,则根据所述第一损失值、所述第二损失值和所述第三损失值更新所述生成器的权值,根据所述第二损失值和所述第三损失值分别更新所述真假判别器和所述类别判别器权值。

2.根据权利要求1所述的训练方法,其特征在于,所述将所述第一生成参数、所述第一采样特征和所述第一标签特征输入第二生成模块Generator,生成第二生成参数,具体为:将所述第一生成参数和所述第一采样特征进行通道叠加,生成第八中间参数;

通过区域像素注意力模块RPA对所述第八中间参数进行区域像素值权重生成处理,生成第九中间特征;

通过区域像素注意力模块RPA将所述第八中间参数和所述第九中间特征按通道对应相乘,生成第十中间特征;

通过第五卷积模块将所述第十中间特征进行卷积处理和通道叠加处理;

通过第三通道注意力模块Attention为所述第十中间特征生成通道向量;

通过第三通道注意力模块Attention结合通道向量输出一个维度与所述第十中间特征通道数相同的归一化一维向量;

通过第三通道注意力模块Attention根据归一化一维向量将所述第十中间特征按通道对应相乘,生成第十一中间特征;

通过第六卷积模块将所述第十一中间特征进行卷积处理和通道叠加处理;

通过第四通道注意力模块Attention为所述第十一中间特征生成通道向量;

通过第四通道注意力模块Attention结合通道向量输出一个维度与所述第十一中间特征通道数相同的归一化一维向量;

通过第四通道注意力模块Attention根据归一化一维向量将所述第十一中间特征按通道对应相乘,生成第十二中间特征;

将所述第十二中间特征、所述第一标签特征和所述第八中间参数进行通道叠加,生成第十三中间特征;

通过第三反卷积模块将所述第十三中间特征进行特征长宽重构,生成第十四中间特征;

通过第二注意力Dropout模块ADO给所述第十四中间特征对应的每个神经元分配注意力,并将注意力小于第二预设阈值的神经元进行置零,生成第十五中间特征;

通过第四反卷积模块将所述第十五中间特征进行特征长宽重构,生成第二生成参数。

3.根据权利要求1所述的训练方法,其特征在于,所述真假判别器由至少一个真假判别模块和SigMoid函数模块组成,一个所述真假判别模块包括区域像素注意力模块RPA、区域通道注意力模块SKConv、注意力Dropout模块ADO、通道混洗模块CSA、注意力通道池化模块ACD和特征压缩模块FS;

所述将真实缺陷图像和所述模拟缺陷图像输入所述真假判别器中,生成所述真实缺陷图像的第一真假判别值和所述模拟缺陷图像的第二真假判别值,包括:通过区域像素注意力模块RPA对所述真实缺陷图像进行区域像素值权重生成处理,生成第一判别特征;

通过区域像素注意力模块RPA将所述真实缺陷图像和所述第一判别特征按通道对应相乘,生成第二判别特征;

将所述第二判别特征和所述第一标签特征进行通道叠加,生成第三判别特征;

通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第三判别特征的不同大小区域分配注意力,并通过分配注意力对第三判别特征不同特征通道进行筛选,生成第四判别特征;

通过第三注意力Dropout模块ADO给所述第四判别特征对应的每个神经元分配注意力,并将注意力小于第三预设阈值的神经元进行置零,生成第五判别特征;

通过所述通道混洗模块CSA对所述第五判别特征进行通道混洗;

通过区域通道注意力模块SKConv中不同大小感受野的卷积核对所述第五判别特征的不同大小区域分配注意力,并通过分配注意力对所述第五判别特征不同特征通道进行筛选,生成第六判别特征;

通过第四注意力Dropout模块ADO给所述第六判别特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七判别特征;

通过注意力通道池化模块ACD给所述第七判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第八判别特征;

通过特征压缩模块FS对所述第八判别特征进行特征信息的提取,生成真假判别数据;

将所述真假判别数据输入所述真假判别器中下一个真假判别模块,直到SigMoid函数模块将最后一个真假判别模块输出的真假判别数据进行分析得到第一真假判别值;

将所述模拟缺陷图像输入所述真假判别器中,通过真假判别模块和SigMoid函数模块输出第二真假判别值。

4.根据权利要求1所述的训练方法,其特征在于,所述类别判别器包括至少一个类别判别模块和softmax函数模块,所述类别判别模块包括区域像素注意力模块RPA、区域通道注意力模块SKConv、通道混洗模块CSA、注意力通道池化模块ACD和特征压缩模块FS;

所述将所述真实缺陷图像和所述模拟缺陷图像输入所述类别判别器中,生成所述真实缺陷图像的第一类别判别值和所述模拟缺陷图像的第二类别判别值,包括:通过区域像素注意力模块RPA对所述真实缺陷图像进行区域像素值权重生成处理,生成第九判别特征;

通过区域像素注意力模块RPA将所述真实缺陷图像和所述第九判别特征按通道对应相乘,生成第十判别特征;

将所述第十判别特征和所述第一标签特征进行通道叠加,生成第十一判别特征;

通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十一判别特征的不同大小区域分配注意力,并通过分配注意力对第十一判别特征不同特征通道进行筛选,生成第十二判别特征;

通过所述通道混洗模块CSA对所述第十二判别特征进行通道混洗;

通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十二判别特征的不同大小区域分配注意力,并通过分配注意力对第十二判别特征不同特征通道进行筛选,生成第十三判别特征;

通过注意力通道池化模块ACD给所述第十三判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第十四判别特征;

通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十四判别特征的不同大小区域分配注意力,并通过分配注意力对第十四判别特征不同特征通道进行筛选,生成第十五判别特征;

通过特征压缩模块FS对所述第十五判别特征进行特征信息的提取,生成类别判别数据;

将所述类别判别数据输入所述类别判别器中下一个类别判别模块,直到softmax函数模块将最后一个类别判别模块输出的类别判别数据进行分析得到第一类别判别值;

将所述模拟缺陷图像输入所述类别判别器中,通过类别判别模块和softmax函数模块输出第二类别判别值。

5.根据权利要求1至4中任一项所述的训练方法,其特征在于,在所述将一组正态分布采样数据和所述缺陷类型标签输入所述生成器,生成模拟缺陷图像之前,所述获取卷积神经网络模型和缺陷类型标签之后,所述训练方法还包括:通过编码器获取真实缺陷图像的缺陷标签特征;

通过所述缺陷标签特征计算生成均值集合和方差集合,隐空间参数为所述真实缺陷图像的条件概率分布;

通过重参数化技术对所述均值集合和方差集合进行采样,生成正态分布采样数据,所述正态分布采样数据遵循真实缺陷图像的条件概率分布。

6.一种缺陷数据集的生成模型的训练装置,其特征在于,包括:第一获取单元,用于获取卷积神经网络模型和缺陷类型标签,所述卷积神经网络模型中包括生成器、真假判别器和类别判别器,所述生成器包括N个生成模块Generator和输出模块Conv_out,N为大于等于2的整数,所述生成模块Generator包括区域像素注意力模块RPA、注意力Dropout模块ADO、至少两个通道注意力模块Attention、反卷积模块和卷积模块;

第一生成单元,用于将一组正态分布采样数据和所述缺陷类型标签输入所述生成器,生成模拟缺陷图像;

第一生成单元,包括:

第一生成模块,用于通过第一卷积模块将正态分布采样数据进行卷积操作,生成第一采样特征;

第二生成模块,用于通过第二卷积模块将缺陷类型标签进行卷积操作,生成第一标签特征;

第三生成模块,用于将第一采样特征和第一标签特征输入第一生成模块Generator,生成第一生成参数;

第三生成模块,具体为:

通过区域像素注意力模块RPA对第一采样特征进行区域像素值权重生成处理,生成第一中间特征;

通过区域像素注意力模块RPA将第一采样特征和第一中间特征按通道对应相乘,生成第二中间特征;

通过第三卷积模块将第二中间特征进行卷积处理和通道叠加处理;

通过第一通道注意力模块Attention为第二中间特征生成通道向量;

通过第一通道注意力模块Attention结合通道向量输出一个维度与第二中间特征通道数相同的归一化一维向量;

通过第一通道注意力模块Attention根据归一化一维向量将第二中间特征按通道对应相乘,生成第三中间特征;

通过第四卷积模块将第三中间特征进行卷积处理和通道叠加处理;

通过第二通道注意力模块Attention为第三中间特征生成通道向量;

通过第二通道注意力模块Attention结合通道向量输出一个维度与第三中间特征通道数相同的归一化一维向量;

通过第二通道注意力模块Attention根据归一化一维向量将第三中间特征按通道对应相乘,生成第四中间特征;

将第四中间特征、第一标签特征和第一采样特征进行通道叠加,生成第五中间特征;

通过第一反卷积模块将第五中间特征进行特征长宽重构,生成第六中间特征;

通过第一注意力Dropout模块ADO给第六中间特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七中间特征;

通过第二反卷积模块将第七中间特征进行特征长宽重构,生成第一生成参数;

第四生成模块,用于将第一生成参数、第一采样特征和第一标签特征输入第二生成模块Generator,生成第二生成参数;

第五生成模块,用于将第N‑1生成参数、第一采样特征和第一标签特征输入第N生成模块Generator,生成第N生成参数;

第六生成模块,用于将第N生成参数通过输出模块Conv_out进行还原输出,生成模拟缺陷图像;

第二生成单元,用于将真实缺陷图像和所述模拟缺陷图像输入所述真假判别器中,生成所述真实缺陷图像的第一真假判别值和所述模拟缺陷图像的第二真假判别值;

第三生成单元,用于将所述真实缺陷图像和所述模拟缺陷图像输入所述类别判别器中,生成所述真实缺陷图像的第一类别判别值和所述模拟缺陷图像的第二类别判别值;

计算单元,用于根据所述第一真假判别值、所述第二真假判别值、所述第一类别判别值和所述第二类别判别值计算所述生成器的第一损失值、所述真假判别器的第二损失值和所述类别判别器的第三损失值;

判断单元,用于判断所述第一损失值、所述第二损失值和所述第三损失值是否满足预设条件;

确定单元,用于当判断单元确定所述第一损失值、所述第二损失值和所述第三损失值满足条件时,则确定所述卷积神经网络模型训练完成;

更新单元,用于当判断单元确定所述第一损失值、所述第二损失值和所述第三损失值不满足条件时,则根据第一损失值、第二损失值和第三损失值更新生成器的权值,根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。

7.一种电子设备,其特征在于,包括:

处理器、存储器、输入输出单元以及总线;

所述处理器与所述存储器、所述输入输出单元以及所述总线相连;

所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至6任意一项所述的训练方法。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如权利要求1至6中任一项所述的训练方法。

说明书 :

一种缺陷数据集的生成模型的训练方法及相关装置

技术领域

[0001] 本申请实施例涉及模型训练领域,尤其涉及一种缺陷数据集的生成模型的训练方法及相关装置。

背景技术

[0002] 近年来,随着计算机的不断发展,使得卷积神经网络模型的应用范围快速扩大,涉及制造业、日常生活等。分析图像的类型是卷积神经网络模型的主要功能之一,可以应用在识别物品的缺陷,例如:在制造PCB板过程中识别PCB板上存在的缺陷。利用了卷积神经网络模型可以对某一缺陷图像进行学习训练的能力,提高卷积神经网络模型对该缺陷图像存在的特征的识别能力。深度学习作为新兴技术在PCB板外观缺陷检测领域蓬勃发展,因其自主学习样本外观缺陷特征避免了人工设计算法的繁琐,其精准的检测性能、高效的检测效率以及对各种不同类型的PCB板外观缺陷都有比较好的泛化性能,使得深度学习技术在工业PCB板外观缺陷检测领域得到广泛应用。
[0003] 由于深度学习自身的算法特性,需要大量的外观缺陷样本图像作为训练数据集供神经网络学习样本外观缺陷特征,而这些缺陷图像的获取则成了制约深度学习在PCB板外观缺陷检测领域发展应用的一大因素。每一张缺陷图片需要一块有缺陷的PCB板,而缺陷PCB板的数量本就不是很多,且这些缺陷PCB板样品都是各个厂家的保密资产,难以得到。当前主流缺陷图像数据集获得方式有三类:实物PCB板拍照、伪缺陷图像生成以及数据集增强技术。
[0004] 以前针对缺陷图像的来源上主要通过实物PCB板拍照,即使用真实存在缺陷的PCB板,然后通过高分辨率相机拍照,这种方法得到的缺陷图像最真实,但同一显示屏仅能获取到少量缺陷图像。并且,制作出来的PCB板上存在缺陷的情况并不多,导致这种方法效率极低。
[0005] 针对上述问题,人们又通过数据集增强技术来生成缺陷图像,数据集增强技术是通过对原图进行各种图像操作比如随机旋转、随机裁剪、随机缩放、灰度变换等,得到一些和原图看起来不同的图片,但这些图片和原图从计算机数据分布的角度看采样点相同,基本没有差异,因此效果也不好。
[0006] 目前,人们通过伪缺陷图像生成,生成缺陷图像。即通过软件编码模拟缺陷图像的像素特征,计算机控制每个像素的值来生成假的缺陷图像。但是这种生成方式只是模仿缺陷图像表象特征,人为地生成一些看起来像的缺陷图像,从图像数据统计分布角度看,与真实的缺陷图像差距巨大,那个达到训练图像质量的缺陷图像仅有少数。
[0007] 综上所述,目前人为生成的特定缺陷图像图像获取效率和图像质量无法兼顾。

发明内容

[0008] 本申请公开了一种缺陷数据集的生成模型的训练方法及相关装置,用于提高图像的获取效率和图像质量。
[0009] 本申请第一方面提供了一种缺陷数据集的生成模型的训练方法,包括:
[0010] 获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器;
[0011] 将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像;
[0012] 将真实缺陷图像和模拟缺陷图像输入真假判别器中,生成真实缺陷图像的第一真假判别值和模拟缺陷图像的第二真假判别值;
[0013] 将真实缺陷图像和模拟缺陷图像输入类别判别器中,生成真实缺陷图像的第一类别判别值和模拟缺陷图像的第二类别判别值;
[0014] 根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值;
[0015] 判断第一损失值、第二损失值和第三损失值是否满足预设条件;
[0016] 若满足条件,则确定卷积神经网络模型训练完成;
[0017] 若不满足条件,则根据第一损失值、第二损失值和第三损失值更新生成器的权值,根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。
[0018] 可选的,生成器包括N个生成模块Generator和输出模块Conv_out,N为大于等于2的整数;
[0019] 将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像,包括:
[0020] 通过第一卷积模块将正态分布采样数据进行卷积操作,生成第一采样特征;
[0021] 通过第二卷积模块将缺陷类型标签进行卷积操作,生成第一标签特征;
[0022] 将第一采样特征和第一标签特征输入第一生成模块Generator,生成第一生成参数;
[0023] 将第一生成参数、第一采样特征和第一标签特征输入第二生成模块Generator,生成第二生成参数;
[0024] 将第N‑1生成参数、第一采样特征和第一标签特征输入第N生成模块Generator,生成第N生成参数;
[0025] 将第N生成参数通过输出模块Conv_out进行还原输出,生成模拟缺陷图像。
[0026] 可选的,生成模块Generator包括区域像素注意力模块RPA、注意力Dropout模块ADO、至少两个通道注意力模块Attention、反卷积模块和卷积模块;
[0027] 将第一采样特征和第一标签特征输入第一生成模块Generator,生成第一生成参数,具体为:
[0028] 通过区域像素注意力模块RPA对第一采样特征进行区域像素值权重生成处理,生成第一中间特征;
[0029] 通过区域像素注意力模块RPA将第一采样特征和第一中间特征按通道对应相乘,生成第二中间特征;
[0030] 通过第三卷积模块将第二中间特征进行卷积处理和通道叠加处理;
[0031] 通过第一通道注意力模块Attention为第二中间特征生成通道向量;
[0032] 通过第一通道注意力模块Attention结合通道向量输出一个维度与第二中间特征通道数相同的归一化一维向量;
[0033] 通过第一通道注意力模块Attention根据归一化一维向量将第二中间特征按通道对应相乘,生成第三中间特征;
[0034] 通过第四卷积模块将第三中间特征进行卷积处理和通道叠加处理;
[0035] 通过第二通道注意力模块Attention为第三中间特征生成通道向量;
[0036] 通过第二通道注意力模块Attention结合通道向量输出一个维度与第三中间特征通道数相同的归一化一维向量;
[0037] 通过第二通道注意力模块Attention根据归一化一维向量将第三中间特征按通道对应相乘,生成第四中间特征;
[0038] 将第四中间特征、第一标签特征和第一采样特征进行通道叠加,生成第五中间特征;
[0039] 通过第一反卷积模块将第五中间特征进行特征长宽重构,生成第六中间特征;
[0040] 通过第一注意力Dropout模块ADO给第六中间特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七中间特征;
[0041] 通过第二反卷积模块将第七中间特征进行特征长宽重构,生成第一生成参数。
[0042] 可选的,将第一生成参数、第一采样特征和第一标签特征输入第二生成模块Generator,生成第二生成参数,具体为:
[0043] 将第一生成参数和第一采样特征进行通道叠加,生成第八中间参数;
[0044] 通过区域像素注意力模块RPA对第八中间参数进行区域像素值权重生成处理,生成第九中间特征;
[0045] 通过区域像素注意力模块RPA将第八中间参数和第九中间特征按通道对应相乘,生成第十中间特征;
[0046] 通过第五卷积模块将第十中间特征进行卷积处理和通道叠加处理;
[0047] 通过第三通道注意力模块Attention为第十中间特征生成通道向量;
[0048] 通过第三通道注意力模块Attention结合通道向量输出一个维度与第十中间特征通道数相同的归一化一维向量;
[0049] 通过第三通道注意力模块Attention根据归一化一维向量将第十中间特征按通道对应相乘,生成第十一中间特征;
[0050] 通过第六卷积模块将第十一中间特征进行卷积处理和通道叠加处理;
[0051] 通过第四通道注意力模块Attention为第十一中间特征生成通道向量;
[0052] 通过第四通道注意力模块Attention结合通道向量输出一个维度与第十一中间特征通道数相同的归一化一维向量;
[0053] 通过第四通道注意力模块Attention根据归一化一维向量将第十一中间特征按通道对应相乘,生成第十二中间特征;
[0054] 将第十二中间特征、第一标签特征和第八中间参数进行通道叠加,生成第十三中间特征;
[0055] 通过第三反卷积模块将第十三中间特征进行特征长宽重构,生成第十四中间特征;
[0056] 通过第二注意力Dropout模块ADO给第十四中间特征对应的每个神经元分配注意力,并将注意力小于第二预设阈值的神经元进行置零,生成第十五中间特征;
[0057] 通过第四反卷积模块将第十五中间特征进行特征长宽重构,生成第二生成参数。
[0058] 可选的,真假判别器由至少一个真假判别模块和SigMoid函数模块组成,一个真假判别模块包括区域像素注意力模块RPA、区域通道注意力模块SKConv、注意力Dropout模块ADO、通道混洗模块CSA、注意力通道池化模块ACD和特征压缩模块FS;
[0059] 将真实缺陷图像和模拟缺陷图像输入真假判别器中,生成真实缺陷图像的第一真假判别值和模拟缺陷图像的第二真假判别值,包括:
[0060] 通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第一判别特征;
[0061] 通过区域像素注意力模块RPA将真实缺陷图像和第一判别特征按通道对应相乘,生成第二判别特征;
[0062] 将第二判别特征和第一标签特征进行通道叠加,生成第三判别特征;
[0063] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第三判别特征的不同大小区域分配注意力,并通过分配注意力对第三判别特征不同特征通道进行筛选,生成第四判别特征;
[0064] 通过第三注意力Dropout模块ADO给第四判别特征对应的每个神经元分配注意力,并将注意力小于第三预设阈值的神经元进行置零,生成第五判别特征;
[0065] 通过通道混洗模块CSA对第五判别特征进行通道混洗;
[0066] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第五判别特征的不同大小区域分配注意力,并通过分配注意力对第五判别特征不同特征通道进行筛选,生成第六判别特征;
[0067] 通过第四注意力Dropout模块ADO给第六判别特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七判别特征;
[0068] 通过注意力通道池化模块ACD给第七判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第八判别特征;
[0069] 通过特征压缩模块FS对第八判别特征进行特征信息的提取,生成真假判别数据;
[0070] 将真假判别数据输入真假判别器中下一个真假判别模块,直到SigMoid函数模块将最后一个真假判别模块输出的真假判别数据进行分析得到第一真假判别值;
[0071] 将模拟缺陷图像输入真假判别器中,通过真假判别模块和SigMoid函数模块输出第二真假判别值。
[0072] 可选的,类别判别器包括至少一个类别判别模块和softmax函数模块,类别判别模块包括区域像素注意力模块RPA、区域通道注意力模块SKConv、通道混洗模块CSA、注意力通道池化模块ACD和特征压缩模块FS;
[0073] 将真实缺陷图像和模拟缺陷图像输入类别判别器中,生成真实缺陷图像的第一类别判别值和模拟缺陷图像的第二类别判别值,包括:
[0074] 通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第九判别特征;
[0075] 通过区域像素注意力模块RPA将真实缺陷图像和第九判别特征按通道对应相乘,生成第十判别特征;
[0076] 将第十判别特征和第一标签特征进行通道叠加,生成第十一判别特征;
[0077] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十一判别特征的不同大小区域分配注意力,并通过分配注意力对第十一判别特征不同特征通道进行筛选,生成第十二判别特征;
[0078] 通过通道混洗模块CSA对第十二判别特征进行通道混洗;
[0079] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十二判别特征的不同大小区域分配注意力,并通过分配注意力对第十二判别特征不同特征通道进行筛选,生成第十三判别特征;
[0080] 通过注意力通道池化模块ACD给第十三判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第十四判别特征;
[0081] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十四判别特征的不同大小区域分配注意力,并通过分配注意力对第十四判别特征不同特征通道进行筛选,生成第十五判别特征;
[0082] 通过特征压缩模块FS对第十五判别特征进行特征信息的提取,生成类别判别数据;
[0083] 将类别判别数据输入类别判别器中下一个类别判别模块,直到softmax函数模块将最后一个类别判别模块输出的类别判别数据进行分析得到第一类别判别值;
[0084] 将模拟缺陷图像输入类别判别器中,通过类别判别模块和softmax函数模块输出第二类别判别值。
[0085] 可选的,在将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像之前,获取卷积神经网络模型和缺陷类型标签之后,训练方法还包括:
[0086] 通过编码器获取真实缺陷图像的缺陷标签特征;
[0087] 通过缺陷标签特征计算生成均值集合和方差集合,隐空间参数为真实缺陷图像的条件概率分布;
[0088] 通过重参数化技术对均值集合和方差集合进行采样,生成正态分布采样数据,正态分布采样数据遵循真实缺陷图像的条件概率分布。
[0089] 本申请第一方面提供了一种缺陷数据集的生成模型的训练装置,包括:
[0090] 第一获取单元,用于获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器;
[0091] 第一生成单元,用于将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像;
[0092] 第二生成单元,用于将真实缺陷图像和模拟缺陷图像输入真假判别器中,生成真实缺陷图像的第一真假判别值和模拟缺陷图像的第二真假判别值;
[0093] 第三生成单元,用于将真实缺陷图像和模拟缺陷图像输入类别判别器中,生成真实缺陷图像的第一类别判别值和模拟缺陷图像的第二类别判别值;
[0094] 计算单元,用于根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值;
[0095] 判断单元,用于判断第一损失值、第二损失值和第三损失值是否满足预设条件;
[0096] 确定单元,用于当判断单元确定第一损失值、第二损失值和第三损失值满足条件时,则确定卷积神经网络模型训练完成;
[0097] 更新单元,用于当判断单元确定第一损失值、第二损失值和第三损失值不满足条件时,则根据第一损失值、第二损失值和第三损失值更新生成器的权值,根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。
[0098] 可选的,生成器包括N个生成模块Generator和输出模块Conv_out,N为大于等于2的整数;
[0099] 第一生成单元,包括:
[0100] 第一生成模块,用于通过第一卷积模块将正态分布采样数据进行卷积操作,生成第一采样特征;
[0101] 第二生成模块,用于通过第二卷积模块将缺陷类型标签进行卷积操作,生成第一标签特征;
[0102] 第三生成模块,用于将第一采样特征和第一标签特征输入第一生成模块Generator,生成第一生成参数;
[0103] 第四生成模块,用于将第一生成参数、第一采样特征和第一标签特征输入第二生成模块Generator,生成第二生成参数;
[0104] 第五生成模块,用于将第N‑1生成参数、第一采样特征和第一标签特征输入第N生成模块Generator,生成第N生成参数;
[0105] 第六生成模块,用于将第N生成参数通过输出模块Conv_out进行还原输出,生成模拟缺陷图像。
[0106] 可选的,生成模块Generator包括区域像素注意力模块RPA、注意力Dropout模块ADO、至少两个通道注意力模块Attention、反卷积模块和卷积模块;
[0107] 第三生成模块,具体为:
[0108] 通过区域像素注意力模块RPA对第一采样特征进行区域像素值权重生成处理,生成第一中间特征;
[0109] 通过区域像素注意力模块RPA将第一采样特征和第一中间特征按通道对应相乘,生成第二中间特征;
[0110] 通过第三卷积模块将第二中间特征进行卷积处理和通道叠加处理;
[0111] 通过第一通道注意力模块Attention为第二中间特征生成通道向量;
[0112] 通过第一通道注意力模块Attention结合通道向量输出一个维度与第二中间特征通道数相同的归一化一维向量;
[0113] 通过第一通道注意力模块Attention根据归一化一维向量将第二中间特征按通道对应相乘,生成第三中间特征;
[0114] 通过第四卷积模块将第三中间特征进行卷积处理和通道叠加处理;
[0115] 通过第二通道注意力模块Attention为第三中间特征生成通道向量;
[0116] 通过第二通道注意力模块Attention结合通道向量输出一个维度与第三中间特征通道数相同的归一化一维向量;
[0117] 通过第二通道注意力模块Attention根据归一化一维向量将第三中间特征按通道对应相乘,生成第四中间特征;
[0118] 将第四中间特征、第一标签特征和第一采样特征进行通道叠加,生成第五中间特征;
[0119] 通过第一反卷积模块将第五中间特征进行特征长宽重构,生成第六中间特征;
[0120] 通过第一注意力Dropout模块ADO给第六中间特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七中间特征;
[0121] 通过第二反卷积模块将第七中间特征进行特征长宽重构,生成第一生成参数。
[0122] 可选的,第四生成模块,具体为:
[0123] 将第一生成参数和第一采样特征进行通道叠加,生成第八中间参数;
[0124] 通过区域像素注意力模块RPA对第八中间参数进行区域像素值权重生成处理,生成第九中间特征;
[0125] 通过区域像素注意力模块RPA将第八中间参数和第九中间特征按通道对应相乘,生成第十中间特征;
[0126] 通过第五卷积模块将第十中间特征进行卷积处理和通道叠加处理;
[0127] 通过第三通道注意力模块Attention为第十中间特征生成通道向量;
[0128] 通过第三通道注意力模块Attention结合通道向量输出一个维度与第十中间特征通道数相同的归一化一维向量;
[0129] 通过第三通道注意力模块Attention根据归一化一维向量将第十中间特征按通道对应相乘,生成第十一中间特征;
[0130] 通过第六卷积模块将第十一中间特征进行卷积处理和通道叠加处理;
[0131] 通过第四通道注意力模块Attention为第十一中间特征生成通道向量;
[0132] 通过第四通道注意力模块Attention结合通道向量输出一个维度与第十一中间特征通道数相同的归一化一维向量;
[0133] 通过第四通道注意力模块Attention根据归一化一维向量将第十一中间特征按通道对应相乘,生成第十二中间特征;
[0134] 将第十二中间特征、第一标签特征和第八中间参数进行通道叠加,生成第十三中间特征;
[0135] 通过第三反卷积模块将第十三中间特征进行特征长宽重构,生成第十四中间特征;
[0136] 通过第二注意力Dropout模块ADO给第十四中间特征对应的每个神经元分配注意力,并将注意力小于第二预设阈值的神经元进行置零,生成第十五中间特征;
[0137] 通过第四反卷积模块将第十五中间特征进行特征长宽重构,生成第二生成参数。
[0138] 可选的,真假判别器由至少一个真假判别模块和SigMoid函数模块组成,一个真假判别模块包括区域像素注意力模块RPA、区域通道注意力模块SKConv、注意力Dropout模块ADO、通道混洗模块CSA、注意力通道池化模块ACD和特征压缩模块FS;
[0139] 第二生成单元,具体为:
[0140] 通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第一判别特征;
[0141] 通过区域像素注意力模块RPA将真实缺陷图像和第一判别特征按通道对应相乘,生成第二判别特征;
[0142] 将第二判别特征和第一标签特征进行通道叠加,生成第三判别特征;
[0143] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第三判别特征的不同大小区域分配注意力,并通过分配注意力对第三判别特征不同特征通道进行筛选,生成第四判别特征;
[0144] 通过第三注意力Dropout模块ADO给第四判别特征对应的每个神经元分配注意力,并将注意力小于第三预设阈值的神经元进行置零,生成第五判别特征;
[0145] 通过通道混洗模块CSA对第五判别特征进行通道混洗;
[0146] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第五判别特征的不同大小区域分配注意力,并通过分配注意力对第五判别特征不同特征通道进行筛选,生成第六判别特征;
[0147] 通过第四注意力Dropout模块ADO给第六判别特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七判别特征;
[0148] 通过注意力通道池化模块ACD给第七判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第八判别特征;
[0149] 通过特征压缩模块FS对第八判别特征进行特征信息的提取,生成真假判别数据;
[0150] 将真假判别数据输入真假判别器中下一个真假判别模块,直到SigMoid函数模块将最后一个真假判别模块输出的真假判别数据进行分析得到第一真假判别值;
[0151] 将模拟缺陷图像输入真假判别器中,通过真假判别模块和SigMoid函数模块输出第二真假判别值。
[0152] 可选的,类别判别器包括至少一个类别判别模块和softmax函数模块,类别判别模块包括区域像素注意力模块RPA、区域通道注意力模块SKConv、通道混洗模块CSA、注意力通道池化模块ACD和特征压缩模块FS;
[0153] 第三生成单元,包括:
[0154] 通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第九判别特征;
[0155] 通过区域像素注意力模块RPA将真实缺陷图像和第九判别特征按通道对应相乘,生成第十判别特征;
[0156] 将第十判别特征和第一标签特征进行通道叠加,生成第十一判别特征;
[0157] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十一判别特征的不同大小区域分配注意力,并通过分配注意力对第十一判别特征不同特征通道进行筛选,生成第十二判别特征;
[0158] 通过通道混洗模块CSA对第十二判别特征进行通道混洗;
[0159] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十二判别特征的不同大小区域分配注意力,并通过分配注意力对第十二判别特征不同特征通道进行筛选,生成第十三判别特征;
[0160] 通过注意力通道池化模块ACD给第十三判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第十四判别特征;
[0161] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十四判别特征的不同大小区域分配注意力,并通过分配注意力对第十四判别特征不同特征通道进行筛选,生成第十五判别特征;
[0162] 通过特征压缩模块FS对第十五判别特征进行特征信息的提取,生成类别判别数据;
[0163] 将类别判别数据输入类别判别器中下一个类别判别模块,直到softmax函数模块将最后一个类别判别模块输出的类别判别数据进行分析得到第一类别判别值;
[0164] 将模拟缺陷图像输入类别判别器中,通过类别判别模块和softmax函数模块输出第二类别判别值。
[0165] 可选的,在第一生成单元之前,第一获取单元之后,训练装置还包括:
[0166] 第二获取单元,用于通过编码器获取真实缺陷图像的缺陷标签特征;
[0167] 第四生成单元,用于通过缺陷标签特征计算生成均值集合和方差集合,隐空间参数为真实缺陷图像的条件概率分布;
[0168] 第五生成单元,用于通过重参数化技术对均值集合和方差集合进行采样,生成正态分布采样数据,正态分布采样数据遵循真实缺陷图像的条件概率分布。
[0169] 本申请第三方面提供了一种电子设备,包括:
[0170] 处理器、存储器、输入输出单元以及总线;
[0171] 处理器与存储器、输入输出单元以及总线相连;
[0172] 存储器保存有程序,处理器调用程序以执行如第一方面以及第一方面的任意可选的训练方法。
[0173] 本申请第四方面提供了一种计算机可读存储介质,计算机可读存储介质上保存有程序,程序在计算机上执行时执行如第一方面以及第一方面的任意可选的训练方法。
[0174] 从以上技术方案可以看出,本申请实施例具有以下优点:
[0175] 首先获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器,缺陷类型标签是目标生成图像的缺陷标签。将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像,即对正态分布数据进行采样,并且将采样后的数据结合缺陷类型标签输入生成器,使得生成器根据类型标签和正态分布采样数据生成模拟缺陷图像。选取一张真实缺陷图像,该真实缺陷图像和缺陷类型标签对应的是同一种缺陷类型,将真实缺陷图像和模拟缺陷图像输入真假判别器中,生成真实缺陷图像的第一真假判别值和模拟缺陷图像的第二真假判别值。将真实缺陷图像和模拟缺陷图像输入类别判别器中,生成真实缺陷图像的第一类别判别值和模拟缺陷图像的第二类别判别值。根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值。判断第一损失值、第二损失值和第三损失值是否满足预设条件。若满足条件,则确定卷积神经网络模型训练完成。若不满足条件,则根据第一损失值、第二损失值和第三损失值更新生成器的权值、根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。本实施例中,通过生成器根据类型标签和正态分布采样数据生成模拟缺陷图像,再将对应的真实缺陷图像和模拟缺陷图像分别进行真假判别和类型判别,得到的生成器损失值(第一损失值)、真假判别器损失值(第二损失值)和类别判别器损失值(第三损失值)反向更新生成器,真假判别器和类别判别器分别使用真假判别器损失值和类别判别器损失值更新。训练完成之后,生成器能够仅使用正态分布采样数据和缺陷类型标签生成图像,并且生成的图像质量能够同时达到真假判别器和类型判别器的判别标准,极大程度的提高缺陷图像的获取效率和图像质量。

附图说明

[0176] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0177] 图1为本申请缺陷数据集的生成模型的训练方法的一个实施例示意图;
[0178] 图2为本申请实施例中卷积神经网络模型网络层的一个实施例流程示意图;
[0179] 图3为本申请实施例中卷积神经网络模型网络层的另一个实施例结构示意图;
[0180] 图4为本申请实施例中卷积神经网络模型网络层的另一个实施例结构示意图;
[0181] 图5‑1为本申请缺陷数据集的生成模型的训练方法的第一阶段的一个实施例示意图;
[0182] 图5‑2为本申请缺陷数据集的生成模型的训练方法的第二阶段的一个实施例示意图;
[0183] 图5‑3为本申请缺陷数据集的生成模型的训练方法的第三阶段的一个实施例示意图;
[0184] 图5‑4为本申请缺陷数据集的生成模型的训练方法的第四阶段的一个实施例示意图;
[0185] 图5‑5为本申请缺陷数据集的生成模型的训练方法的第五阶段的一个实施例示意图;
[0186] 图5‑6为本申请缺陷数据集的生成模型的训练方法的第六阶段的一个实施例示意图;
[0187] 图5‑7为本申请缺陷数据集的生成模型的训练方法的第七阶段的一个实施例示意图;
[0188] 图5‑8为本申请缺陷数据集的生成模型的训练方法的第八阶段的一个实施例示意图;
[0189] 图6为本申请缺陷数据集的生成模型的训练装置的一个实施例示意图;
[0190] 图7为本申请缺陷数据集的生成模型的训练装置的另一个实施例示意图;
[0191] 图8为本申请电子设备的一个实施例示意图。

具体实施方式

[0192] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0193] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0194] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0195] 如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0196] 另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0197] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0198] 在现有技术中,针对缺陷图像的来源上主要通过实物PCB板拍照,即使用真实存在缺陷的PCB板,然后通过高分辨率相机拍照,这种方法得到的缺陷图像最真实,但同一显示屏仅能获取到少量缺陷图像。并且,制作出来的PCB板上存在缺陷的情况并不多,导致这种方法效率极低。针对上述问题,人们又通过数据集增强技术来生成缺陷图像,数据集增强技术是通过对原图进行各种图像操作比如随机旋转、随机裁剪、随机缩放、灰度变换等,得到一些和原图看起来不同的图片,但这些图片和原图从计算机数据分布的角度看采样点相同,基本没有差异,因此效果也不好。目前,人们通过伪缺陷图像生成,生成缺陷图像。即通过软件编码模拟缺陷图像的像素特征,计算机控制每个像素的值来生成假的缺陷图像。但是这种生成方式只是模仿缺陷图像表象特征,人为地生成一些看起来像的缺陷图像,从图像数据统计分布角度看,与真实的缺陷图像差距巨大,那个达到训练图像质量的缺陷图像仅有少数。综上所述,目前人为生成的特定缺陷图像图像获取效率和图像质量无法兼顾。
[0199] 基于此,本申请公开了一种缺陷数据集的生成模型的训练方法及相关装置,用于提高图像的获取效率和图像质量。
[0200] 下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0201] 本申请的方法可以应用于服务器、设备、终端或者其它具备逻辑处理能力的设备,对此,本申请不作限定。为方便描述,下面以执行主体为终端为例进行描述。
[0202] 请参阅图1,本申请提供了一种缺陷数据集的生成模型的训练方法的一个实施例,包括:
[0203] 101、获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器;
[0204] 本实施例使用的卷积神经网络模型是一种条件对抗生成网络(CGAN),是在对抗生成网络(GAN)的基础上,在原有的网络结构下对判别器和生成器的输入都加上一个额外的辅助信息,这个辅助信息可以使该数据的缺陷类型标签等。本实施例中,在卷积神经网络模型的生成器中使用这个缺陷类型标签就是上述的辅助信息。
[0205] 基于这样的原理,可以得到CGAN的目标函数。相比于GAN,整体的目标函数没有任何变化,只是判别器的输入与生成器的随机输入都加上了缺陷类型标签这个条件。
[0206] 缺陷类型标签是指图像中PCB板所属于的缺陷类型,通过高清拍照的方式获得凹陷、内断、板面残胶这三种常见PCB板外观缺陷图片,对三种缺陷进行手动设置标签,比如凹陷为1,内为2,崩面残胶为3。并通过抠图的方式将这三种缺陷的小图从整个PCB板图像上截取出来,避免大量无用像素的干扰以及节约内存减少训练时间,由于缺陷是基于PCB板上的,所以须保留一定的背景部分。对获得的缺陷图片进行图像增强处理,包括随机旋转、镜像、灰度变换等,扩充数据集数量。
[0207] 102、将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像;
[0208] 终端将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像,[0209] 在传统的生成器中,从前置随机分布中取出随即输入z,在与条件输入y进行拼接组合,形成一个全新的隐含表示。而在判别器中,真实数据x或生成数据G(z)都会和条件y共同输入以进行判别。本实施例中,将正态分布采样数据以及对应的条件(缺陷类型标签)输入生成器,使得生成器输出的缺陷模拟图像附带缺陷类型的缺陷模拟图像。
[0210] 103、将真实缺陷图像和模拟缺陷图像输入真假判别器中,生成真实缺陷图像的第一真假判别值和模拟缺陷图像的第二真假判别值;
[0211] 终端选取一张具备缺陷的PCB板的图像(真实缺陷图像),将该图像输入真假判别器,通过真假判别器为其输出第一真假判别值。
[0212] 并且终端将缺陷模拟图像输入真假判别器中,通过真假判别器为其输出第二真假判别值。
[0213] 我们需要真假判别器对于真实缺陷图像的真假判别尽可能达到1,而模拟缺陷图像的真假判别尽可能达到0,并通过输出的数据不断更新真假判别器和生成器,使得生成器能够基于图像真伪进行训练。
[0214] 104、将真实缺陷图像和模拟缺陷图像输入类别判别器中,生成真实缺陷图像的第一类别判别值和模拟缺陷图像的第二类别判别值;
[0215] 终端将真实缺陷图像输入类别判别器中,通过类别判别器输出第一类别判别值。
[0216] 终端将模拟缺陷图像输入类别判别器中,通过类别判别器输出第二类别判别值。
[0217] 我们需要类别判别器对于真实缺陷图像以及模拟缺陷图像的类别判别达到一个预设高度,例如百分之95,并且也通过输出的数据更新类别判别器和生成器,使得生成器能够基于类别判别器对于类别的判断进行训练。
[0218] 105、根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值;
[0219] 终端根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值。
[0220] 模拟缺陷图像在真假判别器上的第二真假判别值pTg=Dt(G(Z|c))。
[0221] 真实缺陷图像真假判别器上的第一真假判别值pTx=Dt(X)。
[0222] 模拟缺陷图像在类别判别器上的第二判别判别值pCg=Dc(G(Z|c))。
[0223] 真实缺陷图像类别判别器上的第一类别判别值pCx=Dc(X)。
[0224] 其中,X为真实缺陷图像,Z为正态分布采样数据,c为缺陷类型标签,G(Z|c)为模拟缺陷图像。
[0225] 其中,本实施例中pTg=Dt(G(Z|c))和pTx=Dt(X)使用二分类的BCELoss损失,pCg=Dc(G(Z|c))和pCx=Dt(X)使用多分类(3分类)的CELoss损失。
[0226] 生成器的损失函数为LG=BCELoss(pTg, 1) + CELoss(pCg, c)。
[0227] 真假判别器的损失函数为LDt=BCELoss(pTg, 0) + BCELoss(pTx, 1)。
[0228] 类别判别器的损失函数为LDc=(1‑CELoss(pCg, c)) + CELoss(pCx, c)。
[0229] 将第一真假判别值pTx、第二真假判别值pTg、第一类别判别值pCx、第二判别判别值pCg代入对应损失函数中的BCELoss()和CELoss()中,再计算出损失值。
[0230] 106、判断第一损失值、第二损失值和第三损失值是否满足预设条件;
[0231] 终端判断第一损失值、第二损失值和第三损失值是否满足预设条件,可以是先统计生成器的第一损失值,得到第一损失值变化集合,判断最近10000次训练生成的损失值是否均满足收敛,如果满足,则生成器训练完成。再或者是生成器在满足收敛的情况下,损失值还要均小于预设值,整体训练次数也达到了100万次,如果满足,则确定生成器训练完成。
[0232] 真假判别器和类别判别器也可以根据上述方式为依据确定各自是否完成训练。
[0233] 但是会出现三者不同时训练完成的情况,这时可以根据需要进行下一步。可以是生成器训练完成为满足预设条件,也可以是生成器和真假判别器均完成训练为满足预设条件,也可以是生成器和类别判别器均完成训练为满足预设条件,还可以是三者均完成训练为满足预设条件,此处不作限定。
[0234] 107、若满足条件,则确定卷积神经网络模型训练完成;
[0235] 当满足上述三种条件时,可以确定卷积神经网络模型训练完成,可以将生成器、真假判别器和类别判别器分别取出进行对应领域的运用,生成器用于生成模拟缺陷图像,真假判别器用于识别PCB板缺陷图像真伪,类别判别器用于识别PCB板图像的缺陷类型。
[0236] 108、若不满足条件,则根据第一损失值、第二损失值和第三损失值更新生成器的权值,根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。
[0237] 由于生成器、真假判别器和类别判别器很难同时完成训练,故本实施例中,如果不只是需要生成器完成训练,那么当其中一个完成训练,可以选择不再更新权值,也可以选择继续更新权值,此处不作限定。例如:当是以三者均完成训练为满足预设条件时,当真假判别器完成训练之后,整个卷积神经网络模型继续训练之后,真假判别器不再更新权值,但是依旧计算损失值更新生成器以及类别判别器。直到全部完成训练。
[0238] 本实施例中,终端会根据第一损失值、第二损失值和第三损失值分三次更新生成器的权值。然后终端根据第二损失值更新真假判别器,终端根据第三损失值更新类别判别器的权值。
[0239] 对卷积神经网络模型的权重更新可以是多种方式,本实施例中,以小批量随机梯度下降法更新卷积神经网络模型为例,其中批训练的梯度更新方式的公式为:
[0240]
[0241] n是批量大小(batchsize),是学习率(learning rate), 是当前权值, 为更新权值, 为权值更新子函数,x为预设值。
[0242] 使用反向梯度求导,请参考图2,图3为一个卷积神经网络模型网络层示意图。
[0243] 左侧为第一层,也是输入层,输入层包含两个神经元a和b。中间为第二层,也是隐含层,隐含层包含两个神经元c和d。右侧为第三层,也是输出层,输出层包含e和f,每条线上标的 是层与层之间连接的权重。
[0244] 代表第l层第j个神经元,与上一层(l‑1)第k个神经元输出相对应的权重。
[0245] 代表第l层第j个神经元输出。
[0246] 代表第l层第j个神经元输入。
[0247] 代表第l层第j个神经元偏置。
[0248] W代表权重矩阵,Z代表输入矩阵,A代表输出矩阵,Y代表标准答案。
[0249] L代表卷积神经网络模型的层数。
[0250]
[0251] 向前传播的方法,即将输入层的信号传输至隐藏层,以隐藏层节点c为例,站在节点c上往后看(输入层的方向),可以看到有两个箭头指向节点c,因此a,b节点的信息将传递给c,同时每个箭头有一定的权重,因此对于c节点来说,输入信号为:
[0252]
[0253] 同理,节点d的输入信号为:
[0254]
[0255] 由于终端善于做带有循环的任务,因此可以用矩阵相乘来表示:
[0256]
[0257] 所以,隐藏层节点经过非线性变换后的输出表示如下:
[0258]
[0259] 同理,输出层的输入信号表示为权重矩阵乘以上一层的输出:
[0260]
[0261] 同样,输出层节点经过非线性映射后的最终输出表示为:
[0262]
[0263] 输入信号在权重矩阵们的帮助下,得到每一层的输出,最终到达输出层。可见,权重矩阵在前向传播信号的过程中扮演着运输兵的作用,起到承上启下的功能。
[0264] 请参考图3,图3为一个卷积神经网络模型网络层示意图。向后传播的方法,既然梯度下降需要每一层都有明确的误差才能更新参数,所以接下来的重点是如何将输出层的误差反向传播给隐藏层。
[0265] 其中输出层、隐藏层节点的误差如图所示,输出层误差已知,接下来对隐藏层第一个节点c作误差分析。还是站在节点c上,不同的是这次是往前看(输出层的方向),可以看到指向c节点的两个蓝色粗箭头是从节点e和节点f开始的,因此对于节点c的误差肯定是和输出层的节点e和f有关。输出层的节点e有箭头分别指向了隐藏层的节点c和d,因此对于隐藏节点e的误差不能被隐藏节点c霸为己有,而是要服从按劳分配的原则(按权重分配),同理节点f的误差也需服从这样的原则,因此对于隐藏层节点c的误差为:
[0266]
[0267] 其中, 和 为输出层反向传播系数,同理,对于隐藏层节点d的误差为:
[0268]
[0269] 其中, 和 为隐藏层反向传播系数,为了减少工作量,可写成矩阵相乘的形式:
[0270]
[0271] 该矩阵比较繁琐,可简化到前向传播的形式,不破坏它们的比例,因此我们可以忽略掉分母部分,所以重新成矩阵形式为:
[0272]
[0273] 该权重矩阵,其实是前向传播时权重矩阵w的转置,因此简写形式如下:
[0274]
[0275] 输出层误差在转置权重矩阵的帮助下,传递到了隐藏层,这样我们就可以利用间接误差来更新与隐藏层相连的权重矩阵。可见,权重矩阵在反向传播的过程中同样扮演着运输兵的作用,只不过这次是搬运的输出误差,而不是输入信号。
[0276] 请参考图4,图4为一个卷积神经网络模型网络层示意图。接下来需要进行链式求导,上面介绍了输入信息的前向传播与输出误差的后向传播,接下来就根据求得的误差来更新参数。
[0277] 首先对隐藏层的w11进行参数更新,更新之前让我们从后往前推导,直到预见w11为止,计算方式如下:
[0278]
[0279]
[0280]
[0281] 因此误差对w11求偏导如下:
[0282]
[0283] 求导得如下公式(所有值已知):
[0284]
[0285] 同理,误差对于w12的偏导如下:
[0286]
[0287] 同样,求导得w12的求值公式:
[0288]
[0289] 同理,误差对于偏置求偏导如下:
[0290]
[0291] 同理,误差对于偏置求偏导如下:
[0292]
[0293] 接着对输入层的w11进行参数更新,更新之前我们依然从后往前推导,直到预见第一层的w11为止:
[0294]
[0295]
[0296] 因此误差对输入层的w11求偏导如下:
[0297]
[0298] 求导得如下公式:
[0299]
[0300] 同理,输入层的其他三个参数按照同样的方法即可求出各自的偏导,此处不做赘述。在每个参数偏导数明确的情况下,带入梯度下降公式即可:
[0301]
[0302] 至此,利用链式法则来对每层参数进行更新的任务已经完成。
[0303] 在更新了卷积神经网络模型的权重之后,保留一份卷积神经网络模型,以使得在后续训练过程中出现泛化、过拟合等问题时,还可以使用原先保存下来的卷积神经网络模型。
[0304] 当卷积神经网络模型更新完成后,可以选择原始样本重新输入卷积神经网络模型训练,也可以是从重新合成新的原始样本输入卷积神经网络模型训练。
[0305] 本实施例中,首先获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器,缺陷类型标签是目标生成图像的缺陷标签。将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像,即对正态分布数据进行采样,并且将采样后的数据结合缺陷类型标签输入生成器,使得生成器根据类型标签和正态分布采样数据生成模拟缺陷图像。选取一张真实缺陷图像,该真实缺陷图像和缺陷类型标签对应的是同一种缺陷类型,将真实缺陷图像和模拟缺陷图像输入真假判别器中,生成真实缺陷图像的第一真假判别值和模拟缺陷图像的第二真假判别值。将真实缺陷图像和模拟缺陷图像输入类别判别器中,生成真实缺陷图像的第一类别判别值和模拟缺陷图像的第二类别判别值。根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值。判断第一损失值、第二损失值和第三损失值是否满足预设条件。若满足条件,则确定卷积神经网络模型训练完成。若不满足条件,则根据第一损失值、第二损失值和第三损失值更新生成器的权值、根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。本实施例中,通过生成器根据类型标签和正态分布采样数据生成模拟缺陷图像,再将对应的真实缺陷图像和模拟缺陷图像分别进行真假判别和类型判别,得到的生成器损失值(第一损失值)、真假判别器损失值(第二损失值)和类别判别器损失值(第三损失值)反向更新生成器,真假判别器和类别判别器分别使用真假判别器损失值和类别判别器损失值更新。训练完成之后,生成器能够仅使用正态分布采样数据和缺陷类型标签生成图像,并且生成的图像质量能够同时达到真假判别器和类型判别器的判别标准,极大程度的提高缺陷图像的获取效率和图像质量。
[0306] 请参阅图5‑1、图5‑2、图5‑3、图5‑4、图5‑5、图5‑6、图5‑7和图5‑8,本申请提供了一种缺陷数据集的生成模型的训练方法的一个实施例,包括:
[0307] 501、获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器;
[0308] 本实施例中的步骤501与前述实施例中步骤101类似,此处不再赘述。
[0309] 502、通过编码器获取真实缺陷图像的缺陷标签特征;
[0310] 503、通过缺陷标签特征计算生成均值集合和方差集合,隐空间参数为真实缺陷图像的条件概率分布;
[0311] 504、通过重参数化技术对均值集合和方差集合进行采样,生成正态分布采样数据,正态分布采样数据遵循真实缺陷图像的条件概率分布;
[0312] 终端通过编码器提取原始图像的缺陷标签特征,并且终端将缺陷标签特征输入隐空间,通过隐空间为缺陷标签特征生成隐空间参数,隐空间参数为缺陷图像的条件概率分布,本实施例中隐空间参数为均值集合和方差集合。该隐空间参数是均值集合和方差集合,但是后续需要利用到均值集合和方差集合所计算出来的正态分布,但是该正态分布并不是平滑的,导致该正态分布不可导。
[0313] 由于均值集合和方差集合所计算出来的正态分布并不是平滑的,不可导,所以通过重参数化技术对隐空间参数进行采样,采样出符合正态分布的正态分布数据,该正态分布数据由于是在原隐空间参数的基础上采样生成,也具备对应缺陷的类型标签,故遵循缺陷图像的条件概率分布。
[0314] 本实施例中的正态分布采样数据来自于真实缺陷图像,能够使得正态分布采样数据更好的结合缺陷类型标签生成模拟缺陷图像,提高训练效率,减少训练时间。
[0315] 505、通过第一卷积模块将正态分布采样数据进行卷积操作,生成第一采样特征;
[0316] 506、通过第二卷积模块将缺陷类型标签进行卷积操作,生成第一标签特征;
[0317] 终端首先将正态分布采样数据和缺陷类型标签一起进行卷积操作,具体是通过第一卷积模块将正态分布采样数据进行卷积操作,生成第一采样特征,通过第二卷积模块将缺陷类型标签进行卷积操作,生成第一标签特征。
[0318] 507、通过区域像素注意力模块RPA对第一采样特征进行区域像素值权重生成处理,生成第一中间特征;
[0319] 508、通过区域像素注意力模块RPA将第一采样特征和第一中间特征按通道对应相乘,生成第二中间特征;
[0320] 本步骤的区域像素注意力模块RPA,包含一个BatchNorm‑DefConv‑ReLU、一个BatchNorm‑DefConv、一个SigMoid函数模块和一个双线性插值模块。BatchNorm‑DefConv‑ReLU、BatchNorm‑DefConv、SigMoid函数模块和双线性插值模块依次串联。这里的BatchNorm‑DefConv‑ReLU层和BatchNorm‑DefConv层都属于卷积神经网络中常用的特征处理层,SigMoid函数为已知函数,双线性插值运算方法也是已知算法。
[0321] 区域像素注意力模块RPA作为第一重注意力机制,由于给第一采样特征的每块区域像素分配一个权重,使得神经网络对于第一采样特征明显的区域更加关注。
[0322] 具体的,假设输入的原始图像的张数为B,通道数量为C,分辨率为W*H,则第一采样特征记为(B,C,H,W),(B,C,H,W)需要先经过区域像素注意力模块RPA的BatchNorm‑DefConv‑ReLU层进行通道压缩为(B,C*r,H/2,W/2),其中r<1。再经过一个BatchNorm‑DefConv层还原成(B,C,H/4,W/4),再通过SigMoid函数模块生成每个像素值的权重,最后使用双线性插值还原成新的(B,C,H,W),和原始图像的(B,C,H,W)一对一相乘。
[0323] 509、通过第三卷积模块将第二中间特征进行卷积处理和通道叠加处理;
[0324] 终端通过第三卷积模块将第二中间特征进行卷积处理和通道叠加处理,具体是将第二中间特征输入第三卷积模块后生成卷积数据,将这个数据和第二中间特征进行通道叠加。
[0325] 510、通过第一通道注意力模块Attention为第二中间特征生成通道向量;
[0326] 511、通过第一通道注意力模块Attention结合通道向量输出一个维度与第二中间特征通道数相同的归一化一维向量;
[0327] 512、通过第一通道注意力模块Attention根据归一化一维向量将第二中间特征按通道对应相乘,生成第三中间特征;
[0328] 通道注意力模块Attention的注意力机制主要是通过对不同特征通道分配归一化的权重,增强某些通道而抑制其他的通道,达到选择特征信息(缺陷特征)的效果。
[0329] 通道注意力模块Attention包括一个全局平均池化层、一个1*1Conv‑ReLU和一个Conv‑Sigmoid,下面详细描述通道注意力模块的运行原理。
[0330] 具体的,第二中间特征先经过第一通道注意力模块Attention的全局平均池化层(Global Pooling) 生成通道向量,再经过1×1卷积核、ReLU激活函数进行通道压缩,再经过1×1卷积核以及Sigmoid激活函数,输出一个维度等于输入特征通道数的归一化一维向量,这就是各个特征通道的注意力权重,将其输入特征各个通道相乘,生成第三中间特征。
[0331] 513、通过第四卷积模块将第三中间特征进行卷积处理和通道叠加处理;
[0332] 终端通过第四卷积模块将第三中间特征进行卷积处理和通道叠加处理,其详细步骤与步骤509相似,此处不做赘述。
[0333] 514、通过第二通道注意力模块Attention为第三中间特征生成通道向量;
[0334] 515、通过第二通道注意力模块Attention结合通道向量输出一个维度与第三中间特征通道数相同的归一化一维向量;
[0335] 516、通过第二通道注意力模块Attention根据归一化一维向量将第三中间特征按通道对应相乘,生成第四中间特征;
[0336] 步骤514至步骤516与步骤510至步骤512类似,此处不做赘述。需要说明的是在第二通道注意力模块Attention之后,还可以增加卷积模块+通道注意力模块Attention,以使得输出的特征效果更好。
[0337] 517、将第四中间特征、第一标签特征和第一采样特征进行通道叠加,生成第五中间特征;
[0338] 终端将第四中间特征、第一标签特征和第一采样特征进行通道叠加,生成第五中间特征,使得特征在进行注意力分配之后,能够融合到标签特征。
[0339] 518、通过第一反卷积模块将第五中间特征进行特征长宽重构,生成第六中间特征;
[0340] 反卷积模块也叫Conv_t层,终端使用第一反卷积模块将第五中间特征和第一标签特征重构,增加特征长宽。
[0341] 519、通过第一注意力Dropout模块ADO给第六中间特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七中间特征;
[0342] 本实施例中,注意力Dropout模块ADO包括BatchNorm‑2*2DefConv‑ReLU和BatchNorm‑2*2DefConv‑SigMiod。
[0343] 基于注意力的Dropout方法,不同于一般Dropout使用的随机方式,本发明中利用注意力保留更重要的特征信息,使得卷积神经网络模型的性能和泛化性更好。
[0344] 将输入的第六中间特征放到BatchNorm‑2*2DefConv‑ReLU中处理,再将其输出输入BatchNorm‑2*2DefConv‑SigMiod中,生成和原特征形同尺寸的注意力矩阵,根据注意力矩阵的值,将注意力小于第一预设阈值的原特征矩阵对应位置神经元置零,输出第七中间特征。
[0345] 520、通过第二反卷积模块将第七中间特征进行特征长宽重构,生成第一生成参数;
[0346] 终端通过第二反卷积模块将第七中间特征进行特征长宽重构,生成第一生成参数,其不走与步骤518类似,此处不做赘述。
[0347] 521、将第一生成参数和第一采样特征进行通道叠加,生成第八中间参数;
[0348] 当终端将第一生成参数输入第二生成模块Generator时,终端将第一生成参数和第一采样特征进行通道叠加,生成第八中间参数。
[0349] 522、通过区域像素注意力模块RPA对第八中间参数进行区域像素值权重生成处理,生成第九中间特征;
[0350] 523、通过区域像素注意力模块RPA将第八中间参数和第九中间特征按通道对应相乘,生成第十中间特征;
[0351] 524、通过第五卷积模块将第十中间特征进行卷积处理和通道叠加处理;
[0352] 525、通过第三通道注意力模块Attention为第十中间特征生成通道向量;
[0353] 526、通过第三通道注意力模块Attention结合通道向量输出一个维度与第十中间特征通道数相同的归一化一维向量;
[0354] 527、通过第三通道注意力模块Attention根据归一化一维向量将第十中间特征按通道对应相乘,生成第十一中间特征;
[0355] 528、通过第六卷积模块将第十一中间特征进行卷积处理和通道叠加处理;
[0356] 529、通过第四通道注意力模块Attention为第十一中间特征生成通道向量;
[0357] 530、通过第四通道注意力模块Attention结合通道向量输出一个维度与第十一中间特征通道数相同的归一化一维向量;
[0358] 531、通过第四通道注意力模块Attention根据归一化一维向量将第十一中间特征按通道对应相乘,生成第十二中间特征;
[0359] 532、将第十二中间特征、第一标签特征和第八中间参数进行通道叠加,生成第十三中间特征;
[0360] 533、通过第三反卷积模块将第十三中间特征进行特征长宽重构,生成第十四中间特征;
[0361] 534、通过第二注意力Dropout模块ADO给第十四中间特征对应的每个神经元分配注意力,并将注意力小于第二预设阈值的神经元进行置零,生成第十五中间特征;
[0362] 535、通过第四反卷积模块将第十五中间特征进行特征长宽重构,生成第二生成参数;
[0363] 步骤522至步骤535与前述步骤507至步骤520相似,此处不做赘述。需要说明的是。
[0364] 536、将第N‑1生成参数、第一采样特征和第一标签特征输入第N生成模块Generator,生成第N生成参数;
[0365] 步骤536与步骤522至步骤535或步骤507至步骤520相似,此处不做赘述。
[0366] 537、将第N生成参数通过输出模块Conv_out进行还原输出,生成模拟缺陷图像;
[0367] 终端通过卷积神经输出模块(Conv_out)将第N生成参数进行图像还原,生成模拟缺陷图像,具体是使用一个3×3卷积将第N生成参数还原成原图尺寸的3通道图像。
[0368] 538、通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第一判别特征;
[0369] 539、通过区域像素注意力模块RPA将真实缺陷图像和第一判别特征按通道对应相乘,生成第二判别特征;
[0370] 步骤538至步骤539与前述步骤507至508相似,此处不做赘述。
[0371] 540、将第二判别特征和第一标签特征进行通道叠加,生成第三判别特征;
[0372] 541、通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第三判别特征的不同大小区域分配注意力,并通过分配注意力对第三判别特征不同特征通道进行筛选,生成第四判别特征;
[0373] 终端将第二判别特征和第一标签特征进行通道叠加,生成第三判别特征,并且通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第三判别特征的不同大小区域分配注意力,并通过分配注意力对第三判别特征不同特征通道进行筛选,生成第四判别特征。
[0374] 具体的,区域通道注意力模块SKConv用于处理特征的卷积核感受野注意力和特征通道注意力,步骤是通过不同感受野的卷积核对特征的不同大小区域分配注意力,通过通道注意力对不同通道进行筛选,进一步提高卷积神经网络对输入特征(第三判别特征)的编码效果,并且加入了Resnet结构,增强前后层特征的流通,防止梯度消失和梯度爆炸。
[0375] 区域通道注意力模块SKConv包括至少两个不同大小感受野的可变形卷积核、第一特征叠加模块、特征全局平均池化模块、通道还原模块、至少两个Sofamax模块、第二特征叠加模块。
[0376] 例如:对第三判别特征使用3种不同大小感受野的可变形卷积核分别进行特征提取,将得到的3个特征(感受野特征集合)。再通过第一特征叠加模块按通道叠加的方式处理感受野特征集合形成一个特征(B,3*C,H,W)。接下来通过特征全局平均池化模块把这个特征(B,3*C,H,W)进行压缩和全局平均池化形成特征(B,3C’,1,1),再通过通道还原模块把特征(B,3C’,1,1)再恢复成中间特征(B,3C,1,1),然后经过Sofamax模块为中间特征的通道整体分配注意力,共分成三份,这三份通道注意力分别与之前的3个可变形卷积核对应,通道注意力和之前的3个可变形卷积核输出的感受野特征集合按通道对应相乘,再通过第二特征叠加模块按通道对应元素相加,再和第二特征按通道叠加。
[0377] 可变形卷积是指卷积核在每一个元素上额外增加了一个参数方向参数,这样卷积核就能在训练过程中扩展到很大的范围。传统卷积对于未知的变化适应性差,泛化能力不强。可变形卷积改变了传统卷积固定的矩形卷积框,能更好的适应一些形状不是很规整的特征,比如显示屏外观缺陷,使得卷积的位置能集中在缺陷所在像素处。
[0378] 542、通过第三注意力Dropout模块ADO给第四判别特征对应的每个神经元分配注意力,并将注意力小于第三预设阈值的神经元进行置零,生成第五判别特征;
[0379] 本实施例中,步骤542与前述步骤519类似,此处不做赘述。
[0380] 543、通过通道混洗模块CSA对第五判别特征进行通道混洗;
[0381] 终端通过通道混洗模块CSA对第五判别特征进行通道混洗,具体的终端通过对第五判别特征进行按通道混洗并叠加原来的第五判别特征,增强通道间特征交融并保留原特征信息。
[0382] 544、通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第五判别特征的不同大小区域分配注意力,并通过分配注意力对第五判别特征不同特征通道进行筛选,生成第六判别特征;
[0383] 545、通过第四注意力Dropout模块ADO给第六判别特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七判别特征;
[0384] 本实施例中,步骤544至步骤545与前述步骤541和542相似,此处不做赘述。
[0385] 546、通过注意力通道池化模块ACD给第七判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第八判别特征;
[0386] 注意力通道池化模块ACD包括一个全局平均池化层、1*1Conv+ReLU和一个1*1Conv+SigMoid。
[0387] 第七判别特征经过全局平均池化,1*1Conv+ReLU,1*1Conv+SigMoid生成各个通道的注意力,再将特征通道按注意力排序,把注意力排名靠后的通道舍弃,以此生成第八判别特征。
[0388] 547、通过特征压缩模块FS对第八判别特征进行特征信息的提取,生成真假判别数据;
[0389] 特征压缩模块也叫Feature Squeeze模块,使用卷积对上一层输出的第八判别特征提取特征信息,并压缩长宽即可生成真假判别数据。
[0390] 548、将真假判别数据输入真假判别器中下一个真假判别模块,直到SigMoid函数模块将最后一个真假判别模块输出的真假判别数据进行分析得到第一真假判别值;
[0391] 真假判别器包括至少两个真假判别模块,一个真假判别模块的输出输入下一个真假判别模块中,直到最后一个真假判别模块处理完特征。
[0392] 本实施例中,终端将真假判别数据输入真假判别器中下一个真假判别模块,直到SigMoid函数模块将最后一个真假判别模块输出的真假判别数据进行分析得到第一真假判别值。
[0393] 549、将模拟缺陷图像输入真假判别器中,通过真假判别模块和SigMoid函数模块输出第二真假判别值;
[0394] 终端将模拟缺陷图像输入真假判别器中,通过真假判别模块和SigMoid函数模块输出第二真假判别值。
[0395] 550、通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第九判别特征;
[0396] 551、通过区域像素注意力模块RPA将真实缺陷图像和第九判别特征按通道对应相乘,生成第十判别特征;
[0397] 步骤550至步骤551与步骤507和步骤508类似,此处不做赘述。
[0398] 552、将第十判别特征和第一标签特征进行通道叠加,生成第十一判别特征;
[0399] 终端将第十判别特征和第一标签特征进行通道叠加,进行特征融合,生成第十一判别特征。
[0400] 553、通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十一判别特征的不同大小区域分配注意力,并通过分配注意力对第十一判别特征不同特征通道进行筛选,生成第十二判别特征;
[0401] 步骤553与步骤541类似,此处不做赘述。
[0402] 554、通过通道混洗模块CSA对第十二判别特征进行通道混洗;
[0403] 步骤554与步骤543类似,此处不做赘述。
[0404] 555、通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十二判别特征的不同大小区域分配注意力,并通过分配注意力对第十二判别特征不同特征通道进行筛选,生成第十三判别特征;
[0405] 步骤555与步骤541类似,此处不做赘述。
[0406] 556、通过注意力通道池化模块ACD给第十三判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第十四判别特征;
[0407] 步骤556与步骤546类似,此处不做赘述。
[0408] 557、通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十四判别特征的不同大小区域分配注意力,并通过分配注意力对第十四判别特征不同特征通道进行筛选,生成第十五判别特征;
[0409] 步骤557与步骤541类似,此处不做赘述。
[0410] 558、通过特征压缩模块FS对第十五判别特征进行特征信息的提取,生成类别判别数据;
[0411] 步骤558与步骤547类似,此处不做赘述。
[0412] 559、将类别判别数据输入类别判别器中下一个类别判别模块,直到softmax函数模块将最后一个类别判别模块输出的类别判别数据进行分析得到第一类别判别值;
[0413] 终端将类别判别数据输入类别判别器中下一个类别判别模块,直到softmax函数模块将最后一个类别判别模块输出的类别判别数据进行分析得到第一类别判别值,即通过softmax函数模块将真实缺陷图像属于缺陷类型A的概率计算出来。
[0414] 560、将模拟缺陷图像输入类别判别器中,通过类别判别模块和softmax函数模块输出第二类别判别值;
[0415] 终端将模拟缺陷图像输入类别判别器中,通过类别判别模块和softmax函数模块输出第二类别判别值。方式与真实缺陷图像类似,此处不做赘述。
[0416] 561、根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值;
[0417] 562、判断第一损失值、第二损失值和第三损失值是否满足预设条件;
[0418] 563、若满足条件,则确定卷积神经网络模型训练完成;
[0419] 564、若不满足条件,则根据第一损失值、第二损失值和第三损失值更新生成器的权值,根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。
[0420] 本实施例中,步骤561至步骤564与步骤105至步骤108类似,此处不做赘述。
[0421] 本实施例中,首先获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器,缺陷类型标签是目标生成图像的缺陷标签。终端通过编码器获取真实缺陷图像的缺陷标签特征,并且通过缺陷标签特征计算生成均值集合和方差集合,隐空间参数为真实缺陷图像的条件概率分布,再通过重参数化技术对均值集合和方差集合进行采样,生成正态分布采样数据,正态分布采样数据遵循真实缺陷图像的条件概率分布。
[0422] 通过第一卷积模块将正态分布采样数据进行卷积操作,生成第一采样特征;通过第二卷积模块将缺陷类型标签进行卷积操作,生成第一标签特征;通过区域像素注意力模块RPA对第一采样特征进行区域像素值权重生成处理,生成第一中间特征;通过区域像素注意力模块RPA将第一采样特征和第一中间特征按通道对应相乘,生成第二中间特征;通过第三卷积模块将第二中间特征进行卷积处理和通道叠加处理;通过第一通道注意力模块Attention为第二中间特征生成通道向量;通过第一通道注意力模块Attention结合通道向量输出一个维度与第二中间特征通道数相同的归一化一维向量;通过第一通道注意力模块Attention根据归一化一维向量将第二中间特征按通道对应相乘,生成第三中间特征;通过第四卷积模块将第三中间特征进行卷积处理和通道叠加处理;通过第二通道注意力模块Attention为第三中间特征生成通道向量;通过第二通道注意力模块Attention结合通道向量输出一个维度与第三中间特征通道数相同的归一化一维向量;通过第二通道注意力模块Attention根据归一化一维向量将第三中间特征按通道对应相乘,生成第四中间特征;将第四中间特征、第一标签特征和第一采样特征进行通道叠加,生成第五中间特征;通过第一反卷积模块将第五中间特征进行特征长宽重构,生成第六中间特征;通过第一注意力Dropout模块ADO给第六中间特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七中间特征;通过第二反卷积模块将第七中间特征进行特征长宽重构,生成第一生成参数;将第一生成参数和第一采样特征进行通道叠加,生成第八中间参数;通过区域像素注意力模块RPA对第八中间参数进行区域像素值权重生成处理,生成第九中间特征;通过区域像素注意力模块RPA将第八中间参数和第九中间特征按通道对应相乘,生成第十中间特征;通过第五卷积模块将第十中间特征进行卷积处理和通道叠加处理;通过第三通道注意力模块Attention为第十中间特征生成通道向量;通过第三通道注意力模块Attention结合通道向量输出一个维度与第十中间特征通道数相同的归一化一维向量;通过第三通道注意力模块Attention根据归一化一维向量将第十中间特征按通道对应相乘,生成第十一中间特征;通过第六卷积模块将第十一中间特征进行卷积处理和通道叠加处理;通过第四通道注意力模块Attention为第十一中间特征生成通道向量;通过第四通道注意力模块Attention结合通道向量输出一个维度与第十一中间特征通道数相同的归一化一维向量;通过第四通道注意力模块Attention根据归一化一维向量将第十一中间特征按通道对应相乘,生成第十二中间特征;将第十二中间特征、第一标签特征和第八中间参数进行通道叠加,生成第十三中间特征;通过第三反卷积模块将第十三中间特征进行特征长宽重构,生成第十四中间特征;通过第二注意力Dropout模块ADO给第十四中间特征对应的每个神经元分配注意力,并将注意力小于第二预设阈值的神经元进行置零,生成第十五中间特征;通过第四反卷积模块将第十五中间特征进行特征长宽重构,生成第二生成参数;将第N‑1生成参数、第一采样特征和第一标签特征输入第N生成模块Generator,生成第N生成参数;将第N生成参数通过输出模块Conv_out进行还原输出,生成模拟缺陷图像。
[0423] 通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第一判别特征;通过区域像素注意力模块RPA将真实缺陷图像和第一判别特征按通道对应相乘,生成第二判别特征;将第二判别特征和第一标签特征进行通道叠加,生成第三判别特征;
[0424] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第三判别特征的不同大小区域分配注意力,并通过分配注意力对第三判别特征不同特征通道进行筛选,生成第四判别特征;通过第三注意力Dropout模块ADO给第四判别特征对应的每个神经元分配注意力,并将注意力小于第三预设阈值的神经元进行置零,生成第五判别特征;通过通道混洗模块CSA对第五判别特征进行通道混洗;通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第五判别特征的不同大小区域分配注意力,并通过分配注意力对第五判别特征不同特征通道进行筛选,生成第六判别特征;通过第四注意力Dropout模块ADO给第六判别特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七判别特征;通过注意力通道池化模块ACD给第七判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第八判别特征;通过特征压缩模块FS对第八判别特征进行特征信息的提取,生成真假判别数据;将真假判别数据输入真假判别器中下一个真假判别模块,直到SigMoid函数模块将最后一个真假判别模块输出的真假判别数据进行分析得到第一真假判别值;将模拟缺陷图像输入真假判别器中,通过真假判别模块和SigMoid函数模块输出第二真假判别值。
[0425] 通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第九判别特征;通过区域像素注意力模块RPA将真实缺陷图像和第九判别特征按通道对应相乘,生成第十判别特征;将第十判别特征和第一标签特征进行通道叠加,生成第十一判别特征;通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十一判别特征的不同大小区域分配注意力,并通过分配注意力对第十一判别特征不同特征通道进行筛选,生成第十二判别特征;通过通道混洗模块CSA对第十二判别特征进行通道混洗;通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十二判别特征的不同大小区域分配注意力,并通过分配注意力对第十二判别特征不同特征通道进行筛选,生成第十三判别特征;通过注意力通道池化模块ACD给第十三判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第十四判别特征;通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十四判别特征的不同大小区域分配注意力,并通过分配注意力对第十四判别特征不同特征通道进行筛选,生成第十五判别特征;通过特征压缩模块FS对第十五判别特征进行特征信息的提取,生成类别判别数据;将类别判别数据输入类别判别器中下一个类别判别模块,直到softmax函数模块将最后一个类别判别模块输出的类别判别数据进行分析得到第一类别判别值;将模拟缺陷图像输入类别判别器中,通过类别判别模块和softmax函数模块输出第二类别判别值。
[0426] 根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值。判断第一损失值、第二损失值和第三损失值是否满足预设条件。若满足条件,则确定卷积神经网络模型训练完成。若不满足条件,则根据第一损失值、第二损失值和第三损失值更新生成器的权值、根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。本实施例中,通过生成器根据类型标签和正态分布采样数据生成模拟缺陷图像,再将对应的真实缺陷图像和模拟缺陷图像分别进行真假判别和类型判别,得到的生成器损失值(第一损失值)、真假判别器损失值(第二损失值)和类别判别器损失值(第三损失值)反向更新生成器,真假判别器和类别判别器分别使用真假判别器损失值和类别判别器损失值更新。训练完成之后,生成器能够仅使用正态分布采样数据和缺陷类型标签生成图像,并且生成的图像质量能够同时达到真假判别器和类型判别器的判别标准,极大程度的提高缺陷图像的获取效率和图像质量。
[0427] 其次,由于正态分布采样数据来自于真实缺陷图像,能够使得正态分布采样数据更好的结合缺陷类型标签生成模拟缺陷图像,提高训练效率,减少训练时间。
[0428] 请参阅图6,本申请提供了一种缺陷数据集的生成模型的训练装置的一个实施例,包括:
[0429] 第一获取单元601,用于获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器;
[0430] 第一生成单元602,用于将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像;
[0431] 第二生成单元603,用于将真实缺陷图像和模拟缺陷图像输入真假判别器中,生成真实缺陷图像的第一真假判别值和模拟缺陷图像的第二真假判别值;
[0432] 第三生成单元604,用于将真实缺陷图像和模拟缺陷图像输入类别判别器中,生成真实缺陷图像的第一类别判别值和模拟缺陷图像的第二类别判别值;
[0433] 计算单元605,用于根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值;
[0434] 判断单元606,用于判断第一损失值、第二损失值和第三损失值是否满足预设条件;
[0435] 确定单元607,用于当判断单元确定第一损失值、第二损失值和第三损失值满足条件时,则确定卷积神经网络模型训练完成;
[0436] 更新单元608,用于当判断单元确定第一损失值、第二损失值和第三损失值不满足条件时,则根据第一损失值、第二损失值和第三损失值更新生成器的权值,根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。
[0437] 请参阅图7,本申请提供了一种缺陷数据集的生成模型的训练装置的一个实施例,包括:
[0438] 第一获取单元701,用于获取卷积神经网络模型和缺陷类型标签,卷积神经网络模型中包括生成器、真假判别器和类别判别器;
[0439] 第二获取单元702,用于通过编码器获取真实缺陷图像的缺陷标签特征;
[0440] 第四生成单元703,用于通过缺陷标签特征计算生成均值集合和方差集合,隐空间参数为真实缺陷图像的条件概率分布;
[0441] 第五生成单元704,用于通过重参数化技术对均值集合和方差集合进行采样,生成正态分布采样数据,正态分布采样数据遵循真实缺陷图像的条件概率分布;
[0442] 第一生成单元705,用于将一组正态分布采样数据和缺陷类型标签输入生成器,生成模拟缺陷图像;
[0443] 可选的,生成器包括N个生成模块Generator和输出模块Conv_out,N为大于等于2的整数;
[0444] 第一生成单元705,包括:
[0445] 第一生成模块7051,用于通过第一卷积模块将正态分布采样数据进行卷积操作,生成第一采样特征;
[0446] 第二生成模块7052,用于通过第二卷积模块将缺陷类型标签进行卷积操作,生成第一标签特征;
[0447] 第三生成模块7053,用于将第一采样特征和第一标签特征输入第一生成模块Generator,生成第一生成参数。
[0448] 可选的,生成模块Generator包括区域像素注意力模块RPA、注意力Dropout模块ADO、至少两个通道注意力模块Attention、反卷积模块和卷积模块;
[0449] 第三生成模块7053,具体为:
[0450] 通过区域像素注意力模块RPA对第一采样特征进行区域像素值权重生成处理,生成第一中间特征;
[0451] 通过区域像素注意力模块RPA将第一采样特征和第一中间特征按通道对应相乘,生成第二中间特征;
[0452] 通过第三卷积模块将第二中间特征进行卷积处理和通道叠加处理;
[0453] 通过第一通道注意力模块Attention为第二中间特征生成通道向量;
[0454] 通过第一通道注意力模块Attention结合通道向量输出一个维度与第二中间特征通道数相同的归一化一维向量;
[0455] 通过第一通道注意力模块Attention根据归一化一维向量将第二中间特征按通道对应相乘,生成第三中间特征;
[0456] 通过第四卷积模块将第三中间特征进行卷积处理和通道叠加处理;
[0457] 通过第二通道注意力模块Attention为第三中间特征生成通道向量;
[0458] 通过第二通道注意力模块Attention结合通道向量输出一个维度与第三中间特征通道数相同的归一化一维向量;
[0459] 通过第二通道注意力模块Attention根据归一化一维向量将第三中间特征按通道对应相乘,生成第四中间特征;
[0460] 将第四中间特征、第一标签特征和第一采样特征进行通道叠加,生成第五中间特征;
[0461] 通过第一反卷积模块将第五中间特征进行特征长宽重构,生成第六中间特征;
[0462] 通过第一注意力Dropout模块ADO给第六中间特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七中间特征;
[0463] 通过第二反卷积模块将第七中间特征进行特征长宽重构,生成第一生成参数。
[0464] 第四生成模块7054,用于将第一生成参数、第一采样特征和第一标签特征输入第二生成模块Generator,生成第二生成参数;
[0465] 可选的,第四生成模块7054,具体为:
[0466] 将第一生成参数和第一采样特征进行通道叠加,生成第八中间参数;
[0467] 通过区域像素注意力模块RPA对第八中间参数进行区域像素值权重生成处理,生成第九中间特征;
[0468] 通过区域像素注意力模块RPA将第八中间参数和第九中间特征按通道对应相乘,生成第十中间特征;
[0469] 通过第五卷积模块将第十中间特征进行卷积处理和通道叠加处理;
[0470] 通过第三通道注意力模块Attention为第十中间特征生成通道向量;
[0471] 通过第三通道注意力模块Attention结合通道向量输出一个维度与第十中间特征通道数相同的归一化一维向量;
[0472] 通过第三通道注意力模块Attention根据归一化一维向量将第十中间特征按通道对应相乘,生成第十一中间特征;
[0473] 通过第六卷积模块将第十一中间特征进行卷积处理和通道叠加处理;
[0474] 通过第四通道注意力模块Attention为第十一中间特征生成通道向量;
[0475] 通过第四通道注意力模块Attention结合通道向量输出一个维度与第十一中间特征通道数相同的归一化一维向量;
[0476] 通过第四通道注意力模块Attention根据归一化一维向量将第十一中间特征按通道对应相乘,生成第十二中间特征;
[0477] 将第十二中间特征、第一标签特征和第八中间参数进行通道叠加,生成第十三中间特征;
[0478] 通过第三反卷积模块将第十三中间特征进行特征长宽重构,生成第十四中间特征;
[0479] 通过第二注意力Dropout模块ADO给第十四中间特征对应的每个神经元分配注意力,并将注意力小于第二预设阈值的神经元进行置零,生成第十五中间特征;
[0480] 通过第四反卷积模块将第十五中间特征进行特征长宽重构,生成第二生成参数。
[0481] 第五生成模块7055,用于将第N‑1生成参数、第一采样特征和第一标签特征输入第N生成模块Generator,生成第N生成参数;
[0482] 第六生成模块7056,用于将第N生成参数通过输出模块Conv_out进行还原输出,生成模拟缺陷图像。
[0483] 第二生成单元706,用于将真实缺陷图像和模拟缺陷图像输入真假判别器中,生成真实缺陷图像的第一真假判别值和模拟缺陷图像的第二真假判别值;
[0484] 可选的,真假判别器由至少一个真假判别模块和SigMoid函数模块组成,一个真假判别模块包括区域像素注意力模块RPA、区域通道注意力模块SKConv、注意力Dropout模块ADO、通道混洗模块CSA、注意力通道池化模块ACD和特征压缩模块FS;
[0485] 第二生成单元706,具体为:
[0486] 通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第一判别特征;
[0487] 通过区域像素注意力模块RPA将真实缺陷图像和第一判别特征按通道对应相乘,生成第二判别特征;
[0488] 将第二判别特征和第一标签特征进行通道叠加,生成第三判别特征;
[0489] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第三判别特征的不同大小区域分配注意力,并通过分配注意力对第三判别特征不同特征通道进行筛选,生成第四判别特征;
[0490] 通过第三注意力Dropout模块ADO给第四判别特征对应的每个神经元分配注意力,并将注意力小于第三预设阈值的神经元进行置零,生成第五判别特征;
[0491] 通过通道混洗模块CSA对第五判别特征进行通道混洗;
[0492] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第五判别特征的不同大小区域分配注意力,并通过分配注意力对第五判别特征不同特征通道进行筛选,生成第六判别特征;
[0493] 通过第四注意力Dropout模块ADO给第六判别特征对应的每个神经元分配注意力,并将注意力小于第一预设阈值的神经元进行置零,生成第七判别特征;
[0494] 通过注意力通道池化模块ACD给第七判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第八判别特征;
[0495] 通过特征压缩模块FS对第八判别特征进行特征信息的提取,生成真假判别数据;
[0496] 将真假判别数据输入真假判别器中下一个真假判别模块,直到SigMoid函数模块将最后一个真假判别模块输出的真假判别数据进行分析得到第一真假判别值;
[0497] 将模拟缺陷图像输入真假判别器中,通过真假判别模块和SigMoid函数模块输出第二真假判别值。
[0498] 第三生成单元707,用于将真实缺陷图像和模拟缺陷图像输入类别判别器中,生成真实缺陷图像的第一类别判别值和模拟缺陷图像的第二类别判别值;
[0499] 可选的,类别判别器包括至少一个类别判别模块和softmax函数模块,类别判别模块包括区域像素注意力模块RPA、区域通道注意力模块SKConv、通道混洗模块CSA、注意力通道池化模块ACD和特征压缩模块FS;
[0500] 第三生成单元707,包括:
[0501] 通过区域像素注意力模块RPA对真实缺陷图像进行区域像素值权重生成处理,生成第九判别特征;
[0502] 通过区域像素注意力模块RPA将真实缺陷图像和第九判别特征按通道对应相乘,生成第十判别特征;
[0503] 将第十判别特征和第一标签特征进行通道叠加,生成第十一判别特征;
[0504] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十一判别特征的不同大小区域分配注意力,并通过分配注意力对第十一判别特征不同特征通道进行筛选,生成第十二判别特征;
[0505] 通过通道混洗模块CSA对第十二判别特征进行通道混洗;
[0506] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十二判别特征的不同大小区域分配注意力,并通过分配注意力对第十二判别特征不同特征通道进行筛选,生成第十三判别特征;
[0507] 通过注意力通道池化模块ACD给第十三判别特征的每个通道分配注意力,舍弃注意力排序较后的通道,生成第十四判别特征;
[0508] 通过区域通道注意力模块SKConv中不同大小感受野的卷积核对第十四判别特征的不同大小区域分配注意力,并通过分配注意力对第十四判别特征不同特征通道进行筛选,生成第十五判别特征;
[0509] 通过特征压缩模块FS对第十五判别特征进行特征信息的提取,生成类别判别数据;
[0510] 将类别判别数据输入类别判别器中下一个类别判别模块,直到softmax函数模块将最后一个类别判别模块输出的类别判别数据进行分析得到第一类别判别值;
[0511] 将模拟缺陷图像输入类别判别器中,通过类别判别模块和softmax函数模块输出第二类别判别值。
[0512] 计算单元708,用于根据第一真假判别值、第二真假判别值、第一类别判别值和第二类别判别值计算生成器的第一损失值、真假判别器的第二损失值和类别判别器的第三损失值;
[0513] 判断单元709,用于判断第一损失值、第二损失值和第三损失值是否满足预设条件;
[0514] 确定单元710,用于当判断单元确定第一损失值、第二损失值和第三损失值满足条件时,则确定卷积神经网络模型训练完成;
[0515] 更新单元711,用于当判断单元确定第一损失值、第二损失值和第三损失值不满足条件时,则根据第一损失值、第二损失值和第三损失值更新生成器的权值,根据第二损失值和第三损失值分别更新真假判别器和类别判别器权值。
[0516] 请参阅图8,本申请提供了一种电子设备,包括:
[0517] 处理器801、存储器803、输入输出单元802以及总线804。
[0518] 处理器801与存储器803、输入输出单元802以及总线804相连。
[0519] 存储器803保存有程序,处理器801调用程序以执行如图1、图5‑1、图5‑2、图5‑3、图5‑4、图5‑5、图5‑6、图5‑7和图5‑8中的训练方法。
[0520] 本申请提供了一种计算机可读存储介质,计算机可读存储介质上保存有程序,程序在计算机上执行时执行如图1、图5‑1、图5‑2、图5‑3、图5‑4、图5‑5、图5‑6、图5‑7和图5‑8中的训练方法。
[0521] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0522] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0523] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0524] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0525] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read‑only memory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。