基于同步压缩小波变换和CNN的滚动轴承故障诊断*
2022-06-28唐纪凯卢一相柏壮壮高清维
唐纪凯, 卢一相,2, 柏壮壮, 高清维,2
(1.安徽大学 电气工程与自动化学院,安徽 合肥 230601;2.安徽大学 计算智能与信号处理教育部重点实验室,安徽 合肥 230601)
0 引 言
滚动轴承在工业生产设备中拥有重要的地位,因此,有必要提前预测轴承运行状态,减少轴承发生重大事故的可能性。滚动轴承的振动信号容易通过传感器获取且携带重要的故障特征而成为首选,即振动检测法[1,2]。轴承振动信号特征是可区分的,具有非线性和非平稳性特点,当存在噪声、相邻部件干扰传感器的信号采集时,很难对信号进行特征提取并精确诊断[3]。
早期的故障诊断主要提取振动信号的时域、频域和时频域特征。Yang Y等人[4]利用经验模态分解(empirical mode decomposition,EMD)方法检测故障,将复杂的振动信号分解为有限的固有模式函数(intrinsic mode function,IMF),各IMF分量包含的不同的频率成分,代表了不同时间尺度的特征。文献[5]采用EMD提取电力系统故障特征,采用支持向量机(support vector machine,SVM)对特征进行分类。
小波分析是信号特征提取方法中的经典算法。同步压缩小波变换(synchrosqueezed wavelet transform,SWT)[6]是一种类似于EMD原理的新方法。SWT对小波变换之后的频谱图进行再分配,应用小波变换后信号的相位不受尺度变化影响的原理,将相同频率下的尺度求和,将相同频率周围的系数压缩至此频率;最后通过特殊的映射关系将时间—尺度平面转化为时间—频率平面,得到系数集中的频谱图。
卷积神经网络(convolution neural network,CNN)是深度学习中的一个重要模型结构,在人脸识别[7]和目标识别[8]等方面有很好的表现。CNN是一种前馈神经网络,可以自动提取特征。文献[9]将一维信号输入到一维CNN中,通过特征提取和分类功能实现了实时电机故障检测。
文献[10]首先将振动信号进行短时傅里叶变换,得到二维时频分布图并缩小到64×64 大小,输入CNN中实现对轴承的故障诊断。
本文提出一种基于SWT和CNN的故障诊断方法。首先,通过CWT(continue wavelet transform)方法获得振动信号时频图;然后,用同步压缩方法对小波系数进行提取小波脊线,获得清晰的时频表达结果图;最后,用CNN实现振动信号的分类诊断。实验结果表明,本文方法能够有效检测出振动信号类别。
1 SWT原理
SWT是一种重新再分配方法,通过分配平面上的值到不同的时间—频率点,其目的是“锐化”时间—频率表示,将频谱图的能量集中起来使得频谱图稀疏化。它改变了小波变换结果的模糊化,得到更加清晰的时频分布,有着比小波变换更高的视频分辨率,SWT过程如下。
1.1 离散小波变换
给定时间函数s(t),首先定义连续小波变换
Ws(a,τ)=〈s(t),ψa,τ(t)〉
(1)
得到离散小波基为
(2)
信号s(t)的DWT可以表示为
(3)
1.2 相变换
由于采样误差、噪声等问题,对于|Ws|≈0,计算Ws的相是不稳定的,因此需要去除DWT系数较小的点,即去除Ws≤λ的点。λ是和噪声有关的阈值
(4)
式中n为信号长度,σ2为噪声功率。
对于任何|Ws(m,n)|≠0的任何(m,n),信号s(t)的瞬时频率ws(m,n)可由下式计算
(5)
1.3 同步压缩
ak:|w(am,n)-wl|≤Δw/2
(6)
2 CNN
2.1 CNN模型结构
CNN是一个典型的深度学习模型,它学习从低级到高级不同抽象级别的数据分层特征表示机制。本文使用的CNN模型是经典的LeNet—5模型[11]。CNN主要由三部分组成:卷积层、池化层和全连接层。
2.2 CNN训练过程
(7)
CNN的训练目标是最小化损失函数L(W;b),利用随机梯度下降(stochastic gradient descent,SGD)法逐层调整权值W和偏置b以最小化式(7)。采用块归一化提高CNN的训练速度,提高网络的泛化能力。SGD采用迷你块模式,将样本随机分成若干大小为(N=20)的块,然后逐个计算每块对梯度的贡献来更新参数
(8)
(9)
式中α为学习速率用来控制残差反向传播的强度,本文设置α=0.001。利用Xavier算法初始化参数,它根据输入输出神经元的数量自适应地确定初始化的规模,偏置b均初始化为0。
3 基于SWT和CNN的故障诊断方法
本文故障诊断流程如图1所示。
图1 故障诊断流程图
整个过程分为三步进行:1)采集振动信号,对信号进行重叠截取,获取时频图并缩放为32×32大小的图像,归一化到[0,1],添加标签并随机划分为训练集和测试集。2)设置CNN结构,初始化参数(W,b),用训练集对网络进行训练,采用小批量模式,对CNN隐含层采用块归一化方法加速训练;先进行前向传播过程获得误差函数,然后反向传播逐层按式(8)和式(9)更新参数(W,b)。重复上述过程,直到达到最大训练轮次。3)将训练好的CNN模型用于测试集,得到测试集诊断正确率,完成轴承故障诊断工作。
4 实验与分析
通过选择轴承不同的运行工况,验证了本文方法的有效性。
4.1 数据集准备
本文使用美国凯斯西储大学轴承数据中心的振动数据库作为数据集。选择轴承转速为1 797 r/min,采样率为12 kHz的DE端信号。振动信号分别为正常状态(N)、内圈故障(I)、滚动体故障(B)和外圈故障(O);故障直径选为0.007 in,0.014 in和0.021 in(1in=2.54 cm)。每类信号选择1 000个样本。通过10种不同工作条件下的轴承振动数据验证了本文方法的有效性,数据信息如表1所示。
表1 振动信号样本描述
图2为10种状态下的时域信号,信号长度为1 024,包含2个周期以上的振动信号;由于Morlet小波与故障信号的冲击响应波形相似,故选其作为本文的小波基。
图2 不同工况下的时域信号
4.2 CNN结构参数对诊断结果的影响
在CNN模型中,卷积核的大小和数量对分类结果影响较大。表2是对数据集进行10次实验获得的平均值,随着卷积核尺寸的增加,诊断正确率大多处于增加状态,说明更多的参数会提高正确率;但随着卷积核的数量继续增加,正确率出现了下降的情况,可能原因是初始参数的影响或者过拟合。综合考虑,本文选择卷积核的数量为(5-10),尺寸为5×5。
表2 CNN卷积核的数量(N)和大小(S)对诊断结果影响 %
4.3 实验结果与对比
本文方法(简称CNN+SWT)与使用相同CNN的方法进行对比,分别为文献[9]直接使用一维振动信号作为CNN的输入(简称CNN+1D);文献[12]利用DWT获得时频图输入CNN(简称CNN+DWT);文献[13]使用S变换作为CNN的输入(简称CNN+ST)。CNN+1D方法被重叠截取784长度的振动信号转换成28×28的图像,其余三种方法都重叠截取1 024长度的振动信号转换为时频图后变换为32×32的图像,所有方法均使用本文所描述CNN结构。
图3是训练集以及验证集的误差损失随迭代次数变化的过程。图4是训练集和验证集正确率之间的比较。由图3(a)可知,4种方法都在20次左右的迭代趋于稳定,但CNN+1D方法的误差明显较大,并且从图4(a)中看出随着训练过程的进行,正确率较其他几种方法低,最终只能有80 %的正确率。而本文CNN+SWT方法略好于CNN+ST和CNN+CWT方法,本文方法仅在20次训练之后就可以接近0的损失。在正确率方面,本文方法效果好于CNN+ST和CNN+CWT方法,且训练集(验证集)的正确率在第十次训练时就达到80 %以上,最终的正确率接近100 %。
图3 不同方法训练集和测试集损失
图4 不同方法训练集和测试集正确率
CNN+1D仅使用一维振动信号,未提取时频特征而正确率较低。虽然CNN可以用更多的卷积核提取更多的特征,但本文方法仅需要更精简的CNN结构、更少的训练参数得到很高的正确率。图5是本文方法经过5轮训练得到的测试集混淆矩阵,可以用来可视化分类结果,如图5所示仅有少量的样本分类错误,例如有5个B2样本错分类到B1类别。总体来说,每种样本得到100 %或接近100 %的正确率。因此,本文提出的方法可以很好地诊断轴承故障。
图5 测试集混淆矩阵
5 结 论
本文提出了一种使用SWT和CNN的轴承故障诊断方法,首先对振动信号进行变换获得时频图,利用CNN对其进行训练与诊断,解决了特征提取并分类的困难,实验结果验证了该方法在轴承故障诊断中的有效性和可行性。