首页 > 其他分享 >基于条件生成对抗的PCB板缺陷数据集生成方案

基于条件生成对抗的PCB板缺陷数据集生成方案

时间:2024-06-16 18:58:26浏览次数:7  
标签:判别 生成器 生成 模块 图像 PCB 缺陷

《十年一剑》

苍茫蜀山觅仙踪 人间韶光几度 莫负好花好景 前世约 今生盟 翻覆六界 啸聚五灵

舍却三生石刻 补情天 再塑苍穹

公司项目,已申请专利

深度学习作为新兴技术在PCB板外观缺陷检测领域蓬勃发展,因其自主学习样本外观缺陷特征避免了人工设计算法的繁琐,其精准的检测性能、高效的检测效率以及对各种不同类型的PCB板外观缺陷都有比较好的泛化性能,使得深度学习技术在工业PCB板外观缺陷检测领域得到广泛应用。

由于深度学习自身的算法特性,需要大量的外观缺陷样本图像作为训练数据集供神经网络学习样本外观缺陷特征,而这些缺陷图像的获取则成了制约深度学习在PCB板外观缺陷检测领域发展应用的一大因素。每一张缺陷图片需要一块有缺陷的PCB板,而缺陷PCB板的数量本就不是很多,且这些缺陷PCB板样品都是各个厂家的保密资产,难以得到。

生成模式作为深度学习技术的一大分支在图像领域有了较大发展,生成模式通过学习图像的数据统计分布特征,使用神经网络训练拟合这种统计分布特征,然后通过在得到的分布特征中随机采样,重构生成与原图同分布不同采样的新数据,即生成和原图“同类但不一样”的新缺陷图像。可以大量生成各种不同的PCB板外观缺陷图像,扩充数据集。

基于条件生成对抗的深度学习方法在生成模式中独树一帜,其独特的生成器和判别器对抗方式,极大提升了生成图像的质量。该方法包括一个用于生成缺陷图像的生成器模块和一个用于判别输入图像是真实图像还是由生成器生成的假图像的判别器模块,生成器尽可能生成以假乱真的缺陷图像试图骗过判别器,而判别器则尽可能区分真假图像,两个模块在对抗中各自提升,最终达到纳什平衡,即判别器无法区别生成器生成的假缺陷图像和真实缺陷图像。在生成器和判别器输入数据中加入缺陷类别标签信息,使得生成器能够生成特定类别的缺陷图片,而判别器可以对图像类别进行判定。

本专利为一种基于条件生成对抗的神经网络模型,使用生成器从标准正态分布数据分布中随机采样,加上缺陷类别标签信息,经过基于卷积和反卷积操作生成所需特定类型的PCB板的缺陷图像。将生成器生成的PCB板缺陷图像和真实的PCB板缺陷图像加上对应的缺陷类别标签信息输入到判别器,由判别器作区分,同时训练生成器和判别器,使得生成器学到PCB板缺陷图像的数据分布特征,而判别器能够较准确地分辨真假缺陷图像,是两者最终达到纳什平衡,即判别器对生成器生成的PCB板缺陷图片的分辨率只有50%。在生成器中增加PCB板缺陷类别信息,可以控制生成器生成特定的PCB板缺陷图像,使得缺陷图像类型可定制。

本方案属于计算机视觉、条件生成对抗网络、图像生成领域,涉及一种基于多层卷积特征提取、注意力分配、图像重构的图像处理方法。包括采集存在外观缺陷的图像,进行图像预处理;本发明设计了一种基于条件生成对抗的神经网络模型称为LGGAN,包括一个生成器和2个分别用于判断图像真假和类别的判别器。生成器G用于通过在标准正态分布中随机采样,加上缺陷图像类别信息,生成期望的PCB板缺陷图像;真假判别器Dt对真实缺陷图像和由生成器G生成的图像进行判别;类别判别器Dc对输入真假图像的类别进行判别。

生成器G包括平面区域注意力模块(RPA);注意力机制模块(Attention);基于注意力的DropOut模块(ADO);基于残差的卷积操作以及反卷积操作;

真假判别器Dt包括平面区域注意力模块(RPA);基于卷积核感受野注意力和通道注意力的注意力特征提取模块(SKConv);基于通道注意力的通道压缩模块(ACD);基于3×3卷积的特征压缩模块(FS);通道混洗加和模块(CSA); 基于注意力的DropOut模块(ADO);

