APP下载

小波包能量谱结合LSTM-CNN-CBAM的旋转机械故障诊断

2022-11-09郭文博刘晓松

组合机床与自动化加工技术 2022年10期
关键词:波包准确率轴承

郭文博,石 刚,刘晓松

(1.沈阳理工大学自动化与电气工程学院,沈阳 110180;2.中国科学院a.网络化控制系统重点研究室;b.沈阳自动化研究所;c.机器人与智能制造创新研究院,沈阳 110016)

0 引言

旋转机械作为机械系统中最关键的部件,其广泛应用于电力、石化、冶金和航空航天工业[1]。随着工业生产的不断加速,旋转机械越来越容易发生各种故障,而滚动轴承作为旋转机械最核心的零部件,其重要性尤为突出[2]。由于轴承在生产中容易受到损伤,且其振动信号具有非平稳、非线性的特点,识别起来比较困难,因此针对滚动轴承提出诊断方法具有重要的意义。

由于轴承的振动信号具有时间上的连续性,因此人们利用长短时记忆网络(LSTM)来提取信号的时间依赖特性。庄雨璇等[3]基于LSTM提出了一种端对端轴承故障诊断方法,将原始振动信号直接输入到LSTM网络中进行识别,并得到了不错的结果;曲星宇等[4]设计一种RNN-LSTM网络,提取信号的时间依赖特性,诊断精度高于自编码方法;GAO等[5]将CNN与LSTM结合起来进行信号诊断。虽然这些网络具有较高的准确率且保留了信号的原始特性,但是随着数据量的增多,一些无用数据也随之增加,干扰了模型的识别精度,模型训练也要需要花费更多的时间,因此往往需要对振动信号进行一定的预处理,实现数据降维和初步特征提取。传统的信号处理方法包括时域处理、频域处理以及时频域处理。而相比于单独使用时域或频域的分析方法,时频分析能够更全面的反映非平稳、非线性信号的特性。

在模型选择方面,深度学习主要采用卷积神经网络(CNN)作为诊断模型。WAN等[6]提出了一种基于LeNet-5的CNN模型用来充分提取原始信号特征;SONG等[7]提出了一种基于CNN的分层故障诊断方法,通过层级化识别的方式在一定程度上提高了故障诊断准确率,但是这些基于CNN的方法忽略了卷积后的信号仍然保留有一些不重要的特征,影响了模型学习的准确率。FU等[8]在YOLOv4中添加了注意力模块(convolutional block attention module,CBAM),使得神经网络能够自主选择重要通道和空间,验证了算法的有效性;HU等[9]使用squeeze and excition networks(SENet)提高了CNN的性能;LI等[10]使用selective kernel networks(SKNet)对模型进行了优化,这些都证明了注意力机制能够改善卷积神经网络的性能,提升模型的准确率。

综上所述,在对信号的时频分析方法上,由于小波包变换(WPT)具有相对成熟的理论基础,而小波包能量谱蕴含丰富的故障特征信息,因此本文采用小波包能量谱的方法对振动信号进行特征提取。能量谱值序列具有时间特性,因此将其作为LSTM的输入,通过CNN对信号特征进一步提取,然后利用CBAM对卷积结果的重要信息进行筛选,最终使得模型输入数据的维数降低,模型的输出精度有所提升,在测试数据集上有良好的诊断性能。

1 理论基础及算法流程

1.1 小波包能量谱(WPE)

相对于小波变换只能对信号的低频部分进行分解,小波包变换(WPT)可以对信号的高频部分进行分解,具有更高的分辨率[11],适用于分析非平稳信号。小波包变换将原始振动信号分解成高频和低频的若干个节点,形成二叉树结构,全面的反映了信号的时频特性。小波包能量谱是在对信号进行小波包变换后,通过计算每个频带子空间的小波包系数,得出对应频带子空间的能量值。这些能量值中包含了大量故障信息,且这些信息容易区分开来,便于对故障的进一步识别。提取能量谱的算法流程如下:

(1)

(2)

(3)

式中,h、g分别为共轭滤波器的系数;l和k为分解层数;j、n为信号分解后的节点标号。

(4)

(4)将采集到的振动信号进行N层分解,得到2N个从低频到高频分支频带系数构成的信号Si,j,其中i=0,1,2,…,n代表小波包分解的层数,j=0,1,2,…,2n代表第i层的节点;

