APP下载

基于改进的卷积神经网络光学薄膜缺陷识别

2021-04-15张振华陆金桂李浩然

计算机应用与软件 2021年4期
关键词:分类器预处理卷积

张振华 陆金桂 李浩然

(南京工业大学机械与动力工程学院 江苏 南京 211816)

0 引 言

光学薄膜是一类光学介质材料,目前已广泛应用于液晶电视、手机屏幕、太阳能电板等产品中。由于生产中的多方面原因,导致光学薄膜表面出现气泡、刮伤、涂料不均等缺陷,这些缺陷不但降低了光学薄膜表面质量,也降低了产品的性能,不同种类的缺陷须采取不同的处理办法。随着用户对于产品质量要求的提高,对于光学薄膜生产技术和缺陷检测技术的要求也越来越高。

目前主要采取人工模式来对光学薄膜表面缺陷进行检测,但人工判断效率低下,受人主观性影响大且人工成本较高[1]。随着计算机技术的发展,以图像识别技术来检测产品成为可能[2],以图像处理技术检测缺陷有检测速度快、成本较低和检测结果较为稳定等优势[3]。传统图像识别的算法如BP神经网络[4-5]在进行图像识别时需要复杂的图像预处理过程,通过从图像中提取例如Hu不变矩[6]、灰度共生矩[7]等特征数据来进行图像的识别。卷积神经网络(CNN)由于其感受野理论[8],使其拥有类似于人类的图像处理方式,渐渐被广泛应用于图像处理中。卷积神经网络可以直接对图像进行学习,提取图像特征,不需要复杂的预处理过程,在图像识别中对目标具有较好的平移、缩放和旋转不变性[9]。LeCun等[10]首先运用CNN完成了对数字的识别;Lawrence等[11]将CNN用于人脸识别上并取得较好的识别效果;Ji等[12]以CNN实现了人体动作的识别;刘孟轲等[13]运用CNN实现了轨道表面缺陷的检测;徐珊珊等[14]以CNN检测了木材表面的缺陷。但由于卷积神经网络的特性[15],对于不同的识别目标往往需要采用不同的网络结构,且需要采用不同的激活函数来进行匹配,从而提高识别效率和精度。

由于光学薄膜图像对比度较低,缺陷较小,难以直接进行,为提高识别效率和精度以改进的局部二值模拟(LBP)算法对图像进行简单的预处理。后采用具有双通道、多尺寸卷积核的卷积神经网络对输入图像进行特征提取,并配以改进的ReLU函数作为传递函数,提高训练精度和效率。在输出层,使用支持向量机(SVM)替代Softmax分类器,提高计算效率和准确率。利用该方法对光学薄膜缺陷进行识别,统计其识别率,并与传统卷积神经网络方法进行对比。

1 光学薄膜缺陷种类分析

光学薄膜生产通常采用物理气相沉积法[16],其工艺基本过程为:清洁零件,清洁真空室,抽真空和零件加温,膜厚仪调整,离子束轰击,膜料预熔,镀膜,镀后处理等。每一步工艺流程都会影响薄膜的质量,讨论光学薄膜常见的表面缺陷并研究其产生原因。

(1) 气泡:气泡的产生主要由于真空度不够。由于剩余气体在机器中出现导致在镀膜成型时膜料分子与气体同时到达基片上,从而在镀成薄膜的时候形成了气泡。

(2) 涂料不均:涂料不均也是由于真空度的影响。由于剩余气体的缘故导致在溅射过程中膜料原子和分子与气体分子相撞,致使有部分膜料气体无法到达基材表面或有些膜料气体因为相撞改变方向而过多地沉积在了一处形成涂料不均。

(3) 压痕:压痕的问题一般是由于镀膜后处理产生,以压辊对薄膜进行辊压的时候由于压力的不均匀,有些部分压力过重有些部分压力过轻,导致原料从压力较高处向压力较低处流动,形成了压痕。

