《误佳期》
千金难求珍宝 家和易得欢笑 人生自是有情痴 原做双飞鸟
情两难分付 是一丝烦恼 蓦然回首神仙地 还道人间好
公司项目,已申请专利。
由于深度学习自身的算法特性,需要大量的Mura缺陷图片作为训练数据集供神经网络学习缺陷特征,而这些Mura缺陷图像的获取则成了制约深度学习在图像Mura缺陷检测领域发展应用的一大因素。每一张缺陷图片需要一个Mura缺陷屏幕,而缺陷屏幕的数量本就不是很多,且这些缺陷屏幕都是各个厂家的保密资产,难以得到。
生成模式作为深度学习技术的一大分支在图像领域有较大发展,生成模式通过学习图像的数据统计分布特征,使用神经网络训练拟合这种统计分布特征,通过在分布特征中随机采样,生成与原图同分布不同采样的数据,即生成和原图“一样但不同”的新图片。可以大量生成各种不同的Mura缺陷图像,扩充数据集。
本发明为一种基于深度学习变分自动编码器的神经网络模型,使用基于卷积操作的编码器提取Mura图像的统计分布特征,得到Mura缺陷图像数据分布隐空间的均值和方差,通过训练使得隐空间的均值和方差和标准正态分布的均值和方差接近,然后从隐空间中随机采样隐向量,通过解码器生成出新的图像,该图像和原图像属于同一个统计分布空间内的不同采样数据,即新图像和原图相同(都是真实的缺陷图片)但又不同(两者看起来不一样)。
本方案属于计算机视觉、图像生成/重构领域,涉及一种基于多层卷积特征提取、注意力分配、图像重构的图像处理方法。包括采集存在Mura缺陷的图像;本发明设计了一种基于三重注意力机制和变分自动编码器(VAE)的神经网络模型称为LVAE,提取缺陷图像的统计分布,再从统计分布中随机采样生成新的缺陷图像。神经网络基于批次归一化、3×3卷积、非线性化操作的卷积核和特征注意力特征提取模块(SKConv);平面像素注意力机制模块(PPA);基于3×3卷积和1×1卷积的特征压缩模块(FS);通道混洗加和模块(CSA);通道加和池化模块(CAP);基于反卷积操作、特征加和模块和和注意力机制模块的图像重构模块(Decoder);增加了L2正则化和DropBlock技术用于防止神经网络过拟合;增加了Resnet技术增加前后特征层的数据交互,最大限度保留浅层的特征,消除梯度消失现象;加入数据并行(DP)模式用于减少显存消耗和提升训练速度。
使用神经网络对训练数据集进行深度学习,随机采样数据经过重参数化技术后输入已完成训练的模型进行推理,生产能出新图片,并与传统的Mura缺陷检测软件判定的类别进行综合判等。
目录
1.整体生成流程
2.缺陷图片获取
3.LVAE神经网络模型设计
4.损失函数
5.神经网络参数
6.LVAE训练过程
基于深度学习变分自编码器的Mura缺陷图像数据集生成方案
本专利Mura缺陷数据集生成方案分为缺陷图像训练集获取、AI神经网络模型设计编码、AI模型训练、AI模型测试部署五个步骤。
缺陷图片获取
本专利使用的是无监督学习的深度学习技术,AI模型处理的是图片数据,因此需要一些缺陷图片作为训练集。本专利通过点屏拍照的方式获得彩斑Mura缺陷照片。
VAE神经网络模型设计
本专利选择使用基于变分自动编码器的神经网络进行缺陷图像的生成,将缺陷照片输入AI模型,编码得到数据概率分布,从该概率分布空间随机采样,解码得到重构后的新缺陷图片。AI神经网络基于卷积、池化、非线性化、BN等操作,对输入图片样本进行特征提取(Encoder),每个阶段的特征提取都使用了3重注意力机制;加入Resnet结构,融合前后层特征信息,避免特征消失;设计了新的通道混洗加和模块(CSA),通道加和池化模块(CAP),增强每个特征通道的数据表证;使用DropBlock技术,防止过拟合;
本专利自主设计一套AI神经网络体系结构名为LVAE,如下图:
整个神经网络分为Encoder和Decoder两部分,左边为图像特征提取分支(Encoder),包括5个Encoder模块,每个Encoder包含一个平面像素注意力机制(PPA)、一个SKConv、一个通道加和混洗(CSA)和一个特征压缩(FS)模块。PPA和SKConv构成三重注意力机制,分别是平面像素注意力、卷积核感受野注意力和特征通道注意力。PPA模块给每个像素值分配注意力权重;SKConv模块使用3个不同感受野的卷积核分别对输入特征进行卷积操作,再将3个不同感受野的卷积核生成的特征按通道相加,给每一个通道分配注意力权重,然后将3个特征按通道逐像素加和,再和输入特征按通道叠加,再进行DropBlock处理;CSA模块对输入特征按通道混洗,再和原输入特征按通道相加,再和原特征按通道叠加,再进行混洗操作;FS模块对输入特征进行压缩,包括特征通道数减少,特征长宽减半;
第五个Encoder输出的特征分别通过两个Norm_conv_down模块生成平均值(mean)和方差(logvar)作为隐空间参数,均值(mean)和方差(logvar)经过重参数化技术(Reparameterize)采样为正态分布值Z,再经过Norm_conv_up模块送入Decoder模块;
图像重构生成分支(Decoder)分支包括5个Decoder模块和一个Conv_out。
每个Decoder包括一个反卷积模块(Conv_t) 、通道加和池化(CAP)和一个通道注意力(Attention)模块。Conv_t将输入特征进行重构,减少通道数,再进行DropBlock处理。CAP将输入通道分组,每组特征按通道进行加和,每组输出一个通道,进行通道降维操作。通道注意力(Attention)模块给每个通道分配注意力权重。Conv_out将特征通道压缩至3通道,完成图像的重构生成。
PPA:PPA作为第一重注意力机制,给输入特征的每个像素分配一个权重,使得神经网络对于图像特征明显的区域更加关注。输入特征(B,C,H,W)先经过一个BatchNorm-Conv-ReLU进行通道压缩为(B,C*r,H,W),r<1;再经过一个BatchNorm-Conv还原成(B,C,H,W),通过SigMoid函数生成每个像素值的权重,和原输入特征相乘。
SKConv:SKConv作为第二和第三重注意力机制,分别用于卷积核感受野和特征通道注意力,通过不同感受野卷积核对特征图的不同大小区域分配注意力,通过通道注意力对不同特征通道进行筛选,进一步提高神经网络对输入特征的编码效果。
对输入特征使用3种不同大小感受野的卷积核分别进行特征提取,将3个特征按元素相加(B,C,H,W),再把这个特征进行压缩和全局平均池化(B,C*r,1,1),再恢复成(B,C,1,1),然后经过Sofamax和之前的3个卷积输出特征按通道相乘,再按元素相加,再和原输入按通道叠加,最后做DropBlock操作。
CSA:通过对输入特征进行按通道混洗并叠加原来的特征,增强通道间特征交融并保留原特征信息。
对输入特征按通道混洗,和原输入按通道相加,再按通道叠加,再进行混洗。
Feature Squeeze:使用卷积对上一层输出的特征提取特征信息,并压缩长宽。
Conv_down模块:通过两个卷积模块分别生成隐空间的均值和方差向量。
Conv_up:使用反卷积模块将隐向量Z重构,增加特征长宽。
Conv_t:使用反卷积模块将输入特征重构,增加特征长宽。
CAP:将输入特征按通道分组,每组特征按通道相加,融合各个通道特征信息并减少特征通道数。
Attention:注意力机制通过对不同特征通道分配归一化的权重,增强某些特征通道而抑制其他的特征通道,达到选择特征信息的效果。
输入特征经过全局平均池化(Global Pooling) 生成通道向量;经过1×1卷积 、ReLU激活函数进行通道压缩;经过1×1卷积以及Sigmoid激活函数,输出一个维度等于输入特征通道数的归一化一维向量,这就是各个特征通道的注意力权重,将其输入特征各个通道相乘。
Conv_out:使用一个3×3卷积将特征还原成原图尺寸的3通道图片。
损失函数
生成图片的性能可以通过 evidence lower bound(ELBO) loss 来评估,该损失由Reconstruction loss 和 Kullback–Leibler loss(KL loss)组成。Reconstruction loss 用于计算生成的数据与原始数据的相似程度,而 KL loss 作为一个额外的 loss,用于测量一般正态分布与标准正态分布的差异,也就是均值 μ 和方差σ2之间的差异。
均方误差(MSE)是最常用的回归损失函数。MSE是目标变量与预测值之间距离平方之和,本专利使用经过LVAE神经网络模型恢复重构后的图片和标原图对应像素进行MSE,得到误差值,再进行反向梯度计算,更新神经网络的权重值。
在给定的隐变量空间维度为 n 的条件下,已知均值 μ 和方差 σ 2,KL loss 定义为:
最终,ELBO loss 由上述两个损失函数组成,系数为 α 和 β:
简单来说,这里的 Reconstruction loss 是用来让 decoder 的输出 Y 和输入 X 尽可能相似。而 KL loss 希望隐变量空间可以符合标准的正态分布,但实际 X 的分布其实并不是标准的正态分布,也就是说 KL loss 会让输出 Y具有多样性,与输入 X 产生一部分的差异。
本专利使用L2正则化和DropBlock技术用于较小神经网络过拟合效应,使用ReLU激活函数和kaiming权重初始化方法。
本专利使用Nvidia APEX并行计算加速库,用于减少神经网络模型训练时间以及降低显卡显存消耗,并加入了混合精度以及同步归一化技术。