类别判别器Dc包括平面区域注意力模块(RPA);基于卷积核感受野注意力和通道注意力的注意力特征提取模块(SKConv);基于通道注意力的通道压缩模块(ACD);通道混洗加和模块(CSA);基于3×3卷积的特征压缩模块(FS);

增加了L2正则化用于防止神经网络过拟合;增加了Resnet技术增加前后特征层的数据交互,最大限度保留浅层的特征,消除梯度消失现象;加入数据并行(DP)模式用于减少显存消耗和提升训练速度;

使用神经网络对训练数据集进行深度学习,将从标准正态分布里随机采样数据和PCB板缺陷类别标签参数一起输入已完成训练的生成器G进行推理,生产能出新的指定缺陷类型的图片,并与传统的缺陷检测软件判定的类别进行综合判等。

目录

1.基于条件生成对抗的PCB板外观缺陷图像数据集生成方案

2. 缺陷图片获取及预处理

3.LGGAN神经网络模型设计

4.损失函数

5.优化方式

6. LGGAN训练和生成过程

基于条件生成对抗的PCB板外观缺陷图像数据集生成方案

本专利缺陷数据集生成方案分为缺陷图像训练集获取、生成对抗神经网络网络模型设计编码、AI模型训练、AI模型测试部署五个步骤。

 

缺陷图片获取及预处理

本专利使用的是有监督的深度学习技术,AI模型处理的是图片数据,因此需要一些缺陷图片作为训练集。本专利通过高清拍照的方式获得凹陷、内断、板面残胶这三种常见PCB板外观缺陷图片,对三种缺陷进行手动设置标签,比如凹陷为1,内为2,崩面残胶为3。并通过抠图的方式将这三种缺陷的小图从整个PCB板图像上截取出来,避免大量无用像素的干扰以及节约内存减少训练时间,由于缺陷是基于PCB板上的,所以须保留一定的背景部分。对获得的缺陷图片进行图像增强处理,包括随机旋转、镜像、灰度变换等,扩充数据集数量。

LGGAN神经网络模型设计

本专利选择使用基于条件生成对抗的神经网络进行PCB板外观缺陷图像的生成,将随机采样数据Z和缺陷类别标签c一起输入生成器G,得到生成的特定类型缺陷图片G(Z|c)。生成器网络基于平面区域注意力模块(RPA);基于3×3卷积的模块(Conv);基于注意力的DropOut模块(ADO);基于通道注意力模块(Attention);反卷积模块(Conv_t);

增加了L2正则化用于防止神经网络过拟合;增加了Resnet技术增加前后特征层的数据交互,最大限度保留浅层的特征,消除梯度消失现象;

本专利自主设计一套AI神经网络体系结构名为LGGAN,如下图:

整个神经网络分为3个部分,一个生成器G,一个真假判别器Dt和一个类别判别器Dc。在标准正态分布中随机采样数据Z和缺陷类型标签c一起送入生成器G,生成该类型的缺陷图片G(Z|c);将生成器生成的伪缺陷图片G(Z|c)+对应的类型标签c以及真实缺陷图片X+真实缺陷类型标签c分别送入真假判别器Dt,得到该图片的真实概率P(G(Z|c))和P(X|c),计算真实损失值LDt;将生成器生成的伪缺陷图片G(Z|c)以及真实缺陷图片X分别送入类型判别器Dc,得到类型损失值LDc。

类别标签是独立一个张量,值为类别标签值比如凹陷就是全为1的张量,长宽尺寸和输入模块对应的输入特征一致,将其作为输入特征的一个独立通道。

生成器G

生成器G如图所示,包括标准正态分布数据空间、缺陷类型Lable输入、6个生成模块Generator、一个输出图片Conv_out模块。每个Generator模块接收标准正态分布采样数据Z、缺陷类型标签c以及上一个Generator模块输出(除了第一个Generator),Generator6输出的特征经过Conv_out输出为1024*1024的3通道图片。

 Generator模块

模块结构如图所示,生成器网络基于平面区域注意力模块(RPA);基于3×3卷积的模块(Conv);基于注意力的DropOut模块(ADO);基于通道注意力模块(Attention);反卷积模块(Conv_t);采样数据Z以及类型标签数据c各自通过一个Conv模块后以通道叠加的方式融入特征中,使用了3个小的ResNet和一个大的ResNet融合前后特征,防止前面的特征消失以及梯度消失。

RPA

