宋乾坤,周孟然
1.安徽理工大学 人工智能学院,安徽 淮南 232001 2.安徽理工大学 电气与信息工程学院,安徽 淮南 232001
随着智能制造时代的到来,机械设备在生产领域中扮演着重要的角色,滚动轴承作为绝大多数机械设备必不可少的零件,它的故障与否,时刻关系着机械设备的正常运行,对生产经济以及安全方面均产生着巨大的影响。因此,若能准确及时地检测识别轴承的状态,对于机械设备的正常运行至关重要。
针对滚动轴承故障诊断的理论研究从未间断过,国内外学者提出了各种理论方案用于轴承的故障诊断。陈刚等[1]通过将轴承信号进行经验模态分解(EMD)对得到的本征模态函数(IMF)分量作包络分析,再根据包络谱的故障特征频率判断滚动轴承故障类型;杨宇等[2]采用双树复小波包变换对滚动轴承的振动信号进行分解和重构,再通过支持向量机(SVM)进行故障诊断;ALI等[3]利用经验模态分解(EMD)对振动信号处理,然后通过神经网络完成轴承的故障诊断。除此之外,BP网络、人工神经网络(ANN)等机器学习算法也被广泛应用于轴承故障诊断中。这些方法在轴承故障诊断准确率上均取得了不错的效果(90%以上),但存在着分类类别少、应对数据量较大引起的特征提取过度依赖人工以及不同振动信号适应性低的问题。近年来,随着深度学习的快速发展,一些新的理论方法被不断地提出并取得了广泛的应用。Shao 等[4]针对滚动轴承的故障诊断采用了压缩感知方法结合卷积深度置信网络(CDBN);薛妍等[5]以轴承原始振动信号为输入,利用一维卷积神经网络(1D-CNN)自适应学习特征和分类;Udmale等[6]对滚动轴承振动信号通过谱峭度图包含的时频能量特性进行编码,再将特征图输入卷积神经网络中完成故障分类;丁承君等[7]通过变分模态分解(VMD)与深度卷积神经网络相结合的方法实现故障分类。相比于传统故障诊断方法,基于深度学习的新方法在应对数据量较大引起的特征提取过度依赖于人工以及不同振动信号适应性低等方面都有了较大的改善,但在检测准确率、模型训练收敛速度以及混杂了噪声的轴承振动信号的检测上仍有着较大提升空间。
卷积神经网络作为一种能有效进行图片特征提取与分类的方法,已经成为当下故障诊断中的研究热点。针对滚动轴承故障样本不足造成的训练收敛速度慢、训练出的模型性能不稳定的问题,本文提出采用连续小波变换获取振动数据时频图,再对时频图进行垂直方向随机裁剪的方法用于数据集的扩充,然后将扩充的数据集输入搭建的卷积神经网络中,最终实现滚动轴承的故障分类检测,还加入了常规构建数据集的方法用于对比。为了验证所搭建的卷积神经网络性能,使用不同的图像编码方式处理数据,构建数据集导入网络中进行测试。另外对原始数据加入6 dB高斯白噪声,采用常规方法构建数据集测试所提轴承故障诊断模型的抗噪性能。本文数据处理与实验均基于Windows10系统下的python和pytorch完成。
存在不同故障类型的滚动轴承转动时所产生的振动频率是不同的,因此针对滚动轴承的故障诊断主要是对其转动时的振动频率进行判别。卷积神经网络针对二维图片信息的提取与分类,一维振动数据的处理也就成为滚动轴承故障诊断的首要任务,本研究采用连续小波变换进行一维振动数据的处理。
小波变换是一个平方可积函数f(t)与一个时频域上具有良好局部性质的小波函数ψ(t)的内积,将任意L2(R)空间中的函数f(t)在小波基下展开,称这种展开为函数f(t)的连续小波变换(CWT):
(1)
式(1)中,b为位移因子;*表示复数共轭;ψa,b(t)为
(2)
它是母小波经ψ(t)位移和伸缩所产生的函数,称为小波基函数。
连续小波变换可以在不同的频率范围、不同的时间(空间)位置对信号进行各种分析,通过这种多分辨率分析,在高频信号中获得一个好的时间分辨率和较差的频率分辨率,低频信号中获得较好的频率分辨率和较高的时间分辨率 ,明显解决了傅里叶变换应用于非平稳信号的弊端。小波变换提供了信号的时频混合表示,在众多的领域都有着非常高效的用途。对于轴承的振动数据就可以采用连续小波变换将一维振动时域信号转化为二维时频图,用于卷积神经网络模型的训练与测试。
研究采用美国凯斯西储大学公开的轴承数据集,选用1 797 r/min的转速电机,12 KHz驱动端收集的振动数据。该数据集包含了轴承发生内圈、外圈和滚动体故障时振动的数据,每个部位的故障又含有3种故障直径:7密尔、14密尔和21密尔,这样就组成了9种故障类型以及正常类型总共10种类型。其中9种故障类型数据大小分别为120 000~130 000个数据点不等,正常类型有240 000个数据点。
方式1 每次取凯斯西储大学轴承一维振动数据400个数据点经过连续小波变换生成400×400的时频图共3 000张,每个类别300张,再将图片进行归一化处理,按4∶1进行随机划分数据集,最后进行256×256的尺寸大小调整,获得训练集2 400张和测试集600张。这是一种比较常规的构建数据集的方法。
方式2 为了对数据库进行扩充,提出了对连续小波变换后的时频图进行垂直方向上随机裁剪方法。具体方法如下:
每次取轴承一维振动600个数据点经过连续小波变换生成600×400的时频图共2 000张,每个类别200张,再将图片进行归一化处理,按4∶1进行随机划分数据集(为了避免训练集与测试集有重叠造成测试准确率偏高,故而在扩充前进行划分),训练集1 600张,测试集400张;接着进行数据库的扩充,针对数据库中的每张图,采取400×400的垂直方向上随机裁剪3次,裁剪后的图片在垂直方向上的分辨率与原时频图保持一致,避免了信息的失真;对经过裁剪后的图片最后进行256×256的尺寸大小调整,最终扩充后的数据库共有6 000张图片,包含训练集4 800张和测试集1 200张。数据处理过程见图1。
图1 数据处理方式2Fig.1 Data processing with method two
其步骤可总结如下:振动信号经连续小波变换生成时频图;将图片进行归一化处理;按4∶1进行随机划分数据集;对数据集中的各个图片进行3次垂直方向上的随机裁剪;尺寸大小调整。
方式1与方式2处理后的每个二维图片都含有原始振动数据400个点,相比之下,方式2处理后的数据集比方式1扩大了一倍。
轴承振动数据经方式1处理,将构建好的数据集导入到以LeNet-5为基础的卷积神经网络中,Batch size设为16,通过卷积神经网络的训练测试结果,调整模型框架以及相应的超参数,直至测试准确率达到较高水平(99%以上)。整体流程见图2。
图2 卷积神经网络构造过程Fig.2 Construction process of the convolutional neural network
经过多次测试修改,最终本文构建的卷积神经网络采用了5次卷积,5次最大池化,3次全连接,每层均采用了Relu激活函数,该网络主要针对256×256的图片输入。
搭建的卷积神经网络第一层卷积采用5×5的卷积核共32个,剩下4次卷积则采用3*3的卷积核,分别有32、64、64、128个,可以帮助获取更多的数据特征信息。每一层卷积,步长均设置为1,通过零填充使得每次卷积过后的图片尺寸仍保持为卷积前的尺寸大小,在每次卷积后加入了批量归一化层。第一层最大池化选择了4×4的池化操作,尽快地缩小输入图像的尺寸,其余4层池化均采用2×2尺寸,最终将输入的256×256图片尺寸转变为4×4的大小。经过3次全连接以及两次神经元50%的随机失活后,最终输出10个类别对应值,其余的参数设置与改进的卷积神经网络架构如图3所示。
图3 改进的卷积神经网络架构Fig. 3 Framework of improved convolutional neural network
搭建的卷积神经网络中加入了批量归一化(Batch Normalization)与随机失活(Dropout)操作,可以进一步提升网络模型训练的收敛速度以及泛化能力。
(3)
(4)
(5)
然后,对正规化后的数据进行缩放和平移的变换,如式(6),γ和β是参数。开始,γ=1,β=0,接着,通过学习调整到合适的值:
(6)
批量归一化操作解决了在训练过程中,中间层数据分布发生改变的问题,以防止梯度消失或爆炸,加快了训练速度。
随机失活就是随机将部分隐含层节点的权重归零,它消除或减弱了神经元节点之间的联合,降低了网络对单个神经元的依赖,从而增加了泛化能力,如图4所示。
图4 随机失活示意图Fig. 4 Schematic diagram of dropout
本文选择的损失函数为交叉熵损失函数。采用随机梯度下降优化算法(SGD),经过多轮模型训练测试,学习率设置为0.003。
为了测试搭建的卷积神经网络性能,分别通过连续小波变换(CWT)、短时傅里叶(STFT)以及格拉姆角场对应做角度差(GADF)的图像编码方法处理轴承数据,采用常规方法(方式1)构建训练数据集。将3种方法构建的数据集导入到搭建的卷积神经网络中,迭代50次,学习率均设为0.003。最终3种方法构建的数据集在搭建的卷积神经网络中训练的模型测试最高准确率分别为CWT(99.67%)、STFT(99.62%)、GADF(98.75%),如图5所示。
图5 不同编码方法的测试最高准确率Fig. 5 The highest accuracy of different coding methods
对于滚动轴承故障诊断,本文所搭建的卷积神经网络,通过上述实验结果可以看出该网络能够很好地对轴承故障进行分类,训练出的模型准确率高,具有很好的泛化能力。近年来,不少文献用不同方法对滚动轴承故障进行诊断,将本文方法与其他文献所述方法进行比较,结果如表1所示。
表1 不同方法对比Table 1 Comparison of different methods
针对遇到的数据集不足,采用方式2的数据集扩充方法。将经过方式2处理好的数据集导入搭建的卷积神经网络中进行测试。
扩充后的数据集在卷积神经网络50轮的训练中,获得了99.75%的最高准确率,且第2轮准确率就已达到95.83%,第3轮以后基本维持在99%以上,见图6。数据集扩充前后在测试集上的平均损失(每轮测试集的总体损失与测试集中图片个数之比)见图7,也展现了较快的下降趋势和后期较小波动的稳定性。
图6 数据集扩充前后的测试准确率Fig. 6 Test accuracy before and after data set expansion
图7 数据集扩充前后的测试集平均损失值Fig. 7 Average loss of test sets before and after data set expansion
从进行了数据集扩充(方式2)与未进行数据集扩充(方式1)的试验测试结果对比(图6和图7)看出:经过扩充后的数据集,可以获得更高的测试准确率,更快地训练出较高测试准确率和较低测试损失值的模型,并且在网络持续训练过程中维持较高的准确率。通过测试,证明了本文所提出的数据集扩充方法的可行性,对今后数据集扩充提供了新的方法与思路。
对于滚动轴承,其工作的环境基本不会处于理想的安静状态,因此进行轴承故障诊断研究就必须要考虑到噪声对原始振动信号的影响。
为了模拟传感器在对轴承振动信号收集时混杂了噪声,笔者在原始轴承振动数据中加入了信噪比为6 dB的高斯白噪声进行测试。图8是故障直径为7密尔的滚动体故障在加入6 dB高斯白噪声的50个数据点变化对比。
图8 加入噪声后的数据变化Fig. 8 Changes in data after adding noise
将加入噪声的数据采用方式1来构建数据集,导入到搭建的卷积神经网络中进行测试,测试数据见图9和图10。
图9 加入噪声后的测试准确率Fig. 9 Test accuracy after adding noise
图10 加入噪声后的测试集平均损失值Fig.10 Average loss values of test set after adding noise
加入了6 dB白噪声的数据集在训练过程中获得的模型最高准确率仍达到了98.67%,基本满足了轴承故障诊断在实际工程中的需求。
在完成上述研究工作过程中,取得了如下创新性成果:
通过连续小波变换与改进CNN的滚动轴承故障诊断模型,经过测试,该模型最终能达到99.67%的准确率,基本满足对轴承故障诊断精确度的要求。
针对出现数据样本不足的情况,提出通过对振动数据生成的时频图进行垂直方向随机裁剪3次扩大数据集的方法。经实验数据表明:该扩大数据集的方法可以让网络经过较少轮训练就能获得不错的训练模型,证明了所提出扩大数据集方法的可行性。
针对模型的抗噪性,对原始数据加入了6 dB高斯白噪声,测试的最高准确率仍达到了98.67%,展现了搭建的卷积神经网络具有较强的抗噪性和泛化能力的特性。