(4) 刮伤:刮伤主要是由于机械传动机构所导致。机械传动机构的表面粗糙造成了薄膜表面出现刮伤,也可能是基材过于粗糙。

(5) 白点:白点主要由原有材料的问题导致。原有材料中含有反射率不同的杂质,导致成品之后会在薄膜中存在一些较其他部分较为明亮的小点。

对于缺陷种类的研究可看出不同的缺陷成因基本不相同,所以在生产检测中如果能有效地检测并识别缺陷的种类,对于对应调整生产设备的问题有很大的帮助。

2 基于改进的LBP算法的图像预处理

虽然卷积神经网络可直接读取图像进行识别不需复杂的预处理过程,但由于光学薄膜缺陷区域像素特征与背景区域像素特征非常相似,并且缺陷区域面积相对较小,直接识别会严重影响识别效率和精度,故采用改进的LBP算法对其进行简单的缺陷分割预处理,便于识别。

2.1 LBP算法

LBP算法由Ojala等[17]提出,其原理是在灰度图像中,对像素点(P,R)邻域采样,R(R>0)为邻域半径,P(P>0)为邻域像素总数,P个邻域像素均匀分布在半径为R的圆周上,如图1所示。

图1 不同P、R值的LBP圆环形邻域

以中心像素点像素值gc为阈值对邻域各像素点像素值gi(i=0,1,…,P-1)做二值化处理,然后根据不同位置像素权重相乘,乘积之和即为LBP值。

(1)

(2)

由于传统LBP算法对于像素的变化十分敏感,虽能很好地检测出缺陷,但往往会将图像背景中灰度波动区域误识别为缺陷,故需要采取一定的改进方法使其对背景的波动有一定的鲁棒性。

2.2 改进的LBP算法

(3)

图像方差为:

(4)

以此计算各小块方差和图像全图方差,后将小块方差与全图方差进行对比,将方差大于全图方差的小块视为缺陷引起的灰度变化,采用传统LBP方法选取小块中心像素为阈值进行LBP处理;方差小于全图方差小块视为背景区域,以全图灰度均值作为阈值进行LBP处理。改进的LBP算法流程如图2所示。

图2 改进的LBP算法流程

采用该方法对图像进行简单的预处理,以气泡和涂料不均图像为例,效果图和与LBP方法对比如图3所示。

(a) 气泡 (b) LBP处理 (c) 改进LBP处理

(d) 涂料不均 (e) LBP处理 (f) 改进LBP处理图3 图像预处理效果图

3 改进的卷积神经网络

3.1 卷积神经网络基本结构

卷积神经网络一般由卷积层、激活函数、池化层、全连接层组成,卷积层通过卷积核对图像的特征进行提取,对于不同的物体的图像往往需要不同的卷积核来提取特征。

激活函数即为神经元之间输入和输出之间映射关系的表达,通常激活函数对输入进行映射变化从而得到输出,同时在映射过程中不会改变特征图的尺寸。激活函数一般采用非线性函数,如ReLU函数、Sigmoid函数和tanh函数等。

池化层通常跟在卷积层之后,一层卷积层配合一层池化层,池化层将相近的特征进行合并,以此来减少卷积层输出的特征图大小,减少计算量的同时,防止过拟合现象。

通常情况,卷积神经网络采用一个卷积层后连接一个池化层的方式加强网络性能,并以多个卷积层和池化层的方式来提高精确度。而在网络中所有层之间都是完全连接的,导致存在大量的参数,卷积神经网络通过共享权重将相同权重用于相同的层中,减少了计算量,也能提高网络性能。卷积神经网络结构如图4所示。

图4 卷积神经网络基本结构

3.2 改进卷积神经网络结构

