APP下载

BP神经网络在玻璃缺陷识别中的应用

2019-06-09吉祥戴曙光

软件导刊 2019年4期
关键词:BP神经网络

吉祥 戴曙光

摘 要:在玻璃缺陷识别系统中,利用BP神经网络基本原理结合特征参数设计BP神经网络结构。为了更准确地识别玻璃表面缺陷,在传统BP神经网络算法基础上,提出加入动量因子、引入陡度因子以及调节学习效率的方法,并进行对比试验。仿真结果表明,3种方法均可提高缺陷识别率,但只有引入陡度因子的方法可使最优误差与期望误差最为接近,能够更好地改善网络收敛性。

关键词:缺陷识别;BP神经网络;动量因子;陡度因子;自适应学习效率

DOI:10. 11907/rjdk. 182269

中图分类号:TP319文献标识码:A文章编号:1672-7800(2019)004-0137-04

0 引言

随着制造业的快速发展,人们对玻璃质量的要求也越来越高,但在其生产中仍经常会出现缺陷。缺陷首先会影响玻璃外观,其次会影响玻璃内在性能,使玻璃在使用中存在损坏的可能[1]。目前,玻璃缺陷检测方法主要分为人工抽检、激光检测与机器视觉检测。由于机器视觉检测具有分辨识别能力强、精度高、环境适应性强且可以连续工作等优点,因此得到了广泛应用。德国INNOMESS公司基于莫尔条纹干涉原理设计了一款玻璃缺陷在线检测系统,不仅能够有效检测玻璃缺陷并将其分类,还能根据莫尔条纹检测出玻璃的光学畸变[2]。但从国外引进设备存在造价昂贵、不易进行现场调试等缺点,因此徐州工程学院的陈通等[3]提出采用超声探伤法对玻璃进行检测,从而有效改善了国内检测技术的不足,打破了国外的技术垄断。但目前国内大部分研究者采用的方法都未能有效解决检测识别率低等问题,且试验过程中依然存在环境干扰。为进一步提高检测精度,本文对BP神经网络在玻璃缺陷识别中的应用进行研究,并针对其误差较大的问题,提出加入动量因子、引入陡度因子以及自适应学习效率的方法。最后通过对均方误差曲线的对比分析,可看出只有引入陡度因子的方法能使最优误差与期望误差最为接近,且误差曲线下降平稳,未出现较大抖动。通过对样本的仿真分析,最终确定算法精度可达88%。

1 BP神经网络概述

神经网络的特点在于其通过模拟人脑神经网络,在前向训练过程中建立起学习记忆,再将输出误差反馈到输入中,不断调节神经网络连接方式,使得输出满足要求。

1.1 BP神经网络基本原理

BP神经网络中用人工神经元模拟人脑中的神经細胞[4],人工神经元的多个输入模拟神经细胞树突,用来接受信息;输出端模拟神经细胞轴突,用于将输出信息通过神经末梢传递给其它神经元[5];连接方式模拟神经细胞之间的神经末梢。其中每个神经元都有自己的阈值,只有当输入数据累积计算超过阈值时,才会将累积结果的影响传递给下一个神经元[6],如图1所示。

1.2 BP神经网络学习过程

如图2所示,典型BP神经网络分为输入层、隐含层与输出层。其中输入层负责接收外部数据,输出层输出数据结果,而隐含层通过反馈误差不断调节连接权值,使最终输出结果满足要求[7]。对隐含层层数的选择并无规律可循,多数情况下层数为1,若层数过多,虽然可以降低网络误差,但也会带来网络复杂化以及训练时间较长等问题[8]。

在图2中,i为输入层节点,k为输出层节点,j为隐含层节点,权值[wij]用于调节各层之间连接。BP神经网络识别主要分为前向传播和反向传播。前向传播是指将输入数据传播到系统中,然后通过输入层与隐含层之间权值计算输入隐含层的加权和,通过激活函数进行输出,并传输到输出层[9];反向传播是指误差信号的反向传播,可调整连接权值[wij]。

由式(17)可知反向传播训练规则,将输出误差反馈到输入节点,根据训练规则不断调整权值,从而使均方误差最小,且实际输出与预期结果最为接近。

2 BP神经网络设计

虽然目前针对BP神经网络已进行了较多理论研究,但对其设计过程尚未形成一套知识体系,只能依靠前人经验及使用者实际需要设计网络结构,从而求得更精确的解。

2.1 初始参数设定

