一种液晶屏外观缺陷检测方法、装置及存储介质
技术领域
本发明主要涉及图像处理
技术领域
,具体涉及一种液晶屏外观缺陷检测方法、装置及存储介质。背景技术
目前,基于机器视觉的外观缺陷方法已广泛取代人工视觉检测,应用于各个工业领域。基于传统的图像处理算法的外观缺陷检测通常是使用包括直方图均衡化、滤波去噪、灰度二值化等图像处理方法,以获得前景背景分离的简单化图像信息;随后利用数学形态学、傅里叶变换、Gabor变换等算法以及机器学习模型完成缺陷的标记与检测,上述传统的算法虽然在某些特定的应用中已经取得了较好的效果,但仍然存在许多不足。例如:图像处理的步骤繁多且具有强烈的针对性,算法迭代速度慢,通用性差;需要专业性很强的算法研发人员对特定的缺陷进行人工特征提取,研发成本高。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种液晶屏外观缺陷检测方法、装置及存储介质。
本发明解决上述技术问题的技术方案如下:一种液晶屏外观缺陷检测方法,包括如下步骤:
导入待处理图像集,并逐一对所述待处理图像集中的待处理图像进行图像预处理,集合预处理后的所有图像得到图像训练集;
构建训练模型,并根据所述图像训练集对所述训练模型进行模型优化,得到检测模型;
导入待检测图像,根据所述检测模型对所述待检测图像进行检测,得到液晶屏外观是否存在缺陷的检测结果。
本发明解决上述技术问题的另一技术方案如下:一种液晶屏外观缺陷检测装置,包括:
图像预处理模块,用于导入待处理图像集,并逐一对所述待处理图像集中的待处理图像进行图像预处理,集合预处理后的所有图像得到图像训练集;
模型优化模块,用于构建训练模型,并根据所述图像训练集对所述训练模型进行模型优化,得到检测模型;
检测结果获得模块,用于导入待检测图像,根据所述检测模型对所述待检测图像进行检测,得到液晶屏外观是否存在缺陷的检测结果。
本发明解决上述技术问题的另一技术方案如下:一种液晶屏外观缺陷检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的液晶屏外观缺陷检测方法。
本发明解决上述技术问题的另一技术方案如下:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的液晶屏外观缺陷检测方法。
本发明的有益效果是:通过逐一对待处理图像集中的待处理图像的图像预处理集合预处理后的所有图像得到图像训练集,通过图像训练集对训练模型的模型优化得到检测模型,通过检测模型对待检测图像的检测得到液晶屏外观是否存在缺陷的检测结果,避免了人工设计复杂的算法流程,大大降低了研发困难度,并且有着极高的鲁棒性和精度。
附图说明
图1为本发明实施例提供的液晶屏外观缺陷检测方法的流程示意图;
图2为本发明实施例提供的液晶屏外观缺陷检测装置的模块框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的液晶屏外观缺陷检测方法的流程示意图。
如图1所示,一种液晶屏外观缺陷检测方法,包括如下步骤:
导入待处理图像集,并逐一对所述待处理图像集中的待处理图像进行图像预处理,集合预处理后的所有图像得到图像训练集;
构建训练模型,并根据所述图像训练集对所述训练模型进行模型优化,得到检测模型;
导入待检测图像,根据所述检测模型对所述待检测图像进行检测,得到液晶屏外观是否存在缺陷的检测结果。
应理解地,所述待处理图像集和所述待检测图像均来自相机采图并对图像的缺陷位置进行抠图得到。
应理解地,所述待处理图像集用于对模型进行优化的图像集,所述待检测图像用于对所述检测模型进行检测,其均为处理后的图像。
应理解地,所述待处理图像集包括2万张带有真实缺陷的图像和8万张没有缺陷但是存在干扰图案的图像(比如可忽略的蹭脏)。
应理解地,为了降低模型的计算成本,所述图像训练集首先被双线性插值到128×128像素的大小,然后作为输入被送入所述训练模型。
上述实施例中,通过逐一对待处理图像集中的待处理图像的图像预处理集合预处理后的所有图像得到图像训练集,通过图像训练集对训练模型的模型优化得到检测模型,通过检测模型对待检测图像的检测得到液晶屏外观是否存在缺陷的检测结果,避免了人工设计复杂的算法流程,大大降低了研发困难度,并且有着极高的鲁棒性和精度。
可选地,作为本发明的一个实施例,所述逐一对所述待处理图像集中的待处理图像进行图像预处理,集合预处理后的所有图像得到图像训练集的过程包括:
逐一对所述待处理图像集中的待处理图像进行图像旋转处理,得到多个旋转后的图像;
逐一对各个所述旋转后的图像进行图像镜像处理,得到与各个所述旋转后的图像对应的镜像后的图像;
逐一对各个所述镜像后的图像进行图像亮度调节,得到与各个所述镜像后的图像对应的调节后的图像;
通过高斯噪声逐一对各个所述调节后的图像进行数据增强,得到与各个所述调节后的图像对应的增强后的图像;
逐一对各个所述增强后的图像进行压缩,集合压缩后的所有图像得到图像训练集。
应理解地,通过高斯噪声分别对各个所述调节后的图像进行数据增强即为加入符合高斯分布的随机数,随机数的取值范围是0到255,用于数据增强,加入噪声的干扰,让模型在有干扰的情况下,也能够分类正确。
具体地,为了防止模型的过拟合,本发明通过数据增强的方法(即所述数据增强算法)进行图像旋转(90度、180度、270度三种角度)、图像镜像(水平镜像、垂直镜像两种)、增加图像亮度、降低图像亮度、在图像中加入高斯噪声、对图像进行jpg格式的压缩以改变图像质量,从而将训练集样本(即所述待处理图像集中的待处理图像)数量增加8倍。为了缓解无缺陷样本和有缺陷样本之间样本数量的不平衡,对无缺陷样本以及不同类型的缺陷样本设置训练采样概率,所有样本集的总概率为1,数量多的样本集概率设置的小一些,数量少的样本集概率设置的大一些,目的是加大少样本量的样本集的权重,提高了少样本的识别效果。
上述实施例中,逐一对待处理图像集中的待处理图像的图像预处理集合预处理后的所有图像得到图像训练集,提高了少样本的识别效果,为后续处理提供数据,防止了模型的过拟合,降低了采图条件,避免了人工设计复杂的算法流程,大大降低了研发困难度,并且有着极高的鲁棒性和精度。
可选地,作为本发明的一个实施例,所述根据所述图像训练集对所述训练模型进行模型优化,得到检测模型的过程包括:
S1:将循环次数初始化为0;
S2:将所述图像训练集输入至所述训练模型进行训练,得到特征向量;
S3:利用交叉熵函数算法对所述特征向量进行损失函数的计算,得到损失值,并将所述损失值进行储存;
S4:通过第一式对所述循环次数进行更新,得到更新后的循环次数,所述第一式为:
N’=N+1,
其中,N为循环次数,N’为更新后的循环次数;
S5:判断所述更新后的循环次数是否大于或等于预设循环次数,若是,则执行S6;若否,则执行S7;
S6:在所有储存的损失值中进行两两差值计算,得到多个损失值之差;
S7:利用随机梯度下降法对所述训练模型进行参数更新,得到更新后的训练模型,并将所述更新后的训练模型作为下一训练模型,将所述更新后的循环次数作为下一循环次数,并返回S2;
S8:判断所有的所述损失值之差是否满足停止条件,所述停止条件包括连续预设数量的所述损失值之差的大小均小于预设损失值之差且最后储存的所述损失值小于预设损失阈值,若满足,则将所述训练模型作为检测模型;若不满足,则返回S7。
优选地,所述预设循环次数一般设置为15次。
应理解地,所述特征向量包括6个值。
应理解地,本发明选择交叉熵函数作为训练模型的损失函数。交叉熵函数用在训练模型最后,用于评价模型(即所述训练模型)的输出和分类标签的接近程度。训练模型最终输出数量为6的一维向量,每个向量表示分类的置信度,同时也已知输入图像的标签,标签对应的类型为1,其它类型为0,比如一张输入图像的标签为[1,0,0,0,0,0]表示此图像为第1类别,其中,每个向量包含6个单元,对应于图像样本的类别数量,这6个值分别代表了通过softmax回归函数对每个图像的类别成员概率进行的估计,估计的结果即为每个类型的分类置信度,置信度最高的类别即为分类的结果。
应理解地,同时,引入了L2正则化,在损失函数中增加了一个权重衰减项,以惩罚训练中的大权重,避免过度拟合。
具体地,在训练过程中,本发明采用随机梯度下降法。随机梯度下降法是一种优化算法,未优化的损失函数与最优损失存在梯度差,梯度下降法就是沿着梯度下降的方向对损失函数进行优化,以便寻找到最优的参数,使得损失函数的值最小。以50个样本为一个小批次来更新权重参数。我们还将动量和学习率衰减纳入随机梯度下降优化器中,原始的随机梯度下降法每次下降的步长一致,并且方向都是当前梯度的方向,这会使收敛不稳定。加入动量是模拟物体运动的惯性,在每次参数更新的时候保留一部分上次更新的方向,这样有一定的摆脱局部最优的能力,使得损失函数的优化朝着全局最优的方向。加入学习率衰减是因为随着梯度优化,梯度的步长应该越来越小,而不是一直以相同的梯度步长进行优化,加入学习率衰减可以更好的使损失优化到全局最优。
上述实施例中,通过图像训练集对训练模型的模型优化得到检测模型,提高了模型检测的准确率,避免了人工设计复杂的算法流程,大大降低了研发困难度,并且有着极高的鲁棒性和精度。
可选地,作为本发明的一个实施例,所述将所述图像训练集输入至所述训练模型进行训练,得到特征向量的过程包括:
构建的所述训练模型包括多个顺序排列的3×3卷积层、多个顺序排列的2×2最大池化层和多个顺序排列的全连接层,并将第二个3×3卷积层至最后一个3×3卷积层每两个为一组,得到多个3×3卷积层组,并将所有的全连接层为一组,得到全连接层组;
将所述图像训练集输入至首个所述3×3一维卷积层中进行第一次特征分析,得到第一图像特征集;
将所述第一图像特征集输入至首个所述2×2最大池化层中进行第一次下采样处理,得到第二图像特征集;
将所述第二图像特征集输入至首个所述3×3卷积层组中进行第二次特征分析,得到第三图像特征集;
将所述第三图像特征集输入至最后一个所述2×2最大池化层中进行第二次下采样处理,得到第四图像特征集;
将所述第四图像特征集输入至下一个所述3×3卷积层组中进行第三次特征分析,得到第五图像特征集;
将所述第五图像特征集输入至所述全连接层组中进行降维处理,得到特征向量。
优选地,所述3×3卷积层的数量可以为5,所述最大池化层的数量可以为2,所述全连接层的数量可以为3。
应理解地,本发明的网络结构共11层,分别为1个输入层、5个卷积层、2个最大池化层、2个全连接层和1个输出层。将尺寸为128×128像素的图像(即所述图像训练集中的图像)作为模型的输入,经过5个卷积层、2个最大池化层和2个全连接层后,输出层为6个神经元,每个神经元代表相应的类成员概率。
应理解地,所述第一次特征分析、所述第二次特征分析和所述第三次特征分析仅仅是处理的数据不同,处理过程是相同的。
应理解地,所述第一次下采样处理和所述第二次下采样处理仅仅是处理的数据不同,处理过程是相同的。
具体地,本网络的简化表述可以是:输入层-卷积层-激活层-池化层-全连接层。
输入层:三通道或者单通道的图像。
卷积层:卷积层应用一组滤波器,每个滤波器只与上一层输出的一小部分区域相连,称为感受野。滤波器通常是训练期间可学习的矩阵,其大小如3×3或5×5。参数共享方案应用于卷积操作中,一个滤波器在整个图像输入的空间维度上进行卷积,以提取一个特征。
激活层:ReLU(Rectified Linear Units)是最广泛使用的激活函数,它将非线性变换加入到卷积层或全连接层的输出响应中。ReLU可以有效地防止梯度饱和,加快训练过程的收敛,同时最大程度地保持原始值,ReLU激活函数被证明比传统的sigmoid激活函数具有更好的效果。
池化层:池化层沿着图像的两个空间维度执行一种非线性下采样,减少输出的空间大小。它的目的是减少网络参数的数量和计算成本。池化层通常被置于两个连续的卷积层之间,最常见的池化策略是最大池化,它从输入特征图的邻域输出最大值。
全连接层:全连接层是神经网络的最后部分。全连接层的所有神经元都与最后一层的所有单元相连。最后一个全连接层用K个神经元生成整个网络的输出,其数量与输入标签相同。在softmax函数的帮助下,K维输出的每个值都代表相应标签的概率。
应理解地,在所有的池化层中采用的池化策略是最大池化,这对小的失真是稳健的。
应理解地,对倒数第二层和倒数第三层的全连接层采用概率为0.5的dropout策略,dropout是以一定的概率随机的关闭全连接层中的一些神经元,使它不起作用。0.5的dropout就是指,让50%的神经元起作用,剩下的神经元对结果没有贡献,这也有助于避免过度拟合。
具体地,本发明全局框架可以简单地表示如下式所示:
C(32,3,3)-S(2,2,2)-C(64,3,3)-C(64,3,3)-S(2,2,2)-C(128,3,3)-C(128,3,3)--FC(1024)-FC(1024)-FC(6),
其中,C(n,3,3)代表具有n个内核,大小为3×3的滤波器的卷积层,一张图经过C(n,3,3)后,通道数会变成n,宽高没有变化;S(2,2,2)代表具有2×2的下采样池化层(即所述最大池化层)进行下采样处理,在宽高两个维度上都是跨度为2,一张图经过S(2,2,2)后,通道数不变,宽高会缩小0.5倍;FC(n)代表具有n个神经元的全连接层进行降维处理,一张图经过FC(n)后,会把具有宽、高、通道的三维特征图变形为一维特征向量,向量的个数为n;
故上面的表达式的可解释为,一张单通道的尺寸为128*128的输入图像(即所述图像训练集中的图像),经过C(32,3,3)对图像(即所述图像训练集中的图像)进行3×3的卷积操作提取图像的局部特征信息,得到尺寸为128*128,通道为32的特征图(即所述第一图像特征集中的图像);经过S(2,2,2)图像(即所述第一图像特征集中的图像)宽高缩小为原来的0.5倍,图像宽高的缩小也表示参数量的减少,是一个下采样的过程,防止参数量过多导致模型过拟合;经过C(64,3,3)进行3×3的卷积操作提取图像(即所述第二图像特征集中的图像)的局部特征信息,同时通道数增加到64,通道数的增加也意味着通过卷积运算提取更加丰富的局部特征信息,比如颜色、纹理、轮廓等;再经过一层C(64,3,3)输出的宽高和通道数都不变,目的是提高模型的非线性映射的能力;经过S(2,2,2)还是进行池化下采样的操作,图像(即所述第三图像特征集中的图像)宽高进一步缩小0.5倍,通道数不变,参数量进一步减小,此时特征图(即所述第四图像特征集中的图像)的宽高为32,通道数为64;经过C(128,3,3)输出的宽高不变,通道数提高到128,提取的局部特征信息更加丰富;再经过C(128,3,3)输出的宽高和通道数都不变,目的是提高模型的非线性映射的能力;经过S(2,2,2)进行池化下采样的操作,图像(即所述第四图像特征集中的图像)宽高进一步缩小0.5倍,通道数不变,参数量进一步减小,此时特征图(即所述第五图像特征集中的图像)的宽高为16,通道数为128;经过FC(1024)把128×16×16的三维特征图(即所述第五图像特征集中的图像)映射为一个长度为1024的一维向量,全连接层的所有神经元都与后一层的所有单元相连,可以把特征图(即所述第五图像特征集中的图像)的参数量快速的降下来;再经过FC(1024)与上一层全连接层维度没有变化,目的是增加全连接层的非线性映射的能力,最后经过FC(6),把数量为1024的一维向量映射为数量为6的一维向量,对应6个分类。
上述实施例中,将图像训练集输入至训练模型的训练得到特征向量,可以在海量训练数据的训练过程中自动更新滤波器参数,从输入的图像中学习出层次分明的特征,且参数量庞大,对训练样本拟合能力强,模型通用性更高,同时,可以自动提取有用的鲁棒性特征,且模型工作速度极快,能够达到令人满意的正确缺陷检测率。
可选地,作为本发明的一个实施例,所述将所述图像训练集输入至首个所述3×3一维卷积层中进行第一次特征分析,得到第一图像特征集的过程包括:
将所述图像训练集输入至首个所述3×3一维卷积层中进行第一次特征提取,得到第一图像训练集;
按照预设像素值分别对所述第一图像训练集中的图像进行填充,集合填充后的图像得到填充后的第一图像训练集;
分别对所述填充后的第一图像训练集中的图像进行归一化处理,集合处理后的图像得到第一图像特征集。
优选地,所述预设像素值可以为0。
应理解地,由于卷积运算无法在图像的边界处做运算,导致卷积后的图像尺寸比卷积前的图像尺寸小,所以本专利还采用了填充策略,在每次卷积操作后的特征图(即所述第一图像训练集中的图像)的边界处填充零,从而使卷积前后的特征图的尺寸保持不变。
应理解地,为了加快训练过程,本发明还在每一个卷积层之后采用了批量归一化,把卷积层的输出结果归一化到均值为0,方差为1的正态分布上,它可以解决内部卷积参数分布转移的问题。
上述实施例中,将图像训练集输入至首个3×3一维卷积层中的第一次特征提取得到第一图像训练集,按照预设像素值分别对第一图像训练集中的图像的填充集合填充后的图像得到填充后的第一图像训练集,分别对填充后的第一图像训练集中的图像的归一化处理,集合处理后的图像得到第一图像特征集,解决内部卷积参数分布转移的问题,同时也解决了传统算法设计繁琐、研发人员工作复杂度高、对采图条件要求高等弊端,大大降低了算法研发的困难度。
可选地,作为本发明的一个实施例,所述将所述第二图像特征集输入至首个所述3×3卷积层组中进行第二次特征分析,得到第三图像特征集的过程包括:
将所述第二图像特征集输入至首个所述3×3卷积层组中进行第二次特征提取,得到第二图像训练集;
按照所述预设像素值分别对所述第二图像训练集中的图像进行填充,集合填充后的图像得到填充后的第二图像训练集;
分别对所述填充后的第二图像训练集中的图像进行归一化处理,集合处理后的图像得到第三图像特征集。
优选地,所述预设像素值可以为0。
上述实施例中,将第二图像特征集输入至首个3×3卷积层组中的第二次特征分析得到第三图像特征集,解决内部卷积参数分布转移的问题,同时也解决了传统算法设计繁琐、研发人员工作复杂度高、对采图条件要求高等弊端,大大降低了算法研发的困难度。
可选地,作为本发明的一个实施例,所述将所述第四图像特征集输入至下一个所述3×3卷积层组中进行第三次特征分析,得到第五图像特征集的过程包括:
将所述第四图像特征集输入至下一个所述3×3卷积层组中进行第三次特征提取,得到第三图像训练集;
按照所述预设像素值分别对所述第三图像训练集中的图像进行填充,集合填充后的图像得到填充后的第三图像训练集;
分别对所述填充后的第三图像训练集中的图像进行归一化处理,集合处理后的图像得到第五图像特征集。
优选地,所述预设像素值可以为0。
上述实施例中,将第四图像特征集输入至下一个3×3卷积层组中的第三次特征分析得到第五图像特征集,解决内部卷积参数分布转移的问题,同时也解决了传统算法设计繁琐、研发人员工作复杂度高、对采图条件要求高等弊端,大大降低了算法研发的困难度。
可选地,作为本发明的一个实施例,在1000张缺陷验证集上进行验证,如表一所示,表一为本发明的方法与VGG_16、传统图像处理提取特征的方法以及SIFT特征+人工神经网络分类的方法比较后的结果,其中,表示正确归类为无缺陷图像的百分比--真阳性率(TPR)和表示归类为有缺陷图像的百分比的假阴性率(TNR)。
表一:
由表一可知,本发明的方法是相对其他方法是有优势的,其总体检测精度达到99.4%,超过了VGG_16、传统图像处理提取特征的方法以及SIFT特征+人工神经网络分类的方法。
图2为本发明实施例提供的液晶屏外观缺陷检测装置的模块框图。
可选地,作为本发明的另一个实施例,如图2所示,一种液晶屏外观缺陷检测装置,包括:
图像预处理模块,用于导入待处理图像集,并逐一对所述待处理图像集中的待处理图像进行图像预处理,集合预处理后的所有图像得到图像训练集;
模型优化模块,用于构建训练模型,并根据所述图像训练集对所述训练模型进行模型优化,得到检测模型;
检测结果获得模块,用于导入待检测图像,根据所述检测模型对所述待检测图像进行检测,得到液晶屏外观是否存在缺陷的检测结果。
可选地,本发明的另一个实施例提供一种液晶屏外观缺陷检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的液晶屏外观缺陷检测方法。该装置可为计算机等装置。
可选地,本发明的另一个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的液晶屏外观缺陷检测方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种肺部4D-CT医学图像配准方法及系统