传统的单通道卷积神经网络为了丰富所提取特征的来源和层次,往往采用添加卷积层的方法,但若一味地添加卷积层会导致网络层数过高,妨碍数据信息的传播,训练较为困难。所以,为了在充分提取图像的特征和训练难度之间取得平衡,本文设计了双通道结构,两通道分别使用不同尺寸卷积核,提取到不同层次的特征,丰富特征输入。

第一层通道卷积核尺寸: 3×3,5×5,9×9;第二层通道卷积核尺寸:5×5,7×7,10×10。第一层通道,小尺寸卷积核感受野小,侧重提取输入图像的局部特征;第二层通道,大尺寸卷积核感受野大,侧重提取图像的全局特征。最后两层通道所提取的特征被融合形成多方位多角度的融合特征,可以更加充分体现样本图像特性。

与单通道卷积神经网络相比,双通道卷积神经网络所提取的图像特征抽象程度更高,表达能力更强,图像特征丰富,尤其对样本数量不够充分的小样本分类问题特别适用。本文模型结构如图5所示。

图5 改进的卷积神经网络结构

本文采用输入图片统一大小为128×128的分辨率,本文模型包含6个卷积层(C1,C2,C3,C4,C5,C6),6个池化层(P1,P2,P3,P4,P5,P6),两个全连接层(F1,F2)以及SVM分类器。池化层以均值池化的方法得到池化结果。

第一个子卷积神经网络结构为:卷积层C1由16个9×9的卷积核进行卷积,得到16个不同的特征图,则得到C1的大小为120×120×16,后由池化层P1对卷积层C1以2×2的单元进行池化操作,将C1的特征图由120×120×16转化为P1的60×60×16。再以32个5×5的卷积核对P1进行卷积,得到由56×56×32个特征图组成的卷积层C2,再以2×2的单元对C2进行池化操作,得到由28×28×32个特征图组成的池化层P2。最后对池化层P2采用64个3×3的卷积核进行卷积得到26×26×64结构的卷积层C3,以2×2的单元对C3进行采样操作,得到第一个子卷积神经网络的最终池化层P3,其包含64个13×13的特征图。

第二个子卷积神经网络采取结构为:以16个7×7的卷积核进行卷积操作,得到16个122×122的特征图,组成卷积层C4,后采用2×2的池化单元对卷积层C4进行池化操作得到P4为61×61×16。再以32个10×10的卷积核对P4进行卷积处理,得到32个52×52的特征图,组成了卷积层C5,以2×2的单元进行池化操作得到P5为26×26×32。最后以64个5×5的单元对P5进行卷积,得到卷积层C6包含64个22×22的特征图,以2×2的池化单元对C6进行池化最终得到第二个子卷积神经网络的池化层P6为11×11×64。

全连接层F1的输入来自两个子卷积神经网络的最终池化层P3和P6,如式(5)所示,综合提取得到全连接层包含512个特征,F1与F2采用全连接的方法。

(5)

在输出层,使用支持向量机替代Softmax分类器,可以提高计算效率和准确率,快速收敛,获得最优值。

3.3 改进激活函数

激活函数在卷积神经网络中通过非线性函数将激活的神经元特征映射出来,即在网络中传递信号,是神经网络解决问题的关键。常用的激活函数有Sigmoid函数、tanh函数、ReLU函数等,但这些函数或多或少都有些缺陷。Sigmoid函数和tanh函数易出现梯度弥散的问题;ReLU函数是分段的线性非饱和函数,是目前运用较为广泛的激活函数,相比Sigmoid函数和tanh函数有了很大的进步,但是其在运行时会将一部分神经元的输出设为0,会造成神经网络稀疏问题。本文对光学薄膜缺陷进行识别,由于光学薄膜缺陷种类较多且有些特征较为接近,需要对图像特征的映射更加精确。

Softplus函数也是非饱和线性函数,其数学表达式如式(6)所示,与ReLU函数相比稀疏性较差,收敛速度比ReLU函数慢,但ReLU函数过分的强制稀疏往往会导致模型错误率的增高,其数学表达式如式(7)所示。本文采取两个函数各自的优点,构造一个非饱和线性的激活函数用于神经网络的输入输出映射,以期提高识别率。