(5)计算分支信号对应的频带能量值Ei,j,其中:

(5)

式中,Ci,j(n)为信号Si,j对应的小波包系数;N为每个子空间中小波包系数的数量,即每个频带子空间中所有的小波包系数之和等于对应频带子空间的能量值Ei,j。

(6)对能量谱进行归一化处理,归一化的能量值为Pi,j,其中:

(6)

式中,E为第i层所有频带子空间的能量值之和。

1.2 长短时记忆网络(LSTM)

图1 LSTM神经元结构

LSTM是经过改进的特殊的循环神经网络(RNN)。RNN可以处理较短的时间序列,而当时间序列较长时,RNN结构很难对后面的序列进行梯度反向传播,这时就产生了梯度消失问题,也即长期依赖问题,而LSTM可以很好地解决梯度消失或者梯度爆炸等问题[12]。LSTM引入了输入门、遗忘门和输出门三种门结构来传递信息,其神经元结构图如图1所示。

(1)首先计算遗忘门决定丢弃哪些旧信息;

f=sigmoid(wf[h,x]+bf)

(7)

i=sigmoid(wi[h,x]+bi)

(8)

(9)

(10)

(3)最后计算输出门o,根据o和c得出当前隐藏层状态值h

o=sigmoid(wo[h,x]+bo)

(11)

h=o*tan(c)

(12)

式中,w为权重系数向量;b为偏置值。

1.3 卷积注意力模块(CBAM)

图3 LSTM-CNN-CBAM模型

在图像处理领域,特征图(feature map)中包含了各种重要的信息,传统的卷积神经网络对特征图的所有通道采取同样的方式进行卷积,但是事实上不同通道蕴含信息的重要程度是不同的,因此对每个通道以同等方式进行处理会使网络精度有所降低。针对这个问题,WOO等[13]提出了CBAM结构,在Resnet和MobileNet等经典网络上添加了CBAM模块并进行分析,通过在通道和空间维度上进行Attention使网络性能更加优秀。CBAM包含了通道注意力模块(channel attention module,CAM)和空间注意力模块(spartial attention module,SAM)这两个子模块:CAM模块首先分别对输入特征进行最大池化和平均池化操作,得到两个1×1×C的特征图,然后将特征图平铺展开送入到具有两层网络的多层感知机(MLP)中,对输出结果进行加和操作,再经过Sigmoid激活函数进行激活,得到通道注意力特征Mc,将Mc与输入特征相乘,并把其作为SAM模块的输入。经过SAM模块得到的是空间注意力特征Ms,其与CAM模块的输出相乘得到最终输出特征。

图2 CBAM结构

2 模型结构及训练方案

2.1 模型参数

本文模型是基于Python语言编写的,使用的是Tensorflow框架,安装管理软件为Anaconda,计算机配置Core(TM)i5-9300H CPU@2.40 GHz,内存为8 GB,模型中包含两个LSTM层、两个卷积池化层以及两个Dense层,各个部分的参数信息如表1所示。

表1 模型各部分参数

2.2 模型结构

本文提出的LSTM-CNN-CBAM模型结构如图3所示,原始振动信号经过小波包变换提取能量谱处理后,将能量谱序列作为数据集输入到LSTM层中,利用LSTM的记忆功能挖掘能量谱信号的时间依赖性。为了充分提取出信号特征,将LSTM的输出Reshape为二维向量。利用批归一化(batch normalization,BN)将卷积后的输出值规范化,使其服从(0,1)标准正态分布,再通过ReLU激活函数对BN结果进行线性修正,增加网络稀疏性,加快模型额训练速度。采用2个卷积池化层进行特征提取,将输出特征图进行Flatten操作后转化为1维向量,输入到平铺层中,在平铺层后设置Dropout提高模型泛化能力,经过softmax分类函数得到最终分类结果。

2.3 训练方案

图4 模型训练方案流程