(1)输入数据初始化。神经网络设计第一步是将输入数据进行标准化处理,使输入数据存在一定可比性,适合进行综合对比评价。主要包括以下几种方式:最大-最小标准化、Z-score标准法、函数转化[10]。Z-score标准化适用于输入数据最值未知,或其取值超过规定范围的情况,主要是基于输入数据平均值与标准差进行的数据归一化[11]。

(2)BP网络结构构建。BP神经网络构建首先需要确定网络层数[12],以及神经网络输入层与隐含层节点数。输入层节点数是玻璃缺陷图像经特征提取后的特征值个数,如特征分别是气泡、粘锡、结石、划痕,输入层节点数目则为4;隐含层随着层数增多,结构变得更加复杂,用于隐含层计算消耗的时间也不断增多[13]。隐含层节点数对网络训练性能会产生一定影响,对于不同应用场景,其节点数选取也不同。当节点数过少时,不能完全体现样本数据规律[14],因此有经验公式为:

(3)网络连接初始权值。神经网络在学习训练时,若初始权值过大,会使神经元接收的网络加权和较大,落入S型激活函数饱和区,S型函数导数在该点取值很小,导致训练速度下降很慢。为了使经初始加权计算后的神经元接收的网络加权和接近0,故一般初始连接权值[wji]和[wkj]取(-1,1)中的随机数[15]

(4)期望误差。期望误差作为评判神经网络学习是否结束的标志,用[E]表示,由网络收敛速度及学习精度确定,其数学表达式如式(20)所示。

(5)学习效率。由式(17)可知,学习效率[η]对每一次反向传播中的步长作出相应调整,学习效率决定每一次反向传播迭代中的权值变化量,原步长数学表达式为:

直接使用原步长[l]对权值进行反向调整,会使目标函数下降较快,从而对最优权值搜索不仔细,故使用学习效率[η]对原步长l进行调节。学习效率[η]的确定采用以下公式:

2.2 BP神经网络算法改进

(1)引入动量因子。标准BP算法在反向传播过程中,权值调整没有考虑到t时刻之前误差函数梯度的调整方向,所以在训练过程中会出现振荡[16]。为了提高训练速度,在权值调整时引入动量因子。动量因子与t时刻之前权值调整向量的乘积称为动量项,权值调整表达式为:

(2)引入陡度因子。当误差函数处于误差曲面平坦区时,即使权值调整变化较大,其误差函数下降依旧缓慢,因为此时误差函数梯度对权值变化不敏感;当误差函数处于坡度较大区域时,对权值变化则较为敏感,即使权值变化很小,也能使误差迅速下降[17]。因此,提出引入陡度因子的改进方法,当误差函数进入平坦区时,通过式(24)所示的函数形式压缩节点输入,使误差函数退出误差曲面平坦区,其表达式为:

(3)调节学习效率。BP算法学习结束的标志是实际误差达到期望值,算法收敛速度的标志是能否用较少的迭代次数使实际误差满足期望误差要求。学习效率调整只与网络总误差有关,选择合适的学习效率能够减少不必要的迭代次数,提高算法速度[19]。在误差变化平缓的区域,若[η]较小,将使网络训练次数增加,且收敛慢,很难脱离平坦区域,而在误差变化剧烈、曲面坡度较大的区域,若[η]较大,则会使权值调整过量,导致权值来回调整,训练出现振荡。为提高网络收敛性、加快学习速度,提出基于误差均值方差的学习效率自适应调节方法,该方法表达式为:

3 玻璃缺陷类型识别及结果分析

在BP神经网络分类器初始参数设定之后,确定系统识别缺陷的种类分别是划痕、气泡、结石、粘锡,4种类别各取30幅图像,共选取120幅缺陷玻璃图像作为BP神经网络训练的原始图像,并在训练中分别通过加入动量因子、自适应调节学习效率、引入陡度因子3种改进措施提高识别率。算法均方误差曲线如图3所示。

在图3中,横坐标表示迭代次数,纵坐标表示均方误差,上方实线表示均方误差性能,中间虚线表示在训练过程中的最优均方误差,最下方点画线表示期望均方误差。

由图3(a)-图3(d)比较可知,当迭代次数在500次时,只有引入陡度因子的方法可使最优误差与期望误差最为接近,且误差曲线下降平稳,未出现较大抖动,从而进一步验证了神经网络分类的准确性。应用函数sim对样本进行仿真分析,采用竞争输出的方式,即神经网络节点互相竞争,用4个输出节点中的最大值确定胜利者,确定胜者为1,其余为0。若输出结果与相应目标输出相同,则判断为目标缺陷。部分输出数据如表1所示。