f(x)=loge(1+ex)

(6)

(7)

在进行输入输出的映射时,由于ReLU函数将小于0的部分都强制输出为0,使小于0的神经元都处于非激活状态,导致网络学习受阻。本文引入Softplus函数,对小于0的部分使用Softplus函数来进行处理。当x=0时,Softplus函数的取值为ln2,为了保证组合函数的连贯性将Softplus函数减去ln2,使函数连贯。对于大于0的部分依旧采用ReLU函数进行处理,以此方法改进ReLU函数会造成神经网络过度稀疏的问题,综合得到的改进激活函数公式如式(8)所示,其导数如式(9)所示。

(8)

(9)

以此操作保留了ReLU函数收敛较快,不易丢失有用特征的优点,同时通过使用Softplus函数保留了小于0部分神经元的特征信息,提高了信息的获取量,避免模型欠拟合。改进的激活函数图像如图6所示。

图6 改进的激活函数图像

3.4 使用SVM代替Softmax分类器

卷积神经网络具有较好的特征提取能力,但其分类效果一般,卷积神经网络通常采用Softmax分类器。支持向量机具有较好的泛化性能,它可以在学习能力与模型复杂度之间取得最佳平衡。支持向量机能较好解决机器学习算法经常遇到的小样本、局部极值、高维数问题。

将SVM代替Softmax分类器并与卷积神经网络组成CNN-SVM模型,可以充分利用两者的优点。其工作过程为:将样本输入到卷积神经网络中,利用CNN强大的特征提取能力,得到多尺度特征向量,然后将这些特征向量输入SVM中,经二次训练,得到CNN-SVM模型。

本文数据集包含1 500幅图片,属于小样本数据集,而卷积神经网络需要大量样本才可以充分训练好模型中的权重,而SVM的参数较少,在数据不充分的小样本情况下,也可以很好地完成分类问题。因此面对小样本时,CNN-SVM模型因结合了CNN的特征提取性能和SVM的分类性能,更具有适应性。

卷积神经网络通过梯度下降法更新模型权重,当学习率等各项参数没有调试精确时,模型容易陷入局部极小值,导致最终分类效果不理想。而SVM采用最小化结构风险原则,并采用最大化间隔方法,可以避免陷入局部极小值,弥补了卷积神经网络的缺点。

Softmax分类器在对目标样本分类时,若目标样本的分类概率大于0.9则认为分类正确,但此时损失函数仍然继续计算,仅在分类概率接近1时才会终止计算,这种情况下运行时间会更长;而SVM的侧重点在于被错误分类的目标样本,对分类正确的目标样本不再计算,因此使用SVM分类器可以提高计算效率,缩短训练时间,识别效果更好。

4 实 验

实验采用单核CPU:3.30 GHz,内存4 GB,GPU为NVIDIA GTX960,操作系统为64位Windows 7系统,使用MATLAB 2016a编写算法。采用1 500幅光学薄膜缺陷图片作为数据库,气泡、涂料不均、白点、压痕、刮伤各缺陷图片300幅。随机选取1 200幅光学薄膜缺陷图像作为训练集(各缺陷240幅),剩余300幅光学薄膜图像作为验证测试集。再对验证集分别进行旋转操作,旋转角度分别为旋转45°、90°、135°、180°,进行一共5组实验。

将数据集复制为两份,一份采用传统的LBP算法进行预处理,一份采用改进的LBP算法进行预处理。改进的LBP算法预处理效果如图7所示。

(a) 气泡 (b) 涂料不均 (c) 压痕

参与实验的各卷积神经网络的结构和所使用的预处理算法如表1所示。

表1 各卷积神经网络结构以及所使用的预处理算法

实验结果如图8、表2、表3所示。

