阳 武,李 倩,赵继生,高 强,余 萍
(华北电力大学 电气与电子工程学院,河北 保定071003)
在产品生产过程中,产品的质量是否合格需要安排专人进行检测,而相当一部分电子产品的检测问题往往是检测产品在某种条件下的动作状态是否正确。当检测员长期检测某产品的状态时,可能会因视觉疲劳而漏检,造成不合格产品进入下一个流程。利用计算机技术开发产品检测已有一些成果[1~3],而利用深度信念网络(deep belief network,DBN)技术进行产品检测具有更明显的优势。
深层的神经网络不仅可以实现自动特征学习,而且学习到的特征对数据具有更本质的刻画,且通过“逐层初始化”克服了在训练上的难度,因此,其受到了学术界和工业界的广泛研究,并成为当前的研究热点。其中,深度信念是应用比较广泛的一种模型。2008 年,Tijmen Tieleman 修正了CD 算法无法极大似然的缺陷,提出了PCD 算法[4]。2010~2012 年,许多研究者提出了基于回火的马尔科夫链蒙特卡罗采样(MCMC)的深度信念网络改进算法[5,6],进而提升深度信念网络的学习效果。到目前为止,深度神经网路现已成功应用到了语音识别领域[7],手写字体识别[8]、人脸识别[9]、遥感图像分类[10]和垃圾邮件过滤[11]等图像处理领域中,大大提高了识别精度。
本文利用视频检测系统进行图像采集,针对名为故障指示器的电子产品的动作状态检测问题进行了研究,通过建立视频采集系统获取图像,应用深度信念网络技术进行识别,获得了良好的效果。
深度信念网络是一种概率生成模型,由多层受限玻耳兹曼机(restricted Boltzmann machine,RBM)单元组成,结构如图1 所示。
图1 深度信念网络的结构图Fig 1 Structure diagram of DBN
一个典型的RBM 子模块结构图是由可视层和隐含层两层神经元构成的,每层有若干个节点,层内节点无连接,不同层之间的节点依靠权值系数矩阵来连接。各层之间的权重值是采用无监督的贪心算法获取的。
RBM 是一种能量模型,其可视层和隐含层的联合组态能量表示为
式中 θ=(W,a,b),为RBM 模型中的三个参数;wij为可视层节点i 与隐含层节点j 之间的连接权重值;ai,bj分别是可视层、隐含层的偏置值。对应于可视层神经元和隐含层神经元的相应映射概率分布为
式中 σ 为Sigmoid 函数。RBM 采用迭代的方式进行训练,训练的目标在于学习出参数θ=(W,a,b)的值,以拟合给定的训练数据。参数θ 可以通过最大化对数似然函数得到,最大化似然函数常用的数值方法是梯度上升。参数θ=(W,a,b)的迭代公式为
其中,η 为预训练的学习率。采用Hinton 提出的对比散度(CD)算法对重构数据进行近似拟采样,可得各参数的更新规则为
其中,〈·〉data为训练样本集所定义的分布之上的数学期望;〈·〉recon为重构后的模型所定义的分布上的期望。
通过式(5)~式(7)这样一个非监督的预训练过程就可以将一个RBM 调整到合适的初始值,然后再将多个RBM自底向上组合建立深度信念网络模型,最后通过使交叉熵最小,采用BP 算法对整个网络进行监督式学习,最终建立深度信念网络。
具体过程归纳为两步:
1)无监督预训练:参照RBM 模型基于CD-k 的快速学习算法,根据系统能量最小逐层地训练每个RBM 来获得可视层节点和隐含层节点间的权值。
2)有监督微调:深度信念网络模型利用带标签的数据用误差反向传播(BP)算法对判别性能进行优化调整。
本文基于深度信念网络,对产品进行检测。对故障指示器的视频图像进行预处理之后,通过第1 章描述的深度信念网络算法进行训练网络。训练算法包含两个阶段:第一步是使用无标签训练集来训练多个RBM;第二步从预训练得到的权值开始使用反向传播微调深度网络。
为了获得故障指示器的视频图像,首先建立了图像采集系统,如图2 所示。
图2 图像采集系统图Fig 2 Image acquisition system
图2 中,摄像头阵列是通过合理安排镜头,可以对检测台上的所有待检产品进行拍摄图像,以便对每一个产品都能进行检测。通过矩阵切换器将图像分别送入服务器中进行处理。
测试台:待测产品连接到测试台上,按规则摆放,以便获取合适的图像。
后台服务器:接收、存储和处理图像,并显示检测结果。
将同一个摄像头拍摄到的多个故障指示器的视频图像,通过分割得到多个单故障指示器的图像,将其作为训练集和测试集。
对于分类任务,最高层的神经元个数等于目标类别个数。每一个神经元分别对应一个类别标签。为了实现故障指示器分类,设置最后BP 网络输出层包含两个神经元,输入层神经元个数设置为预处理后得到故障指示器图像的大小,并设置合适的隐含层层数和每层隐含层的神经元个数。
经过RBM 的无监督预训练和BP 的有监督微调,所有的网络权值达到了最小训练误差。如图3,将测试集预处理得到的图像转换为一维向量,输入到训练好的深度信念网络中,从而得到分类结果。
图3 故障指示器的状态分类Fig 3 State classification of fault indicator
对故障指示器进行状态分类的算法流程如图4 所示。
图4 故障指示器图像状态分类算法流程Fig 4 Flow chart of image state classification algorithm of fault indicator
图4 中,首先从摄像头获取视频流信息,再经过单帧图像抽取获得视频图像;将同一镜头获取的多个故障指示器图像进行分割,取出单个的故障指示器图像进行图像预处理,主要是把图像变成同样大小的图像,最后将其送入已经训练好的深度信念网络进行分类。
本实验中选取的故障指示器视频图像包括两种:一种是摄像头斜下方监视7 个故障指示器;另外一种是摄像头正下方监视3 个故障指示器,从视频中截取的帧图像如图5所示。
由图5 知,实验所用到的故障指示器包括两种状态,一种是正常状态,一种是翻转状态。将图5 中的故障指示器分割成单个故障指示器,得到训练集和测试集。本实验中随机选取400 张图像作为训练集,80 张图像作为测试集,且训练集和测试集没有交叉。故障指示器的样图如图6。
图6 故障指示器的状态样图Fig 6 State sample images of fault indicator
为了评价DBN 在故障指示器检测应用中的性能,与常用的BP 神经网络[12]和SVM 算法进行了比较。实验结果比较如表1 所示。
实验结果表明:该系统对故障指示器的两种状态(正常状态和翻转状态)的正确识别率可以达到100%,且效果明显优于BP 神经网络和SVM 算法。深度信念网络分类算法可以用来解决实践中的故障指示器等产品检测的问题。
表1 算法性能对比Tab 1 Performance comparison of three algorithms
本文结合深度信念网络,提出了基于深度信念网络的分类方法,并将其应用在产品状态分类中,该产品名为故障指示器,具有两种状态即正常状态和翻转状态。实验结果表明:深度信念网络的分类方法在故障指示器检测中有较好的表现,识别精度高,可以代替人工检测产品。
[1] 罗小宾,殷国富,陈 珂,等.基于计算机视觉的产品自动检测系统的研究[J].计算机工程与应用,2004(3):201-202.
[2] 张 杨,孙国栋,梁永强,等.电子插接件视觉检测中次品自动剔除装置设计[J].制造业自动化,2014,36(21):118-121.
[3] 侯海燕.基于模板匹配的机器视觉话机检测系统[J].现代计算机,2013(30):63-65.
[4] Hinton G E,Osindero S,Teh Y W.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[5] Tijmen Tieleman.Training restricted Boltzmann machines using approximations to the likelihood gradient[C]∥Proceedings of the 25th International Conference on Machine Learning,Canada:ICML,2008:1064-1071.
[6] Salakhutdinov Ruslan.Learning deep Boltzmann machines using adaptive MCMC[C]∥Proceedings of the 27th International Conference on Machine Learning(ICML),USA,2010:943-950.
[7] 陈 硕.深度学习神经网络在语音识别中的应用研究[D].广州:华南理工大学,2013.
[8] Ji Nannan,Zhang Jiangshe,Zhang Chunxia.A sparse-response deep belief network based on rate distortion theory[J].Pattern Recognition,2014,47(9):3179-3191.
[9] Lin Miaozhen,Fan Xin.Low resolution face recognition with pose variations using deep belief networks[C]∥2011 4th International Congress on Image and Signal Processing,Shanghai,2011.
[10]吕 启,窦 勇,牛 新,等.基于DBN 模型的遥感图像分类[J].计算机研究与发展,2014,51(9):1911-1918.
[11]孙劲光,蒋金叶,孟祥福,等.深度置信网络在垃圾邮件过滤中的应用[J].计算机应用,2014,34(4):1122-1125.
[12]周 英,尹邦德,任 玲,等.基于BP 神经网络的电网短期负荷预测模型研究[J].电测与仪表,2011(2):68-71.