本文模型的训练方案流程如图4所示,首先对原始故障信号进行特征提取,使原始信号特征更加明显,将得到的数据按照4:1的比例划分为训练集和测试集。训练集用来训练模型的各层参数,使用BN归一化,ReLU线性修正以及Dropout的方法减少模型训练时间并提高模型精度,通过Adam优化器对参数进行更新优化,交叉熵损失函数以动态的速度下降,最后得到优化模型;测试集用来验证网络是否具有预期的性能和准确率,经过多次训练和验证后,使得模型能够输出具有较高准确率的识别结果。

3 实验

3.1 实验数据集简介

采用某大学轴承实验室提供的轴承数据集,即CWRU数据集进行测试[14]。该数据集人为制造损伤来模拟轴承的各种故障形式,实验人员通过电火花点蚀轴承的内圈、外圈和滚动体得到3种不同位置的故障形式,在每个故障位置又分别造成7 mils、14 mils和21 mils这3种不同程度的损伤,即一共9种故障状态和1种正常状态。该数据集的工况如表2所示,分为4种工况,每种工况下的负载和转速不同。

表2 CWRU数据集工况

本次实验中采用驱动端(DE)的轴承振动数据,采样频率是12 kHz,轴承型号为SKF6205,轴承外圈使用6点钟(与受载区正交)方向的故障数据,划分的数据集结构情况如表3所示,在4种工况下,每种故障分别选取100个样本,每个故障样本包含1024个样本点,4种工况下共选取4000个样本进行实验。在对原始信号进行特征处理后,每种工况都按照4:1的比例划分数据集。

表3 本文中CWRU数据集结构

3.2 能量谱提取

实验中选取1024个采样点为一个样本,每种故障选择1个样本观察波形。在选择小波包分解层数时,使用过少的分解层数使得特征提取不够充分,并且在提取能量谱后样本数据量会随之减少,容易造成过拟合,而使用过多的分解层数又会造成特征过分提取,增加无用信号从而不利于诊断模型的识别,综合考虑本文决定使用db3小波进行8层分解,使用shannon熵提取频带能量。轴承振动的原始信号及处理后的信号波形图如图5所示。

(a) 原始时域信号 (b) 能量频谱信号

由轴承振动信号的时域波形图可以看出,各类型信号在正负数值区间内波动,正常振动信号的波动较小,与故障信号具有明显的区别,而故障轴承的振动信号具有较大地波动,轴承同一位置的故障信息并不明显,故障特征难以区分。整体来看振动信号呈现出的是噪声式的波动,故障特征被淹没在噪声中,使模型容易产生过拟合。轴承原始振动信号在经过8层小波包分解并提取能量谱的处理后,被分成256个从低频到高频按顺序排列的频带信号,并且各频带能量值在正的数值区间内波动,各种故障类型可以被初步区分开来,不同频带的能量谱幅值有着较大地变化。小波包能量谱使得原始信号维度有所降低,特征清晰地展现出来,更有利于诊断模型的训练以及对于故障的特征提取。

3.3 消融实验

为了验证模型各部分进行组合的必要性,对模型结构进行消融实验,即分别采用LSTM、LSTM-CNN、LSTM-CNN-CBAM三种结构,对经小波包变换提取能量谱处理的振动信号进行故障识别。在对三种结构进行测试时,应该使除结构变化以外的其它参数变量保持不变,实验数据均是负载为0 hp条件下,batch_size大小设置为10,Adam优化器中学习率设置为0.000 1,LSTM均采用两层结构,每层单元数为64,从图6中可以看出,虽然三种结构都具有较高的识别准确率,但是仅采用LSTM的模型随着迭代次数收敛的最慢,准确率也是最低,为98.5%,增加了CNN提取特征以后模型收敛速度有所增加,准确率提升到了99%,而增加了CBAM注意力模块的收敛效果更好,准确率也达到了99.5%,收敛曲线相对更加平滑。

(a) 损失值变化 (b) 准确率变化

减少率radio是CBAM中多层感知机(MLP)的重要参数,radio的选取可能会影响着CBAM模块性能的好坏,因此需要选择不同的radio值进行验证。由于模型第一层卷积核数为8,因此radio的取值不能超过8,这里选取2、4、8这3个值进行实验,实验是在负载为1 hp时的数据上进行的,模型其它参数和上文LSTM-CNN-CBAM模型的一致。由图7可以看出,当radio=4时,测试集的损失函数下降的最快,而radio=8时损失函数下降的最慢,虽然3种情况下模型都能达到最高为100%的准确率,但是显然radio=4时模型收敛性能更优。

