基于并行模块深度学习的偏光片缺陷图像实时分类方法
技术领域
本发明属于材料缺陷检测技术领域,具体涉及一种基于并行模块深度学习网络的偏光片缺陷图像实时分类方法。
背景技术
偏光片是液晶面板的核心元器件之一,占液晶面板的成本的10%左右。在偏光片生产过程中,由于加工工艺限制、设计水平不足,生产设备故障和生产条件恶劣等因素,在工件内部极易形成不均匀的区域,这些区域通常表现为气泡状的残胶、裂缝、夹杂物、污渍、划痕等缺陷。任何细微的偏光片缺陷在通过液晶分子发光成像后都会在显示器上面得到呈现,人眼对显示器这种局部的异常会非常敏感,从而影响观感降低显示器的品质。因此,在偏光片生产过程中,对其进行缺陷检测及分类以确保产品的质量是很有必要的。
目前常见的检测偏光片表面缺陷的方法主要有:人工检测和传统的机器视觉检测等方法。但都有各自的不足之处:人工检测主要是通过在生产线上对偏光片进行视觉扫描,将有缺陷的产品分类出来以便后续处理。然而,在大批量生产过程中,检测精度和速度易受检测人员主观因素及经验的影响,难以满足现代装配线的要求;传统的机器视觉检测缺陷主要通过对被检物图像进行处理,在图像处理过程中,需要人工定义和选择能够准确识别图像中缺陷的特征表示。但是在工业环境中,当出现新的问题时,必须手动设计新的特征,由于缺陷区域和位置的随机性,形状多样性和复杂性,因此用于描述缺陷的标准特征描述符往往导致分类结果不准确,很难满足实际工业要求。
近年来,随着深度学习的兴起与发展,深度卷积神经网络克服了手动重新定义每个新缺陷的特征表示的困难,显著提高了图像分类,目标分割,目标检测和其他视觉任务等应用中的检测性能,其中具有代表性的分类网络主要有AlexNet,VGG,GoogleNet和ResNet。然而,这些经典的分类网络构建的越来越深,模型大小也在不断增加,在许多实际应用如在线检测、人脸识别和汽车自动驾驶中,需要在计算受限的平台上实时地执行识别任务,因此,在尽量不影响网络效果的前提下,模型压缩和简化设计成为了一个很重要的研究方向。为了减少深度学习网络模型在移动设备上运行所占用的存储空间,一系列轻量级的网络应运而生,代表性网络主要有SqueezeNet,MobileNet和ShuffleNet等,这些网络在图像分类准确率、网络的参数量与计算量和存储空间方面取得了非常不错的平衡。
本发明拟提出一种基于并行模块深度学习网络的偏光片缺陷图像实时分类方法,将利用深度学习进行图像分类和模型压缩方法相结合,搭建了一个轻量级的偏光片缺陷实时分类网络,旨在不降低分类准确率的前提下最小化深度模型及加快检测速度,以达到在硬件资源有限的情况下满足实际工业缺陷检测的实时性需求。
发明内容
本发明的目的是提供一种基于并行模块深度学习的偏光片缺陷图像实时分类方法,能够在不降低分类准确率的前提下最小化深度模型及加快检测速度,以达到在硬件资源有限的情况下满足实际工业缺陷检测的实时性需求。
本发明为实现其目的,所采用的技术方案包括以下步骤:
一、数据集的准备
1.1、本发明从某电子厂获得某一批次产品的偏光片图像,并对获得的偏光片图像进行预处理,通过对图像采用多次旋转、改变图像对比度、调节色度、饱和度等数据增强的方法扩充样本。
1.2、将步骤1.1中预处理后的样本图像分为三类:无缺陷图像、污渍图像和缺陷图像(如图2所示)。图2中,第一行代表无缺陷图像;第二行代表污渍图像,矩形框代表污渍部分,其对应于生产过程中偏光片表面有污渍的样品,它们需要被正确分类出来,并将污渍清洗干净后可再次投入使用;第三行代表缺陷图像,矩形框内不规则的圆圈或半圆代表的是在偏光片的生产过程中由特定的编码装置喷涂在偏光片表面的特殊记号,这类缺陷样本被正确分类出来后将不能再次进行使用。从图中可以看出,矩形框的位置和大小都不一致,即缺陷的位置不固定,形状多种多样。
1.3、准备训练集、校验集和测试集,并做好对应图像的标签,将图像和对应的标签转换成卷积神经网络能识别的数据类型,即LMDB格式的输入文件。
二、深度学习网络的搭建
2.1、本发明搭建的深度学习网络如图3所示,该网络架构由1个卷积层(第一卷积层)、6个并行模块、4个最大池化层,1个全局均值池化层和一个Softmax层组成;
2.2、本发明网络架构中的并行模块结构如图3所示。与传统的卷积层不同,该并行模块混合了不同尺寸的卷积滤波器,这种设计不但能够更好的融合不同尺度的特征,还能提取到更丰富的缺陷特征,使后续的缺陷分类操作更准确;
图4中实线框代表的是本发明提出的并行模块。并行模块组建的步骤为:首先,使用1×1的卷积滤波器来减少输入到虚线框的通道数,即特征图个数;其次,虚线框是由1×1卷积滤波器和点划线框混合而成,即采用不同尺寸的卷积滤波器(1×1和3×3)来提取偏光片中缺陷特征;最后,将1×1卷积滤波器和点划线框3的输出连接到一起,作为网络下一层的输入。点划线框3代表的是深度可分离卷积。该并行模块中所有的卷积操作后都执行ReLU操作。
在图4中,有四个可调参数:n1、n2、n3、n4和两个固定参数F和n0,F和n0分别指输入到并行模块的特征图的宽度(或高度)和特征图的个数。n1表示并行模块中虚线框上方1×1卷积滤波器输出的特征图个数,n2表示虚线框左侧的1×1卷积滤波器输出的特征图的个数,n3和n4表示点划线框中卷积滤波器的输出特征图个数。在本发明设计的网络中使用并行模块时,n1<n0且n1<(n2+n4)。
2.3、第一卷积层后接批量归一化操作和ReLU激活函数;
2.4、上一层的输出结果输入到并行模块1中;
2.5、上一层的输出结果输入到并行模块2中,后接最大池化层;
2.6、上一层的输出结果输入到并行模块3中,后接最大池化层;
2.7、上一层的输出结果输入到并行模块4中,后接最大池化层;
2.8、上一层的输出结果输入到并行模块5中,后接最大池化层;
2.9、上一层的输出结果输入到并行模块6中,后接全局均值池化层和Softmax层,输出节点数根据具体的分类类别设定。
三、网络训练得到分类结果
3.1、计算偏光片图像数据集的均值文件,对于每一张预训练的图像,在进入深度学习网络后都要在每一个像素点上减去全局均值;对于输入图像,深度学习网络要随机裁剪成227像素×227像素的碎片,并在这些提取碎片上进行深度学习网络的训练;
3.2、将上述步骤3.1训练样本图像输入上述步骤二搭建好的深度学习网络中,并将深度学习网络中的参数设定好,从零开始训练深度学习网络,通过前向传播和反向传播两个步骤反复训练直到达到最大迭代次数,使损失函数值最小;
3.3、将经过上述步骤3.2深度学习网络训练之后提取到的图像的多尺度特征输入到Softmax分类器,输出图像属于某一类别的概率;
3.4、将上述步骤3.3获得的图像属于某一类别的概率和图像对应的标签输入到Accuracy网络层,输出图像被正确分类的概率;
3.5、经过上述步骤的操作,即可实现对偏光片缺陷的正确分类。
与现有技术相比本发明的有益效果为:
本发明提出了一种基于并行模块深度学习网络的偏光片缺陷图像实时分类方法,通过设计并行模块来搭建网络,该模块主要有两个优点:(1)、它混合了不同的卷积模板大小,并且可以融合不同尺度的特征并提取比传统卷积层更多的缺陷特征;(2)、该模块中利用了深度可分离卷积,相比于传统的卷积,显著减少了参数的数量和乘法累加运算量(MACCs)。在网络的最后用全局均值池化层代替全连接层,这又大大地减少了网络参数的数量。因此本发明提出的基于并行模块的深度网络偏光片缺陷图像实时分类方法在分类速度,精度和内存消耗方面都可以满足工业实时性要求。
附图说明
图1为本发明流程图;
图2为偏光片图像数据集;
图3为偏光片缺陷分类网络结构图;
图4为并行模块结构图。
具体实施方式
为了更好的说明本发明的技术方案,下面结合附图和实施例对本发明作进一步的详细描述。
如图1所示,本发明的基于并行模块深度学习的偏光片缺陷图像实时分类方法包括:第一步,偏光片图像数据集的准备;第二步,搭建深度学习网络;第三步,将第一步准备的偏光片数据集输入到第二步搭建好的深度学习网络中,经过深度学习网络的训练,提取到偏光片图像的多尺度特征,将提取到的特征输入Softmax层进行分类,得到分类模型;第四步,将测试图像输入分类模型中,将图像属于某一类别的概率和图像对应的标签输入Accuracy层,输出图像的正确分类结果。
本实施例中的偏光片图像数据集(如图2所示)中的图片共有3类,其中无缺陷图像共1000张,污渍图像共2000张,缺陷图像共2000张。本实施例中将这5000张图像随机的按3:1:1的比例分配为训练集、校验集和测试集。本实施例中,需要检测偏光片图像中是否存在污渍和缺陷,并将其与无缺陷图像进行正确的分类。
一、本发明所述偏光片缺陷实时分类网络包括以下步骤:
步骤1.1、参照图3,将分配好的训练集和校验集中的图像尺寸统一调整为227像素×227像素,然后将其输入到第一卷积层中,第一卷积层的卷积核大小是3×3,进行卷积操作的步长是2,边缘填充系数为2,输出特征图数量为64,大小为227像素×227像素的图片经过卷积层1后的输出特征图尺寸为[(227-3+2×2)/2+1]×[(227-3+2×2)/2+1]=115×115,因此,卷积层1共输出64个115像素×115像素大小的特征图。第一卷积层后接批量归一化操作和ReLU激活函数;
步骤1.2、将上一层步骤1.1的输出结果输入到并行模块1中,经过卷积运算之后输出64个115像素×115像素大小的特征图;
步骤1.3、将上一层步骤1.2的输出结果输入到并行模块2中,经过卷积运算之后输出64个115像素×115像素大小的特征图。后接最大池化层,池化核大小为3×3,进行池化操作的步长是2,边缘填充系数为0。因此,经过池化操作之后特征图尺寸变为[(115-3+2×0)/2+1]×[(115-3+2×0)/2+1]=57×57;
步骤1.4、将上一层步骤1.3的输出结果输入到并行模块3中,经过卷积运算之后输出128个57像素×57像素大小的特征图。后接最大池化层,池化核大小为3×3,进行池化操作的步长是2,边缘填充系数为1。因此,经过池化操作之后特征图尺寸变为[(57-3+2×1)/2+1]×[(57-3+2×1)/2+1]=29×29;
步骤1.5、将上一层步骤1.4的输出结果输入到并行模块4中,经过卷积运算之后输出256个29像素×29像素大小的特征图。后接最大池化层,池化核大小为3×3,进行池化操作的步长是2,边缘填充系数为1。因此,经过池化操作之后特征图尺寸变为[(29-3+2×1)/2+1]×[(29-3+2×1)/2+1]=15×15;
步骤1.6、将上一层步骤1.5的输出结果输入到并行模块5中,经过卷积运算之后输出512个15像素×15像素大小的特征图。后接最大池化层,池化核大小为3×3,进行池化操作的步长是2,边缘填充系数为1。因此,经过池化操作之后特征图尺寸变为[(15-3+2×0)/2+1]×[(15-3+2×0)/2+1]=7×7;
步骤1.7、将上一层步骤1.6、的输出结果输入到并行模块6中,经过卷积运算之后输出512个7像素×7像素大小的特征图。后接全局均值池化层和Softmax层,输出节点数设定为3。
二、本发明所述的网络训练和分类过程包括以下步骤:
步骤2.1、将输入图像的尺寸统一调整为227像素×227像素大小,并将其输入到网络的输入层;
步骤2.2、计算训练集的均值文件,保存为.binaryproto格式的文件,并在网络的输入层指定均值文件的位置;
步骤2.3、从零开始训练网络,设定训练集和校验集的批处理数据大小分别为20和10,动量因子设置为0.9,权重更新量设置为0.0002,初始学习率设置为0.001,且采用随机梯度下降方法进行训练,通过前向传播和反向传播两个步骤反复训练网络直到达到最大迭代次数280000次,训练结束;
步骤2.4、将经过网络训练之后提取到的图像的多尺度特征输入到Softmax分类器,输出3类图像被正确分类的概率。
上述步骤1.2至1.7中共有6个并行模块,每个并行模块中有四个可调参数:n1、n2、n3、n4(如图4所示)。n1表示并行模块中虚线框上方1×1卷积滤波器输出的特征图个数,n2表示虚线框左侧的1×1卷积滤波器输出的特征图的个数,n3和n4表示点划线框中卷积滤波器的输出特征图个数。为了优化网络性能,本方案做了16组实验来调整6个并行模块中的24个可调的超参数,从中选择一组最优的参数组合来验证本方案的有效性。
表1显示了16组实验中分别调整6个并行模块中的24个参数设置时本方案的分类正确率、深度模型大小、每张图片的测试时间,网络总的参数量及乘法累计运算量(MACCs)之间的关系。从图3可以得知本方案中每个并行模块的输入和输出通道的数量,也就是说,对于每个模块而言,n0和n5是固定的,在约束条件n1<n0 and n1<(n2+n4)下,本方案在n5:n1=4,8,16,32的条件下调整n4:n2:n1共做了16组实验,获得了网络最终的分类正确率和深度模型大小。从表1可以看出,当调整并行模块中的参数设置时,分类正确率和模型大小是非线性的关系,表1中第8组实验的分类正确率是最高的,第12组实验的测试时间是最短的,参数量和MACCs也是最少的,第16组实验的深度模型是最小的。本方案要进一步从这三组实验中选择一组更优的参数组合,所以本方案选择了第8组,第12组和第16组中获得的网络模型在测试集上进行实验以验证模型的鲁棒性和泛化能力,测试集不用于网络的训练和校验过程。
表1并行模块中参数的设置及结果的比较
本方案测试集中偏光片图像共有1000张,其中无缺陷图像有200张,污渍图像和缺陷图像各400张,实验结果如表2所示。从表2可以得出,第8组实验的参数组合构成的网络在测试数据集上的总错误率是最低的,无缺陷图像和污渍图像的分类错误率也是最低的。在工业生产中,需要尽可能多的检测出污渍图像以便将污渍处理干净后再次投入使用,所以对于污渍图像而言,需要获得更低的分类错误率,因此,我们选择具有最高分类精度和最低分类错误率的第八组实验中的参数组合来搭建偏光片缺陷图像实时分类网络。
表2分类错误率的比较结果
为了显示该方案与其他方案对比的优越性,在下述表3和表4中做了对比。
表3分类正确率与模型大小的比较结果
方案 |
分类正确率(%) |
深度模型大小 |
AlexNet |
98.6 |
377.5MB |
VGG-16 |
99.2 |
662.9MB |
ResNet-18 |
98.6 |
44.7MB |
SqueezeNet |
97.9 |
2.9MB |
MobileNet |
98.9 |
12.9MB |
本方案 |
99.5 |
290.9kB |
表3列出了6种图像分类方案的分类正确率和模型大小的比较结果。本方案的分类准确率分别比AlexNet,VGG-16,ResNet-18,SqueezeNet和MobileNet高0.9%,0.3%,0.9%,1.6%和0.6%,模型大小分别小1328.8,2333.5,157.35,10.2和45.4倍。因此,本文方案在不降低分类精度的前提下可以显著减小模型的大小。
表4分类错误率与分类时间的对比结果
表4列出了6种图像分类方案在测试数据集上的分类错误率和分类时间对比结果。测试集中偏光片图像共有1000张,其中无缺陷图像有200张,污渍图像和缺陷图像各400张,此测试集既没有参与网络的训练,也没有参与网络的校验过程。从表4可以看出,本方案比其他五种方案能获得更低的分类错误率。表4最后一列表示6种方案在测试过程中每张图片的测试时间,从表中可以看出,与AlexNet,VGG-16,ResNet-18和MobileNet相比,本方案将每张图片的分类时间分别缩短了284.97ms,2543.87ms,263.47ms和99.77ms,比SqueezeNet慢2.23ms,但是结合表3,本方案的分类准确性比SqueezeNet高1.6%,模型大小减小了10.2倍,亦可证明本方案的有效性。
综上所述,本方案在保证分类准确率的前提下,可减小深度模型的大小,加快分类速度,可在硬件资源受限的情况下满足工业中偏光片缺陷实时检测的需求。
以上内容是结合具体的实施方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。