时间:2024-07-28
翁卫兵,樊祉良,吴 坚,陈 灼
(浙江科技学院机械与能源工程学院,浙江 杭州 310012)
表面粗糙度对机械结构的装配质量、配合性质、工作性能、使用寿命都有很大的影响[1]。其检测在现代工业发展中扮演着重要角色。表面粗糙度的检测方法分为接触式和非接触式[2],非接触式检测方法主要有激光法、声发射法和机器视觉法。由于前两者成本高、应用条件苛刻,所以机器视觉检测法得到了广泛的研究。
国内外学者在使用机器视觉技术检测粗糙度的领域做了大量的研究。如:文献[3]基于灰度共生矩阵建立了粗糙度检测系统,并验证了该系统的可行性。文献[4]提取了车削表面的基于灰度共生矩阵的特征参数,结合BP神经网络(Back Propagation)构建了粗糙度检测模型。文献[5]通过获取磨削表面图像并做处理,采用L2正则化优化了BP神经网络,提高了检测效率。文献[6]提出一种基于彩色图像奇异值熵评价磨削表面粗糙度,利用线性回归实现了粗糙度检测。镀镍铜线圈为研究对象,如图1所示。在生产过程中需检测其表面粗糙度,在前人研究的基础上,结合对其特性分析,拟采用基于灰度共生矩阵的视觉检测方式。
图1 镀镍铜线圈图Fig.1 Nickel-Plated Copper Coil Diagram
上述视觉检测方式工作原理是:由工业相机、显微镜头、点光源等设备构成的硬件系统获取图像,利用图像处理技术与BP神经网络实现表面粗糙度的检测,原理,如图2所示。采用上述方式对线圈表面粗糙度进行了检测,发现准确度不能达到预期要求。经分析,主要原因有两点:(1)特征参数提取过程受外界环境、硬件设备等因素干扰;(2)BP神经网络在训练过程中陷入局部最优解。
图2 检测原理流程图Fig.2 Flow Chart of Detection Principle
BP神经网络的权值和阈值的更新原理是梯度下降法,所以BP神经网络在训练迭代过程中容易陷入局部最优解,前人为解决这种问题做了多方面的研究。
如:文献[7]使用了BP-LM 混合神经网络建立检测车削表面粗糙度模型。文献[8]使用遗传算法优化BP神经网络用做预测铣削加工钛合金工件的表面粗糙度。文献[9]使用了自适应粒子群优化前馈神经网络建立了检测切屑表面粗糙度的检测模型。文献[10]采用遗传算法优化BP神经网络来预测不锈钢干式车削表面粗糙度。文献[11]借助粒子群算法优化BP网络预测磨削工件表面粗糙度。
针对上述问题,现有研究多以启发式算法优化BP神经网络,但这些研究多数应用在通过切削、铣削等加工方式预测粗糙度值,应用在视觉检测粗糙度值的研究较少。模拟退火算法具有全局搜索能力强和收敛速度快等优点,能快速寻找到全局最优解[12],所以提出使用模拟退火算法优化BP神经网络的权值与阈值,建立SABP模型,以提高线圈表面粗糙度的检测准确度和稳定性。
图像采样硬件系统由AO-HD206工业相机、(0.4~4.5)X变焦显微镜头、白色LED点光源等设备构成,如图3所示。选取3根分别由40目、60目和100目的金刚砂处理过的镀镍铜线圈,随机在3根线圈的不同位置选取采样点并获取图像。
图3 图像采样硬件系统Fig.3 Image Sampling Hardware System
由于彩色图像所包含的信息过多,为了提高识别效率,首先将所获取的彩色图像转化为灰度图像。由于外界环境干扰,图像在获取的过程中会遭到一定污染,为准确地获取和分析研究对象的表面纹理信息,需要对图像进行降噪处理。
中值滤波属于非线性滤波方法,在平滑脉冲噪声处理方面非常有效,同时也可以保护图像的尖锐边缘,选择合适的点来代替被污染点的值,其处理效果良好,于是采用中值滤波算法对图像进行降噪滤波。由于线圈粗糙度值采用粗糙度检测仪测量,检测范围较小,为了让所获取的图像对粗糙度值更有表征作用,将图像做一定的裁剪,保留粗糙度仪检测到的中间部分。处理后图像,如图4所示。
图4 处理后的图像Fig.4 The Processed Image
灰度共生矩阵又称联合概率矩阵,是通过研究灰度的空间相关特性来描述纹理的常用方法[13]。在图像中取任意一点(x,y)及与该点组成对点的(x+a,y+b),设该对点所对应的灰度值为(g1,g2)。如果将图像的灰度值设为k,则(g1,g2)一共有k²种组合。在图片的整个区域,统计出所有的(g1,g2)出现的次数p(g1,g2),并排列成一个矩阵,于是就得到灰度共生矩阵p(g1,g2|θ,d),根据θ,d值的不同可得到多个灰度共生矩阵。
其表达式为:
式中:g1,g2=0,1,2,…,k-1;k—灰度级别;θ—生成方向;d—步长。
基于灰度共生矩阵的图像纹理描述参数主要有能量、对比度、相关性、熵四个特征参量,采用这四个特征参数来量化线圈的粗糙度值。其特征参数表达式分别为:
下列式中p(g1,g2)为方向θ和步长d确定的灰度共生矩阵。
2.3.1 能量
能量是灰度共生矩阵各个元素值的平方和,又称角二阶矩,它反映了纹理图像灰度均匀性,也是描述纹理粗细的一种指标。定义为:
2.3.2 对比度
对比度又称惯性矩,该值越大,图像纹理沟纹越深,反之,沟纹越浅。定义为:
2.3.3 相关性
相关性体现了图像中纹理区域在某种方向下的相似度,越相似值越大,反之值越小。定义为:
2.3.4 熵
熵是图像所具有信息量的度量,是一个随机性的度量。它表示了图像纹理的非均匀性和复杂程度[4]。值越大,共生矩阵中元素越分散。定义为:
灰度共生矩阵计算过程中会受到灰度级、步距和方向(0°、45°、90°和135°)的影响。为减少计算时间,将灰度级降至32。步长取值过大,会丢失纹理信息,于是将步长取为1。不同方向的灰度共生矩阵值相差较大,为了完整描述纹理特征,将这四个不同方向的特征参数取平均值与标准差值作为纹理特征。分别为:能量均值Q1、对比度均值Q2、相关性均值Q3、熵均值Q4、能量标准差Q5、对比度标准差Q6、相关性标准差Q7和熵标准差Q8。
在相同设备、拍摄环境、拍摄方式条件下,分别在三种线圈不同位置采集表面显微图像,图像一共120张,将每张图像做处理并提取其特征参数,使用粗糙度仪检测实际粗糙度值,同时为了降低粗糙度仪自身误差的影响,在同一个检测点测量3次取平均值,最后建立图像纹理特征参数与实际粗糙度值的数据库。分别在3种线圈中随机选取3组数据,如表1所示。将9组数据绘制成粗糙度值与其对应的特征参数关系图,如图5 所示。在数据库中,分别将3种线圈的粗糙度值与各特征参数取平均数,绘制粗糙度值均值与其对应的特征参数均值的关系图,如图6所示。
表1 9组线圈纹理特征参数与对应粗糙度值表(Ra/μm)Tab.1 Table of 9 Groups of Coil Texture Characteristic Parameters and Corresponding Roughness Values(Ra/μm)
图5 粗糙度值与其对应的特征参数关系图Fig.5 Relation Diagram of Roughness Values and Corresponding Characteristic Parameters
图6 粗糙度值均值与其对应的特征参数均值关系图Fig.6 Relation Diagram of Roughness Mean Value and Corresponding Characteristic Parameter Mean Value
由于对比度均值Q2过小,对比度标准差Q6过大,为了直观表达数据变化,在绘图时分别将这两个值放大10倍和缩小10倍。根据关系图,能量均值Q1、对比度均值、对比度标准差和相关性标准差随粗糙度增大呈下降趋势,相关性均值、熵均值、能量标准差和熵标准差随粗糙度增加呈上升趋势,由此可说明这8个特征参数与粗糙度具有正、负相关性,证明该数据库具有良好的网络学习性能。
在关系图5中,有些粗糙度值点呈反向变化趋势,但变化幅度较小,而且这些点的粗糙度值与上个点的粗糙度值很接近,造成该现象的原因分析如下:线圈有些位置不平整,导致显微镜头在不平整位置对焦不准,使图像产生一些模糊;粗糙度检测仪本身就存在一定范围的误差。
BP神经网络是一种最常用的以误差反向传播为基础的前向人工神经网络。它能够实现输入输出样本间隐含的任意复杂的非线性映射关系[14]。BP神经网络的主要结构为输入层、隐含层、输出层以及每层之间的权值、阈值。前人大量实验证明用一个3层的BP神经网络就可以完成一个从任意的n维输入层到m维输出层的映射[4]。所以使用三层的神经网络结构,如图7所示。
图7 神经网络结构图Fig.7 Neural Network Structure Diagram
在BP神经网络结构中,输入层的每个神经元为基于灰度共生矩阵纹理特征参数Q1~Q8,输出层为对应的粗糙度值。Wih为输入层到隐含层的权值,qh为每个隐含层神经元的阈值,Whj为隐含层到输出层的权值。
一般来说隐含层神经元个数与输入层神经元个数、输出层神经元个数相关[8]。通常采用经验公式来得出隐含层的神经元个数M。
式中:M—神经元个数(取整数);m—输出层神经元个数;n—输入层神经元个数;a—(0~10)的常数。
模拟退火算法是一种寻求全局最优解的算法,其基本思想是模拟固态物质在退火过程中内部分子运动状态。模拟退火算法的核心思想是在寻优阶段会以一定的概率接受劣解,从而达到跳出局部最优的目的,随着温度降低,劣解接受的概率也降低,最终得到全局最优解。
模拟退火算法步骤:
(1)定义初始温度T=T0。
(2)随机生成初始解Xn={W1,W2,…,Wi|q1,q2,…,qj},n—权值个数与阈值个数和,i—权值个数,j—阈值个数,W—权值,q—阈值。
(3)在当前解Xn附近随机扰动产生新解X'n,模型如下:
式中:μ—随机扰动赋值;α—服从正态分布概率密度的向量组。
(4)执行Metropolis接受准则,在某一温度状态下,若产生劣解,以概率P接受劣解;若产生更优解,直接接受。
式中:Obj—目标函数;K—玻尔兹曼常数。
(5)开始降温,Ti+1=Ti×k,k—降温系数。
(6)在温度Ti+1下重复(3)~(5)步骤,直到达到终止条件。
由于BP神经网络的初始权值与阈值对训练结果影响较大,较差的初始权值与阈值容易使网络陷入误差曲面的某个极小点,造成局部最优解。为了让BP神经网络得到最优的训练结果,需要得到最优的初始权值与阈值。因此,通过模拟退火算法优化BP神经网络,使其避免陷入局部最优解,得出最优的训练结果。SA-BP神经网络算法工作原理,如图8所示。
图8 SA-BP算法工作原理Fig.8 The Principle of The SA-BP Algorithm Works
采用数据库的数据作为BP神经网络的训练样本。模拟退火算法中的目标函数值为实际值与检测值的误差平方和,其公式模型为:
(1)初始化神经网络的权值、阈值Xn和模拟退火参数。
(2)第i+1步下根据式(11)扰动产生新解,再根据式(13)计算新解的目标函数值Obji+1。
(3)若新解为更优解,则接受新解,若新解为劣解,则根据Metropolis接受准则接受劣解。
(4)判断内循环是否达到终止条件,达到终止条件转至第(5)步,未达到转至第(2)步,继续迭代。
(5)温度降温,根据终止条件最低温度判断外循环是否结束,若结束,此时的为全局最优解,即最优初始权值与阈值。若未结束,则返回第(2)步。
(6)将由模拟退火算法优化好的初始权值与阈值赋值给神经网络进行网络训练。
为了验证SA-BP模型的有效性,将上述的数据库作为模型的训练样本,选取另外3根由相同金刚砂和喷砂设备处理过的线圈,建立起图像纹理特征参数与实际粗糙度值关系的数据库作为测试样本,数据库容量为9 组。使用MATLAB 软件编写SA-BP模型的主程序和子程序,为了保证网络的训练效果,把输入样本与输出样本通过函数Mapminmax进行归一化和反归一化。模拟退火算法的初始温度设为1000,终止温度为0.001,降温系数为0.96;根据式(9)BP神经网络的结构设为8-12-1,隐含层的激活函数为tansig函数,输出层激活函数为pureline函数,训练函数为trainlm,网络学习率为0.06,目标误差为0.000025,根据多次测试,网络的训练迭代次数均不超出100,所以最大训练次数设为1000。最后采用MATLAB软件进行仿真,使用BP模型与SA-BP模型对相同的样本进行训练与测试,训练过程,如图9所示。测试结果,如图10、表2所示。
表2 实验数据结果对比Tab.2 Comparison of Experimental Data and Results
图9 神经网络模型训练过程Fig.9 Neural Network Model Training Process
图10 SA-BP与BP测试结果对比图Fig.10 Comparison of SA-BP and BP Test Results
在图9中,横坐标为网络迭代次数,纵坐标为训练的均方误差(MSE),虚线为预设的误差精度(Goal),实曲线为误差精度随迭代变化过程。根据图9,BP模型在47代时得到最优解,MSE为0.000139,大于预设MSE,显然网络陷入了局部最优解;SA-BP模型有着更快的迭代速度,在25代得到最优解,MSE为0.000023,略低于预设MSE。在相同的训练条件下,SA-BP模型迭代次数比BP神经网络少,MSE比BP神经网络低,因此可证明SA-BP模型拥有更快的收敛速度,更容易得到全局最优解。
根据表2,采用BP神经网络模型检测结果为:测试样本的误差幅度最大为0.21μm,均方误差为0.0162,相对误差最大为9.42%,相对误差均值为5.41%;采用SA-BP神经网络模型检测结果为:测试样本的误差幅度最大为0.13μm,均方误差为0.0057,相对误差最大为6.40%,相对误差均值为3.45%。通过两种检测模型的结果数据对比可知,SA-BP模型要比BP模型拥有更高的检测准确性与稳定性。
以镀镍铜线圈为研究对象,采用基于灰度共生矩阵的视觉检测方式检测线圈的表面粗糙度。
(1)先通过硬件设备获取120组线圈的表面图像作为训练样本,再通过图像处理技术得到基于灰度共生矩阵的纹理特征参数,分别为能量、对比度、相关性与熵,取它们的均值与标准差构成8个特征参数,最后结合粗糙度检测仪检测出的实际粗糙度值建立起实验数据库,根据数据库与曲线图,可以看出基于灰度共生矩阵的纹理特征参数与线圈表面实际粗糙度值具有正负相关性,可证明该数据库具有良好的学习性能。
(2)通过分析BP神经网络的缺陷,提出了模拟退火算法优化优化神经网络的初始权值、阈值的方法,构建SA-BP神经网络检测模型,分别对SA-BP模型与BP模型进行训练,根据训练结果,SABP模型的训练MSE为0.000023,低于BP模型的0.000139,SA-BP模型不仅训练速度比BP模型快,而且可以获得更优训练结果。
(3)为了验证该模型的准确性,获取了9个样本作为测试集,检测结果表明:SA-BP模型的相对误差均值由BP模型的5.41%降到了3.45%,最大误差幅度由BP模型的0.21μm降到了0.13μm,均方误差由BP模型的0.0162降到了0.0057。根据结果可看出SA-BP模型检测精度与稳定性有显著提高,证明该模型具有更好的检测准确性与稳定性。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!