(a) 损失值变化 (b) 准确率变化

3.4 泛化性能测试

为了验证模型的泛化性能,在各负载上进行混合测试,由表4可以看到,LSTM-CNN-CBAM模型在测试中的平均准确率最高,为90.125%,在负载由0→1 hp和1→2 hp变化时,LSTM和LSTM-CNN模型准确率比本文模型高,在负载由2→3 hp和3→0 hp变化时,本文模型准确率最高,但是LSTM和LSTM-CNN模型的准确率变动较大。

表4 不同模型变负载条件下准确率

分析原因是输入信号在提取能量谱之后,负载为0 hp和1 hp下的信号比2 hp和3 hp信号的特征更不明显,因此在0 hp和1 hp条件下训练好的模型在2 hp和3 hp条件下识别的效果更好,LSTM和LSTM-CNN模型的准确率会随着信号特征的变化大幅变动,鲁棒性较差,而本文模型在变负载条件下鲁棒性更强,总体泛化性能也更好。

3.5 方法对比

为了验证本文方法的优越性,将本文方法与其它方法进行对比,其中SVM算法选择“ovo”方式,1D-CNN模型使用BN以及ReLU激活函数来增加准确率,核尺寸分别为32×8、64×5、128×3,LSTM是在本文模型的基础上去除了CNN和CBAM模块,使用Adam优化器优化。对于4种负载,每种方法分别进行10次实验,记录其中准确率最高的一次进行绘图。

图8 测试集下不同模型识别准确率对比

可以看出在增加WPE的条件下,SVM的最高平均识别准确率有了明显提升,提升了35.375%,1D-CNN的最高平均识别准确率提升了28.625%,LSTM的最高平均识别准确率提升了51.375%,本文模型最高平均识别准确率提高了36.25%,证明了WPE可以提高模型准确率,并且WPE与LSTM模型结合时准确率提升的更高。同时本文模型在有无WPE条件时准确率都高于普通的LSTM模型,在各负载条件下识别准确率最高,优于其它的算法模型。

表5 不同模型训练、识别时间及测试平均准确率

由表5可知,在增加了WPE后,SVM训练时间加上识别时间共减少了1.15 s,比原来时间缩短了87%,1D-CNN模型时间减少了38.45 s,比原来时间缩短了52%,LSTM模型训练时间减少了42.87 s,比原来时间缩短了49.38%,而本文模型训练时间减少了37.67 s,比原来时间缩短了31%,说明WPE可以缩短模型训练、识别时间。由于本文模型在LSTM结构上增加了CNN和CBAM模块,因此在训练和识别时比普通LSTM模型的时间稍高。

本文模型在各负载下的识别结果如图9所示,在负载为0 hp和2 hp时识别准确率为99.5%,即200个测试样本分别识别错误1个,在负载为1 hp和3 hp时识别准确率为100%,所有测试样本类别被识别出来,4种负载下平均识别准确率为99.75%,800个测试样本仅有2个被错误分类,表明该模型具有较高的分类准确率。

(a) 负载为0 hp识别结果 (b) 负载为1 hp识别结果

4 结束语

本文通过提取轴承振动信号的能量谱值实现对原始信号的预处理,并基于此提出了一种LSTM-CNN-CBAM故障诊断模型,通过在轴承数据集上的实验表明该方法具有较高的准确率和良好的性能,对本次实验的总结如下:

(1)当样本数量较多时,对样本提取小波包能量谱可以降低数据维度,提取数据特征值,从而提高诊断模型的准确率,减少模型训练时间,并且其与LSTM结合的效果较好;

(2)CBAM模块更注意重要信息的选择,本文中LSTM-CNN网络添加CBAM模块后可以加速模型收敛,并且提高模型准确率,在收敛能力和准确率上获得了比普通LSTM-CNN模型更好的效果;

(3)根据卷积核通道数选取合适的radio值可以改善CBAM模块的作用,从而提高模型的收敛性能;

猜你喜欢

波包准确率轴承
轴承知识
轴承知识
轴承知识
轴承知识
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于小波包Tsallis熵和RVM的模拟电路故障诊断
高速公路车牌识别标识站准确率验证法
基于小波包变换的电力系统谐波分析