基于人工神经网络的钢材表面缺陷快速识别技术研究

时间:2022-10-05 01:03:01

基于人工神经网络的钢材表面缺陷快速识别技术研究

摘要

本文利用人工神经网络的钢材表面缺陷快速识别系统以及BP神经网络的缺陷检测和分类的方法,实现钢材表面疵病的准确检测与分类。选用Matlab作为系统软件工具,以BP神经网络作为其缺陷检测的计算方法,实现冷轧带钢表面缺陷检测技术的软件方案设计,完成BP神经网络在钢材表面缺陷检测的应用研究,满足带钢生产线的表面缺陷检测要求。

关键词:缺陷检测;人工神经网络;BP神经网络

中图分类号:TN711 文献标识码:A 文章编号:

冷轧带钢已成为汽车生产、机械制造、化工、航空航天、造船等工业不可缺少的原材料,在国民经济中占据重要地位。而钢材表面缺陷是影响带钢质量的重要因素,因此,表面缺陷的识别检测对提高带钢的质量具有十分重要的意义。

本文根据钢材表面的缺陷情况,研究需要系统识别的常见钢材表面缺陷类型,结合表面缺陷检测系统的主要技术要求,提出基于人工神经网络的钢材表面缺陷识别系统的总体方案。利用计算机和图像采集设备,使软件和硬件协同配合,实现图像信息的实时采集及处理,为BP神经网络的训练学习建立钢材表面缺陷数据库,通过训练可以实时自动识别钢材表面存在的缺陷。

1BP神经网络的基本原理

BP(Back Propagation)神经网络是一种神经网络学习算法,全称基于误差反向传播算法的人工神经网络。它是目前研究最多、应用最广泛的神经网络模型之一【1】。BP网络是一种多层前向反馈神经网络,把样本的输入输出变成一个非线性优化问题,使用了最优化中最普遍的梯度下降算法,用迭代运算求解权值,它可以实现从输入到输出的任意连续的非线性映射。BP网络主要用于函数逼近、模式识别、数据压缩等。BP神经网络由输入层、隐含层和输出层三部分组成,其结构如图1所示。

图1BP神经网络结构示意图

Fig. 1 The BP neural network structure diagram

BP神经网络在具体工作之前必须通过学习获得一定的“智能”,才可以在实际的应用中取得良好的效果。其学习由四个过程组成:

第一是输入向量由输入层经隐含层向输出层的“正向传播”过程;

第二是网络实际输出与网络的希望输出之间的误差信号由输出层经隐含层向输入层逐层修正连接权值的“误差反向传播”过程;

第三是由“正向传播”与“误差反向传播”的反复交替进行的网络“记忆训练”过程;

第四是网络的全局误差趋向极小值的“学习收敛”过程。

2BP算法在钢材表面缺陷识别的具体实现

为了使用BP神经网络实现钢材表面缺陷检测方法研究,首先需要对钢材图像进行预处理,去除图像噪声,并进行图像增强处理,保留图像重要信息;然后,从样本图像中选择部分有缺陷的图像,进行样本图像分割,分割成适合网络训练的特征图像,并将分割结果分类为正常图像和缺陷图像样本集合;再使用各种图像特征提取方法分别提取出正常图像和缺陷图像的特征值,构成BP神经网络训练集合;再将训练集合输入BP网络训练器中,按照设定参数,设置选定精度,进行网络权值训练,得到所需的分类器;最后将测试样本输入分类器中,实现最终的缺陷分类识别。

系统选用Matlab作为系统软件工具。Matlab中专门编制了大量有关BP网络的工具函数,为BP网络的应用研究提供了强有力的便利工具【2】。BP网络的设计过程如下:

(1)输入训练样本

缺陷的出现会破坏其所在区域灰度值的排布规律,基于此先从带缺陷图像的缺陷区域截取图像,再从无缺陷的图像中截取相同大小的图像,然后从这些图像中提取特征向量【3】。对特征向量X进行归一化,再进行主分量分析进行降维处理,最后把处理后的特征向量的每一列作为一个样本输入神经网络。

(2)初始化网络

采用initff函数初始化网络。在建立网络对象的同时,自动调用初始化函数,根据缺省的参数对网络的连接权值和阈值进行初始化。initff函数格式:

[w1,b1,w2,b2]=initff(p,s1,f1,s2,f2)(1)

式中:w1表示隐含层神经元与输入层神经元之间的连接权重系数矩阵;

w2表示输出层神经元与隐含层神经元之间的连接权重系数矩阵;

b1、b2表示隐含层和输出层神经元的阈值矩阵;

p表示输入样本矩阵;

s1、s2表示隐含层和输出层神经元个数;

f1、f2表示隐含层和输出层激活函数形式。

运行initff函数,系统能自动根据给定的p,s1,f1,s2,f2的值对w1,b1,w2,b2赋予一个初始值。

(3)训练网络

采用trainbp函数训练网络。用基本梯度下降法训练网络函数进行BP网络训练,获取最终的权值与阈值矩阵。trainbp函数格式:

[w1,b1,w2,b2,te,tr]=trainbp(w1,b1,f1,w2,b2,f2,p,t,tp)(2)

式中:t表示输出样本矩阵;

te为网络的实际训练步数;

tr为训练过程中的误差平方和;

tp为网络训练参数。

选择训练参数tp进行训练,tp=[df,me,err,lr]

式中:df是指定两次更新显示间的训练次数;

me是指定训练的最大次数;

err是误差平方和指标;

lr是指定学习速率,即权值和阈值更新的比例。

trainbp函数以w1,w2,b1,b2的初始值和给定的f1,f2,p,t,tp开始训练,使当输入n时,网络的输出为目标矢量t。当训练过程中误差平方和小于等于目标误差平方和或者训练步数到达给定的最大步数时,停止训练。此时的w1,w2,b1,b2的值就是已训练好的网络参数。

(4)网络仿真

采用simuff函数对网络进行仿真。在网络训练前后分别进行输入输出的仿真,以做比较,从而对网络进行修改评价。simuff函数格式:

a=simuff(p,w1,b1,f1,w2,b2,f2) (3)

式中:a表示训练好的BP网络的实际输出;

w1、w2、b1、b2 是训练好的网络参数;

p、f1、f2 与(1)式相同。

网络训练后,形成稳定的权值和阈值,使网络输入和网络输出形成了较好的映射,从而可以对其他输入样本进行输出参数的预测。

3实际应用情况

从现场采集冷轧带钢样本,并对这些样本中的缺陷进行标定。将测试样本图像输入神经网络检测缺陷区域,得到每类样本的缺陷区域。将所有原始训练样本、测试样本图像,按照前面的预处理方法进行预处理,然后按照同样的分割方式进行分割,提取出样本块的特征信息,构成一序列的向量,输入已经训练完成的分类器,进行缺陷识别,检测出样本的缺陷区域。

经工业现场实践表明,经过训练的BP神经网络分类器对表面缺陷的识别分类较好,基本上能够满足带钢表面缺陷的分类识别要求。但是,神经网络技术也存在训练过程缓慢、需要大量的训练数据、对其决策过程无法得到透彻理解、参数的设计无规律可循等缺点。

事实上,基于BP网络的分类器只能识别BP网络已知的模式类别。如果出现了新的模式类别,分类器就不能正确地识别,只能再次对分类器进行训练,也就是说分类器没有自学功能。因此,在优化BP神经网络参数的基础上,我们可以考虑将现在已经构建的BP神经网络模型的分类器,分解成两步来实现表面缺陷的分类,即首先构建神经网络来对把缺陷和非缺陷识别分类开来,然后再对缺陷进行分类,以期提高分类识别的准确率。我们还需要研究基于其它神经网络模型的分类器,利用各自的长处,实现分类器的融合,并使分类器具有自学的功能,对新出现的缺陷能够记忆识别的功能,更好的满足工业现场的要求。

参考文献

[1]王婷,江文辉,肖南峰.基于改进BP神经网络的数字识别.电子设计工程.2011,19(3):108-112.

[2]刘浩,白振兴.BP网络的Matlab实现及应用研究.现代电子技术.2006,(2): 49-54.

[3]王耀南,李树涛,毛建旭.计算机图像处理与识别技术.北京:高等教育出版社,2001.

上一篇:水文地质工程勘察中的问题及措施探究 下一篇:浅谈通信管道工程施工技术