图8 不同模型分类准确率对比

表2 不同模型平均分类准确率对比 %

表3 不同模型训练时间对比 s

从实验结果中可看出,改进的卷积神经网络对光学薄膜缺陷的识别率有了明显的提高,无论是将图像做了多少度的旋转,本文方法始终保持较高的识别率,且识别率波动不大,说明本文算法对旋转、平移有较好的鲁棒性。

对比本文方法和CNN1可以发现,本文采用改进的预处理算法,通过设计双通道模型,使用Softplus函数改进ReLU函数,并且使用SVM代替Softmax分类器构建新的CNN模型,其分类准确率、训练时间较传统的CNN模型均有显著改善,平均分类准确率提高了8.6百分点,训练时间缩短了16 s,充分验证了本文设计的预处理算法、改进的CNN模型对光学薄膜缺陷检测的适用性。

对比本文方法和CNN2,在使用相同预处理算法、相同双通道结构、相同激活函数的前提条件下,使用SVM分类器替代Softmax分类器的识别模型,准确率提高了3.2个百分点,训练时间缩短了19 s。这是因为对于分类概率大于0.9的目标样本,SVM分类器不再处理,而Softmax分类器的损失函数仍然继续计算,因此使用SVM分类器大幅度缩短训练时间,提高网络模型泛化能力。

对比本文方法和CNN3,在使用相同的双通道结构,相同的激活函数、相同的分类器的前提条件下,使用改进的LBP算法进行预处理的识别实验,平均分类准确率提高了4.6百分点,这是因为改进的LBP算法准确地将输入图像中的目标物分割出来,提高了输入图像的质量。这证明了改进的LBP算法对提高模型分类准确率的有效性。

5 结 语

1) 本文设计了适用于光学薄膜表面缺陷识别的卷积神经网络,通过对光学薄膜图像进行简单的预处理,将处理后的图像输入改进的卷积神经网络进行训练学习,并最终完成对光学薄膜缺陷的识别检测。

2) 以改进的LBP算法对光学薄膜缺陷图像进行预处理。虽然卷积神经网络可以直接读取图片进行识别,不需要复杂的预处理阶段,但光学薄膜缺陷对比度较低,直接识别难度较大。通过将光学薄膜图像分块,计算小块方差和全图方差,对方差大于全图方差的小块采用中间像素灰度作为LBP阈值;小于全图方差的小块以全图像素灰度均值作为LBP阈值。以该方法很好地完成了光学薄膜图像预处理过程。实验结果表明,在使用相同的CNN模型前提下,使用改进的LBP算法进行预处理的缺陷识别实验,平均分类准确率提高了4.6百分点。

3) 以设置双通道、不同尺寸卷积核的方式将卷积神经网络分为两个不相关的子部分,通过不同尺寸卷积核提取的图像特征最终在全连接层汇总。为进一步提高识别精度,以ReLU函数和Softplus函数取优,构建了改进的卷积神经网络激活函数,用于映射输入和输出之间的关系。为了提升计算效率和准确率,使用SVM分类器替代Softmax分类器。最终以1 500幅光学薄膜图像对网络进行训练学习,通过与其他3种卷积神经网络进行对比,本文所提卷积神经网络在光学薄膜缺陷的识别率以及计算效率上有了明显的提高,相对于传统的卷积神经网络,平均识别率提高了8.6个百分点,训练时间缩短了16 s,证明了该方法在光学薄膜缺陷识别中的优越性和可行性。

猜你喜欢

分类器预处理卷积
基于全卷积神经网络的猪背膘厚快速准确测定
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
干/湿法烘焙预处理对稻壳燃烧反应特性的影响
手术器械预处理在手术室的应用
学贯中西(6):阐述ML分类器的工作流程
基于图像处理与卷积神经网络的零件识别
污泥预处理-厌氧消化体系的能源经济性评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
污泥预处理及其在硅酸盐制品中的运用