将表1所有数据结果进行分类统计,统计结果如表2所示。经分析可知,玻璃缺陷的识别率为88%,分类基本准确,但某些测试样本判断错误。导致该现象的原因可能是缺陷形状不确定,以及前期图像预处理与特征提取造成了特征信息损失,从而引起误判,降低了识别率,因此需要对图像处理算法作进一步改进。

4 结语

本文在经典BP神经网络基础上引入自适应调节学习效率、陡度因子、动量因子3种改进算法,并进行对比实验。由误差性能曲线分析得出,引入陡度因子的方法可使均方误差与期望均方误差最为接近,网络收敛性最快且识别率最高。通过样本玻璃的实验分析,结果表明,系统缺陷识别率可达88%。然而该实验是在实验室而非生产环境中进行的,下一步需要转移工作环境。另外,当前系统识别率只有88%,虽然能够基本準确识别出缺陷种类,但识别种类较少,还需对分类算法进行不断优化。

参考文献:

[1] 王飞. 基于机器视觉的玻璃质量在线检测系统研究[D]. 洛阳:河南科技大学,2010.

[2] 刘怀广,陈幼平. 浮法玻璃缺陷在线识别技术的研究[J]. 小型微型计算机系统,2011,6(4):738-742.

[3] 陈通,石端虎,王辉,等. 基于虚拟仪器的玻璃微裂纹监控系统的应用研究[J]. 电子设计工程,2013,21(24):184-186.

[4] WEI G,MA S. Implicit and explicit camera calibration:theory and experiments[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1994, 16(5): 469-480.

[5] STRATHY N W,SAID F,SUEN C Y. A Sequential method of extracting contour chains from an image[J]. IEEE Pattern Recognition,1994,2:580-582.

[6] EAM K T,DINESH P M. A transputer-based automated visual inspection system for electronic devices and PCBs[J]. Optics and Lasers in Engineering,1995,12(8):161-180.

[7] FRANCESCO ADAMO,FILIPPO ATTIVISSIMO,ATTILIO DI NISIO,et al. An online defects inspection system for satin glass based on machine vision[C].International Instrumentation and Measurement Technology Conference,2009.

[8] 王建双. 基于小波神经网络控制器设计与研究[D]. 哈尔滨:哈尔滨理工大学,2009.

[9] PENG X,CHEN Y,YU W,et al. An online defects inspection method for float glass fabrication based on machine vision[J]. The International Journal of Advanced Manufacturing Technology,2008,39:1180-1189.

[10] 喻宾扬,王召巴. 玻璃缺陷检测新方法的研究[J]. 传感器与微系统,2008(8):60-62.

[11] 王丽亚. 图像的特征提取和分类[D]. 西安:西安电子科技大学,2006.

[12] 李玉鉴. 前馈神经网络中隐层神经元数目的一种直接估计方法[J]. 计算机学报,1999,22(11):1204-1208.

[13] 董长虹. MATLAB神经网络与应用[M]. 北京:国防工业出版社,2005.

[14] 冯超. 基于DSP的图像识别算法研究[D]. 天津:天津大学,2007.

[15] 史春朝. BP神经网络算法的改进及其在PID控制中的应用研究[D]. 天津:天津大学,2006.

[16] 王智文,刘美玲,黄秋凤. 基于改进BP神经网络车型识别的研究[J]. 广西工学院学报,2008,19(3):23-26.

[17] 吴仕勇. 基于数值计算方法的BP神经网络及遗传算法的优化研究[D]. 广州:华南师范大学,2006.

[18] 徐月美,张虹,姜薇. 改进BP算法的研究及应用[J]. 微计算机信息,2009,25(8):170-173.

[19] LIU YISHU,YANG LIHUA,SUN QIAN. Contour-based moment invariants and their application to the recognition of object shapes[J]. Journal of Image and Graphics,2004,9(3):308-313.

[20] 袁红春,熊范纶,淮晓永. 一种估计前馈神经网络中隐层神经元数目的新方法[J]. 小型微型计算机系统,2003,24(4):657-660.

(责任编辑:黄 健)

猜你喜欢

BP神经网络
基于神经网络的北京市房价预测研究
提高BP神经网络学习速率的算法研究