基于格拉姆角场和CNN-RNN的滚动轴承故障诊断方法
2022-06-08姚立孙见君马晨波
姚立,孙见君,马晨波
(南京林业大学 机械电子工程学院,南京 210037)
滚动轴承是旋转机械的重要组成部分,其健康状况直接影响设备的服役性能。据统计,约有40%的旋转机械故障源于滚动轴承损伤,因此,开展轴承故障诊断研究对于保障设备安全,稳定生产具有重要意义[1-3]。
轴承振动信号中包含丰富的状态信息,是分析轴承故障状态的重要手段。从机械设备上采集得到的轴承振动信号往往具有非线性、非平稳性的特点,而且,随着机械设备监测点的增多,传感器采样频率的提高,监测时长的增加,使得监测数据呈现出“大数据”的特征,这些因素都增加了准确识别轴承故障类型的难度。
针对轴承故障类型识别困难的问题,以深度学习为主的模式识别方法凭借强大的数据处理能力和学习能力[4-6],越来越多地应用于机械故障诊断领域。文献[7]从齿轮箱振动信号中提取了时、频域特征,输入到构建好的卷积神经网络(CNN)中实现了故障识别。文献[8]分析了不同故障类型下的轨迹图像,结合CNN实现了轴承故障的准确识别。文献[9]将轴承振动信号转换为灰度图,利用改进LeNet-5模型实现故障诊断。文献[10]提出了一种基于希尔伯特-黄变换和CNN的诊断方法,并成功应用于滚动轴承的故障诊断。文献[11]建立了基于长短期记忆网络(LSTM)的诊断模型,对含有混合故障以及强噪声的航空发动机振动信号进行了故障识别。文献[12]利用MCKD-Teager能量算子提取轴承振动信号的特征,并用LSTM实现了轴承的故障分类。
尽管上述诊断方法已经实现了故障诊断的功能,但仍然存在以下问题:1)在对原始信号进行预处理时缺乏完善的重构,破坏了数据点的相关性,从而造成信息的丢失;2)CNN模型用于静态输出,其当前输出只与当前输入有关,而轴承振动信号具有明显的时间特性,当前输出还与过去一段时间的输出有关,CNN很难处理这类包含时间信息的数据;3)LSTM等循环神经网络(RNN)可用于时间上的连续状态输出,具有短期记忆能力且能够有选择地将累积的信息进行遗忘,但其本身不具备特征提取能力,依赖于人工提取的时频域等特征。
基于以上分析,本文首先采用格拉姆角场(Gramian Angular Fields,GAF)对轴承振动信号进行重构,然后再利用CNN和RNN相融合的模型进行故障识别,兼具了CNN在时空上的平移不变性和RNN的记忆能力,可以完整地表现原始振动信号中的相关性,从而提高轴承故障诊断的精度。
1 格拉姆角场
(1)
(2)
根据编码过程中所采用的三角函数,GAF编码方法可以将时间序列转化为2种特征图像,即基于正弦函数的格拉姆角差场(GADF)图和基于余弦函数的格拉姆角和场(GASF)图,其定义为
GGADF=
(3)
GGASF=
(4)
轴承振动信号进行GAF编码的过程如图1所示,原始时域信号中2个较为明显的波峰对应着GAF图像中相应位置不同颜色的点、线所组成的交叉特征,且峰值较大部分颜色较深,特征也愈发明显(见图1标注处)。此外,原始波形中的其余振荡幅度较小的部分也在GAF图像中得到了很好地体现(表现为图像中颜色较浅的特征),因此GAF编码完成了对原始信号的完整映射,避免了信息的丢失。
图1 轴承振动信号GAF图像编码过程
2 CNN-RNN轴承故障诊断模型
2.1 卷积神经网络
受生物学感受野机制启发而提出的卷积神经网络一般由卷积层、池化层和全连接层交叉堆叠而成,通常用于图片和视频的分析任务,在结构上具有局部连接、权值共享和汇聚的特征,具有一定的平移、缩放以及旋转不变性,效果优于其他神经网络模型。在本文中,卷积神经网络的输入对象为GAF图像,经过一系列堆叠的卷积池化操作后,输出故障类型的标签。
2.1.1 卷积层
卷积层利用多个卷积核对输入图像进行卷积,通过一个非线性激活函数输出一系列特征图[14],整个计算过程可定义为
(7)
非线性激活函数通常选用线性修正单元 ReLU,其定义为
(8)
2.2.2 池化层
池化层位于卷积层之后,目的是降低特征图的维数,进一步减少可训练的参数,并在一定程度上保持特征的尺度不变性,其定义为
(9)
2.2.3 全连接层
输入图像在经过多个堆叠的卷积池化操作后,将得到的特征图展开为一维特征向量并输入到全连接层中,建立特征与故障类别的映射关系,可表示为
yk=f(ωkxk-1+bk),
(10)
式中:k为网络的层数;yk为全连接层的输出;xk-1为全连接层的输入;ωk为权重;bk为网络偏置。
2.2 门控循环单元网络
门控循环单元网络(GRU)是传统循环神经网络基于门控机制的变体,有效改善了RNN中的长程依赖问题,其包括更新门zt和重置门rt,数学表达式为
zt=σ(Wzxt+Uzht-1+bz),
(12)
rt=σ(Wrxt+Urht-1+br),
(13)
式中:σ(·)为Logistic函数,输出区间为(0,1);xt为当前时间步输入;ht-1为上一时刻的外部状态。
(14)
(15)
2.3 基于CNN-RNN故障诊断流程
基于CNN-RNN的故障诊断方法集特征提取和故障模式识别于一体,通过引入GRU网络使该方法具有一定的特征记忆能力,从而实现轴承端到端的智能故障诊断。具体诊断流程如图2所示:将采集的振动信号按一定长度截取为一系列样本段;通过格拉姆角场将样本编码为224×224×3的GADF和GASF图像并划分为训练集、验证集和测试集;将训练集和验证集输入到网络模型进行训练和学习,不断更新网络参数;将测试集应用于训练好的模型中实现故障分类。
图2 基于CNN-RNN的故障诊断流程图
3 试验验证
为验证所建立模型在轴承故障诊断中的有效性和实用性,采用XJTU-SY滚动轴承加速寿命试验数据集[15]和美国凯斯西储大学(CWRU)轴承数据集[16]进行分析。
3.1 数据集描述
选取XJTU-SY滚动轴承数据集中的Bearing1进行分析,试验轴承型号为LDK UER204,电动机转速为2 100 r/min,采集频率为25.6 kHz。分别选取327 680个数据点用于样本制作,每类状态包含326个样本,建立了一个具有1 630个样本的数据集,见表1。每种故障状态均采用“独热码(one-hot)”进行编码,用一个除了某一维为1其他各维均为0的向量表示类别,向量的维数与故障类别数相同。
表1 XJTU-SY试验样本类别描述
选取CWRU数据集中48 kHz采样频率下驱动端SKF6205深沟球轴承的振动信号,包含正常运行状态总计10种故障模式,每类故障类别包含480个样本,建立了一个具有4 800个样本的数据集,见表2。
表2 CWRU试验样本类别描述
3.2 数据处理
每种状态下轴承振动信号的长度是固定的,为在有限的数据集中获得尽可能多的样本,采用滑窗取样的方式截取信号段。如图3所示,将滑动窗口的长度作为截取样本的长度,移动步长(通常小于滑动窗口的长度)为滑窗一次移动的距离,使相邻2个样本之间部分重叠。令样本长度为2 000,移动步长为1 000,即以50%的重叠率进行样本分割,使样本数量增加1倍[17-18],同时减轻了信号因直接截断而导致特征信息丢失的现象。
图3 滑窗采样
将XJTU-SY轴承数据的每类故障状态信号通过滑窗采样划分为326组,再对划分好的信号进行GAF变换,得到326张振动信号时序图像;同样对CWRU轴承数据进行划分和GAF变换,得到每种故障状态下的480张时序图像。2个数据集中所有状态的GAF图像分别按照6∶2∶2的比例分为训练样本、验证样本和测试样本。上述2个轴承数据集中不同故障状态下的GAF图像分别如图4和图5所示。
图4 基于XJTU-SY轴承数据集的5种GAF图像
图5 基于CWRU数据集的10种GAF图像
3.3 建立CNN-RNN模型
卷积核的大小、数目、移动步长、是否补零,池化层的大小以及全连接层中的神经元个数等参数均会对卷积神经网络的识别效果造成影响。CNN选用在图像识别领域表现较好的VGG网络[19]并在预训练VGG16网络的基础上进行参数调整。VGG网络通过不断堆叠较小卷积核的网络层获得相同的感受区域,在减少模型参数的同时增加了其非线性的特点。
本文所建立的CNN-RNN模型是在VGG16网络的最后一个池化层后加上一个GRU网络用于训练,最后将特征图展开为一维向量输入全连接层中,并建立特征向量与故障类别的映射,具体结构如图6所示,模型拥有12个卷积层,5个池化层,1个GRU网络层,1个全连接层和1个激活函数为softmax的输出层。卷积层采用3×3的卷积核提取特征,并通过ReLU函数激活输出。池化层采用2×2的卷积核降低输入数据的维度,dropout层的比率设置为0.3。经过多次堆叠的卷积池化操作后,输出特征图的尺寸大小从(224,224,3)变为(7,7,512)。通过Reshape方法将输出特征图的大小重构为(49,512)并输入到GRU网络中提取相应的时间信息。分析完时间特征后利用全连接层对GAF图像进行排序,判断其隶属类别。CNN-RNN模型的总体结构和参数见表3,试验平台为Python+Tensorflow2.0,硬件为Intel(R) Xeon(R) E5-2680 v4+Nvidia 2070。
表3 CNN-RNN网络结构参数
图6 CNN-RNN的网络结构
3.4 诊断结果及对比分析
将所构造的训练样本和验证样本输入所建立的CNN-RNN模型中训练,利用测试样本对模型性能进行检验。模型的参数设置如下:批处理图片数(batchsize)为32,迭代步数(Epoch)预设为500,选择Adam算法作为优化器,交叉熵作为损失函数;学习率设置在10-4~10-5之间动态可调,即训练过程中准确率不再上升时,学习率每次减少10%;引入Early-Stopping机制以防止模型出现过拟合现象,即模型的损失函数值在迭代一定次数不再显著变化时,停止训练。
采用XJTU-SY和CWRU轴承数据集进行故障诊断模拟试验的结果如图7所示:训练集上的识别率高于验证集,并且在2种训练集上均达到了100%;XJTU-SY轴承数据集中,GADF和GASF图在测试集的识别率分别为99.08%和96.47%;CWRU轴承数据集中,GADF和GASF图在测试集上识别率分别为98.15%和96.94%。以上结果表明本文的CNN-RNN模型具有较强的特征学习能力和故障诊断能力,能够准确识别轴承状态。
图7 轴承故障识别结果
为验证CNN-RNN模型在轴承故障诊断中的优势,将其与标准VGG16模型和标准GRU模型进行对比,使用相同的数据集分别在VGG16和GRU模型上进行训练,参数设置与CNN-RNN模型中相应部分相同。
3种模型的诊断结果见表4:GRU模型在训练集上均达到了100%的识别率,但在测试集上的识别率仅为79.69%和85.00%;相对于GRU模型,VGG16模型在测试集上的识别率均有较大的提升,但仍低于CNN-RNN模型,说明CNN与RNN融合后要优于单独使用CNN模型或RNN模型;同一模型中,GADF图像的识别率均比GASF图像高,说明GADF编码方式的特征表达能力更强。以上分析证明了CNN-RNN模型能够有效解决卷积神经网络难以处理时间序列数据和循环卷积网络无法提取繁杂数据深层特征的问题。
表4 不同模型的诊断结果
为更好地验证GAF编码方法在轴承故障诊断领域的性能,基于希尔伯特-黄变换(HHT)将原始一维信号转换为时频图,同样按6∶2∶2的比例划分训练集、验证集和测试集,并将训练集和测试集输入CNN-RNN模型进行特征提取和故障分类,结果如图8所示:GADF图像的识别率均高于HHT图像,HHT图像的识别率则高于GASF图像,GASF图像的像素较为单一且数据样本量不足等因素共同作用导致其识别率较低。因此,在实际使用时,可优先考虑用GADF图像进行数据处理。
图8 不同编码方法对轴承故障信号时频图的识别结果
4 结束语
采用GAF编码方法将轴承的一维振动信号转换为二维图片,对原始信号进行重构并保留了其中的相关性。在VGG16模型的基础上,提出了一种用于滚动轴承状态识别的CNN-RNN模型。XJTU-SY和CWRU轴承数据集上的试验结果表明CNN-RNN模型能达到98.15%以上的识别率,相对于标准VGG16模型和标准GRU模型,CNN-RNN模型的识别效果更好;相对于HHT和GASF编码方法,GADF编码方法对原始信号故障特征的表达能力更强,与CNN-RNN模型相结合时具有更高的识别率。