RPA作为第一重注意力机制,给输入特征的每块区域像素分配一个权重,使得神经网络对于图像特征明显的区域更加关注。输入特征(B,C,H,W)先经过一个BatchNorm-Conv-ReLU进行通道压缩为(B,C*r,H/2,W/2),r<1;再经过一个BatchNorm-Conv还原成(B,C,H/4,W/4),通过SigMoid函数生成每个像素值的权重,最后使用双线性插值还原成(B,C,H,W),和原输入特征一对一相乘相乘。

ADO

基于注意力的Dropout方法,不同于一般Dropout使用的随机方式,利用注意力保留更重要的特征信息,使得神经网络的性能和泛化性更好。

对输入特征经过两个批次归一化+可变性卷积+ReLU/SigMiod,生成和原特征形同尺寸的注意力矩阵,根据注意力矩阵的值,将注意力小于阈值的原特征矩阵对应位置神经元置零。

 

注意力机制通过对不同特征通道分配归一化的权重,增强某些特征通道而抑制其他的特征通道,达到选择特征信息的效果。

 

输入特征经过全局平均池化(Global Pooling) 生成通道向量;经过1×1卷积、ReLU激活函数进行通道压缩;经过1×1卷积以及Sigmoid激活函数,输出一个维度等于输入特征通道数的归一化一维向量,这就是各个特征通道的注意力权重,将其输入特征各个通道相乘。

ACD

基于注意力的通道压缩方法,输入特征经过全局平均池化,1*1Conv+ReLU,1*1Conv+SigMoid生成各个通道的注意力,将特征通道按注意力排序,把注意力排名靠后的通道舍弃。

 

CSA

通过对输入特征进行按通道混洗并叠加原来的特征,增强通道间特征交融并保留原特征信息。

对输入特征按通道混洗,和原输入按通道相加,再按通道叠加,再进行混洗。

真假判别器Dt

真假判别器用于对输入缺陷图片+缺陷类别数据的真实性进行判定,输出一个真实概率值p(0-1之间),对于由生成器生成的伪缺陷图片,p要尽可能接近0,而真实缺陷图片的p要尽可能接近1。

 

真假判别器输入缺陷图片,并在每个子模块处输入经过一个Conv处理的缺陷类型标签数据,Conv对缺陷类型标签进行一次特征提取并改变特征尺寸以便融入主特征中。

类别判别器Dc

类别判别器用于区分输入缺陷图像属于哪个类别,将由生成器生成的缺陷图像G(Z|c)和真实缺陷图像分别送入类别判别器Dc,得到该缺陷图像的类别值,计算类别损失。

模块结构如图Fig4.2.3.1所示:

损失函数

本专利LGGAN神经网络包括一个生成器和两个判别器,对应4个损失:

1. 生成器的输出结果在真假判别器上的损失pTg=Dt(G(Z|c));

2. 真实数据真假判别器上的损失pTx=Dt(X);

3. 生成器的输出结果在类别判别器上的损失pCg=Dc(G(Z|c));

4. 真实数据真假判别器上的损失pCx=Dt(X);

其中pTg=Dt(G(Z|c))和pTx=Dt(X)使用二分类的BCELoss损失,pCg=Dc(G(Z|c))和pCx=Dt(X)使用多分类(3分类)的CELoss损失。

生成器的损失为pTg+ pCg;

真假判别器的损失为pTg+pTx;

类别判别器的损失为pCg+pCx;

生成器的损失函数为LG=BCELoss(pTg, 1) + CELoss(pCg, c);

真假判别器的损失函数为LDt=BCELoss(pTg, 0) + BCELoss(pTx, 1);

类别判别器的损失函数为LDc=(1-CELoss(pCg, c)) + CELoss(pCx, c)

优化方式

本专利包括一个生成器G和2个判别器Dt和Dc,在每次迭代时,首先更新一次真假判别器Dt和类别判别器Dc,然后再更新两次生成器G。

 

 

 

LGGAN训练和生成过程

整个神经网络训练分为正向推理和反向传播:

1.正向推理:随机采样数据和缺陷类别标签数据输入生成器G,产生缺陷图像G(Z|c);将G(Z|c)+c以及真实图像X+c分别输入真假判别器Dt,得到pTg+pTx;将G(Z|c)和真实图像X输入类别判别器Dc,得到pCg+pCx;

2.计算得到损失函数LG、LDt和LDc;

3.反向传播:优化器算法,将损失值反向传播到神经网络的各个阈值参数上,并更新阈值,首先更新一次真假判别器和类别判别器,然后更新两次生成器;

4.反复进行1-3,不停更新神经网络阈值参数,使得正向推理得到的生成器和判别器的损失值达到要求,停止训练;

训练完成后,生成时只使用生成器G,输入标签以及从正态分布中随机采样的数据,自动生成PCB板外观缺陷图像。

推荐一部小说《齐天传》,以西游记为背景,很有内涵的。

 

标签:判别,生成器,生成,模块,图像,PCB,缺陷
From: https://blog.csdn.net/m0_59092412/article/details/139705571

相关文章

  • 论文研读: 有效调整大型语言模型提升基础化和引文生成质量
    EffectiveLargeLanguageModelAdaptationforImprovedGroundingandCitationGeneration2311.09533(arxiv.org)有效调整大型语言模型提升基础化和引文生成质量XiYe♢∗RuoxiSun♠SercanÖ.Arık♠TomasPfister♠♢TheUniversityofTexasatAustin♠......
  • 【Python入门与进阶】综合练习题:学生成绩管理系统
    综合练习题:学生成绩管理系统题目描述:请你设计一个简单的学生成绩管理系统,要求能够进行以下操作:添加学生信息(包括姓名和学号)添加学生的成绩(包括科目和成绩)查询学生的平均成绩打印所有学生的成绩单解题思路:定义类:创建一个Student类,包含以下属性:name:学生姓名i......
  • click事件生成
    click事件生成和attachInfo传递click事件生成(onClick调用)在Android开发中经常用到click事件监听,但其实click事件并不是地方传上来的事件,底层上报事件都是touch事件,而click事件其实是根据touch事件生成的,或者说click事件并不是一个纯粹的事件在View的onTouchEvent方法中,在收到Motio......
  • visible_windows生成逻辑和解析
    visible_windows生成逻辑和解析visible_windows生成逻辑在开发者选项中生成错误报告或命令行使用dumpstate,会生成一个bugreprot的压缩包,如其中包含了一些dump信息,其中海有个压缩包里面包含了一些可见窗口的控件信息,但用notepad打开却多是乱码之前工作遇到过一个显示问题只有截图、......
  • 算法人生(22):从“生成对抗网络”看“逆商提升”
    ​在图像生成与编辑、音频合成、视频生成领域里,有一个非常重要的深度学习方法——生成对抗网络(简称GANs),它是由两个神经网络组成的模型,分别为生成器(Generator)和判别器(Discriminator),这两个网络相互博弈,通过对抗学习的方式来训练,以便生成逼真的数据样本。它的大致步骤如下:初始......
  • python 如何生成原创文章
    生成原创文章是一个复杂的过程,因为它需要创造力、知识、语法和上下文理解。然而,Python可以用于辅助文章创作,例如通过生成文本、组合现有信息或根据特定模式进行内容创建。但要完全生成一个完全原创、有深度且逻辑连贯的文章,目前的技术还无法完全实现。不过,以下是一些Python可......
  • 华为余承东:全场景代码智能生成工具CodeArts snap正式发布,码力遥遥领先
    野心让人勤奋节制让人枯萎   前几天的端午节,华为发布了新一代代码智能生成工具codeartssnap。可以一键生成高效代码,精准解决技术难题,让你像技术大牛一样轻松完成业务开发。  下面来看看它是如何码力全开的。 第一个,通过注释一键生成代码如下,当你写好代码的注......
  • 拜耳推出农业生成式AI系统GenAI
    近期,拜耳公布了一项开创性的试点计划,引入了一个专业的生成式人工智能(GenAI)系统,旨在提高效率,并增强农艺师的日常工作能力。利用专有的农艺数据,拜耳利用其全球农艺师网络数百年的丰富经验,训练了一个复杂的大型语言模型(LLM)。GenAI系统代表了农业技术的重大飞跃,可以快速准确地回答与......
  • 课设--学生成绩管理系统(二)
    欢迎来到 Papicatch的博客目录......
  • 目标检测数据集 - PCB板表面缺陷检测数据集下载「包含VOC、COCO、YOLO三种格式」
    数据集介绍:PCB板表面缺陷检测数据集,真实采集高质量PCB板表面含缺陷图片数据,数据集含多款不同PCB板高清表面图片数据,包括俯拍正拍、旋转拍摄姿态。数据标注标签包括missing_hole、mouse_bite、open_circuit、short、spur、spurious_copper六个缺陷类别;适用实际项目应用:P......