当前位置:首页 期刊杂志

基于小波包分解和卷积神经网络的滚动轴承故障诊断

时间:2024-07-28

楼剑阳,南国防,宋传冲

上海理工大学 能源与动力工程学院,上海 200093

0 引言

随着工业互联网的快速发展,从各种机器收集大量传感器数据已成为现实.在实际工业生产中,利用这些数据进行工业状态监测和故障诊断的需求和要求越来越高[1].作为旋转机械的关键部件,滚动轴承因工作环境恶劣而易于损坏,其故障数量占旋转部件故障数量的30%[2].因此,监测滚动轴承工作状态对事故预警具有重要意义.通过分析振动信号实时监测机器的健康状况是一种常用的故障诊断方法[3].近年来,深度学习在图像处理、机器视觉和语音识别等领域均得到了广泛的应用[4].作为一种完全自动化的端到端识别过程,深度学习可以省去基于人类知识的特征提取步骤,因此被运用到机械智能故障诊断中.

时频分析可以揭示非平稳振动信号的动态特性,常应用于轴承故障分析.时频分析方法包括短时傅里叶变换[5]、经验模态分解[6]和小波变换[7]等多种振动故障分析方法,但这些方法存在明显缺点:短时傅里叶变换在不同频域内只有固定的分辨率;经验模态分解缺乏理论证明;小波变换只会提取低频信息,而高频细节信息在解析过程中易被丢失.与上述时频域分析方法不同的是:小波包分解(Wavelet Packet Decomposition)方法不仅可以通过频率高低动态调整时间分辨率大小,还可以在提取低频信号的同时获取高频信号.小波包分解可以对振动信号进行时频分析,处理得到的小波系数[8-9]矩阵结果可以作为深度学习方法的输入,但选用哪一个小波基进行故障诊断在学术界还没有定论.X.Ding等[10]采用db8获得的小波能量矩阵作为深度学习模型的输入,验证了所提特征挖掘方法在多分类主轴轴承故障诊断上的适用性;张建宇等[11]采用GHM多小波和db2小波对故障信息进行降噪处理,更易于提取滚动轴承的早期故障信息;赵元喜等[12]利用谐波小波包和BP神经网络对故障信号进行处理,预测准确率达到92.5%;F.Jia等[13]使用深度自编码器预训练深度神经网络,相比于BP网络这类浅层网络能获得更高的准确率,但自编码器对隐含层的特征映射要求较为苛刻,且输入和输出值必须保持一致,算法不够灵活.虽然学者们使用多种方法对故障诊断进行了探索,但目前滚动轴承故障诊断领域还存在故障特征目标信息不清晰、故障类型预测准确率不高等问题.

卷积神经网络(Convolutional Neural Network,CNN)可以指定输出的label值,输入与输出之间可以有多层卷积层,并且卷积层之间能够通过权值共享的方法有效减少权值数量.鉴于此,本文拟在时频域分析和深度学习的基础上,提出一种基于小波包分解和CNN的滚动轴承故障诊断方法(WPDEC-CNN),以满足工业生产中故障设备实时监测的需求,降低设备故障诊断成本,保障工程人员的生命安全.

1 WPDEC-CNN的设计

1.1 小波包分解原理

小波包分解是一种经典的多时间分辨率分析算法,它将信号分解成从低频带得到的近似系数和从高频带获得的细节系数两组小波系数[14].通过不同db小波基获得的小波系数矩阵如图1所示,小波包分解对近似系数和细节系数进行重复递归运算,得到各个频段的信息.

图1 通过不同db小波基获得的小波系数矩阵

在数学公式的表达上,小波包分解是用相应层级的一对低通和高通滤波器对信号进行卷积运算,高通滤波器和低通滤波器可以表示为

其中,φ(t)表示尺度函数,ϑ(t)表示小波变换函数,<·,·>表示内积运算,t和k是变量.一维离散信号在各频带和分解层的小波系数可以通过以下公式迭代计算:

基于小波包分解的故障诊断应用依赖小波基函数的选择,针对这个问题,直接的解决方法是用不同的小波基函数对离散信号进行分解,本文采用不同消失距的db小波进行试验.

1.2 CNN原理

CNN是一种特殊的深度前馈神经网络,它避免了层与层之间全连接造成的参数冗余,使得网络模型的训练依赖于大量的数据.CNN的连接方式是局部连接,这符合生物神经元的稀疏响应特性,在减少网络模型参数尺寸的同时也减少了对训练数据的依赖.CNN主要由三部分组成:卷积层、池化层、全连接,与依赖于先验知识[15]的方法不同,CNN仅依赖于特征学习,从而减少了人工参与的程度.

卷积层利用卷积核对输入信号的局部区域进行卷积运算,得到相应的特征.权值共享[16]是卷积层最重要的特征,这意味着当每个卷积窗口遍历整个特征图像时,卷积窗口的参数是固定的,这避免了参数爆炸引起的过拟合现象,减少了系统训练网络所需的内存.特征图中的所有单元共享相同的权重集和偏差,因此它们在输入的所有位置上能够保持相同的特征处理操作.卷积操作可以表达为

池化层通常添加在卷积层后面,也称下采样层,主要用来减少神经网络的参数.本文选择了最大池化操作.池化变换可以表示为

其中,al(i,t)代表第l池化层中第i个结构的第t个神经元的激活值,W代表池化层的宽度.

全连接层的本质是卷积核为1×1的卷积层.与卷积层和池化层将原始数据映射到隐层特征空间的特性相反,全连接层将学习到的“分布式特征表示”映射到样本标记空间.全连接操作可以表示为

yj=wijxi+bj

其中,wij表示权值,bj表示偏置.

小学生还是比较好动的,体育课间活动只进行跑步、广播体操是远远不够的。教师可以优化活动设计,积极将跳绳活动引起来,调动学生的积极性。跳绳运动在我国很久之前就有了,并且跳绳运动是一项有氧呼吸运动,可以帮助学生将废气排出体外,还可以加强心肺复苏,对学生的身体健康也有着很重要的作用。小学教师就是需要结合丰富的、多样性的课间活动来调动学生的积极性,让学生明白体育活动的重要性。

1.3 WPDEC-CNN模型构建

图2所示为通过小波包分解方法把原始信号转化为网络二维输入的过程.首先,原始信号被分成多个样本片段,每个样本片段的数据段对应图1中的W0,0,共256个数据;然后,样本片段通过小波包分解获得相同长度的一维小波系数矩阵;最后,将其转换为长度和宽度相等的二维数组,并将该二维数组作为一个二维输入样本,使用不同小波获得的不同频带的小波系数可以组成一个二维矩阵.因为小波包的分解层数为8层,试验中原始信号的长度为256,因此可以获得第8层的256个小波系数,由此可得本文使用的二维小波包系数矩阵的维度为16×16.至此,基于WPDEC的特征提取过程全部完成.

图2 原始信号转化为网络二维输入的过程

图3所示为用于识别二维特征的CNN网络结构.本文采取的CNN结构包括2个交替的卷积层和最大池化层,1个带有Relu激活函数的全连接层和1个带有Softmax激活函数的全连接层.CNN的每个环节相当于进行一次运算,而输入的二维特征数组的维度和各个位置的值在运算后都会改变,CNN各层的具体参数如表1所示,其中Conv(3×3×64)表示一个通道数为64、卷积核尺寸为3×3的卷积层;Maxpool(2×2)表示一个过滤器尺寸为2×2的最大池化层;Dense(1024)(Relu)表示的输出维度为1024的全连接层,并且用激活函数Relu激活全连接层输出故障特征,因为故障的种类为6种,故将最后一个全连接层的维度设为6,Softmax 常用在卷积神经网络最后一层实现分类.

图3 识别二维特征的CNN网络结构

表1 CNN各层的参数

2 试验结果与分析

2.1 数据来源与试验设置

本文试验数据选自美国凯斯西储大学轴承数据中心公布的深沟球轴承故障数据[17],数据提取自电机驱动端,采样频率为48 kHz.试验平台由1.5 kW的电动机、译码器、功率测试计和电子控制器组成,待检测的轴承支撑着电动机的转轴.在电机驱动端外圈的3点钟、6点钟和12点钟布置故障,将正常轴承、内圈故障、滚动体故障及外圈3个不同方向的故障数据用于故障诊断分析.

本文提出的WPDEC-CNN方法通过Google发布的开源机器学习框架Tensorflow 2.0.0实现,开发环境为Python3.6,操作系统为Window10,CPU采用i7-10870H.轴承内圈、滚动体和外圈的单点故障直径均为0.021 mm,转子的转速为1730 r/min.每个故障都取460 800个加速度值,设置1800个样本,每个样本含有256个数据值.对获得的样本进行小波包分解以获得相同长度的小波包系数,为了获得二维的CNN[18-19],需要先将256个数据值转换成16×16的数据结构.最后通过处理每个故障样本片段可以得到1800×16×16个小波特征值,选择其中的1400个数据作为训练集,400个数据作为测试集.

2.2 结果与分析

为验证本文方法在训练和测试精度上的优势,将轴承故障数据输入使用CNN和WPDEC-CNN 处理的网络中进行计算,结果如图4和图5所示,其中,td_tr表示CNN的训练值,td_te表示CNN的测试值,db1_tr表示db1小波函数处理后得到的小波系数矩阵的训练集,db1_te表示db1小波函数处理后得到的小波系数矩阵的测试集,其他图例参照此命名.

图4 CNN和WPDEC-CNN(基于db1~db4小波)的损失率和准确率

图5 CNN和WPDEC-CNN(基于db5~db8小波)的损失率和准确率

由图4可知,经过20次迭代,CNN、db1和db2的训练损失率下降速度明显快于其他小波函数;当迭代次数在1~5次时,db1和db2的损失率下降速度稍快于CNN;当迭代次数在5~12次或15~20次时,三者基本持平;当迭代次数在12~15次时,CNN的性能较优于db1和db2.但CNN的测试损失率曲线和测试准确率曲线均出现了较大波动,最终的测试损失率(0.180 2)大于db2的测试损失率(0.124 4)和db1的测试损失率(0.108 9),最终的测试准确率(0.959 2)小于db2的测试准确率(0.969 6)和db1的测试准确率(0.972 5).由图5可知,CNN的测试损失率为0.181 2,测试准确率为0.959 2,相较于使用db5~db8小波函数,不使用小波包分解的CNN模型性能更优;当使用db5~db8小波函数时,db5小波函数的性能最优,其测试损失率和准确率分别为 0.234 8 和 0.948 8.结合上述CNN和基于db1~db8的 WPDEC-CNN 损失率和准确率结果图,使用基于db1的WPDEC-CNN方法获得的故障识别准确率为97.3%,明显高于使用CNN方法的准确率(95.9%).这是因为故障时域信号存在其他信号的干扰,会加重卷积神经网络的过拟合,而小波系数表示小波函数与时域信号的相似性,相似度越高,小波系数越小,相当于对原始时域信号起到了过滤作用,相应地可以提高卷积神经网络的识别性能.

t-分布随机近邻嵌入(t-sne)[20]方法是深度学习中一种将高维数据向低维映射的可视化方法,为了解WPDEC-CNN的特征学习能力,采用t-sne方法对不同的4个网络层进行二维可视化分析,结果如图6所示.由图6可知,未经CNN处理的数据杂乱无章,经过第一个最大池化层处理后能够很好地区分正常工况和故障工况,经过第一个全连接层处理后故障基本已经区分开,个别滚动体故障错分在内圈故障中,个别内圈故障错分在外圈12点钟故障中,当输出层经softmax处理后,6种故障都得到了很好的区分.

图6 CNN中(基于db1小波)不同4个层的t-sne特征可视化

为了进一步验证本文WPDEC-CNN方法的优越性,将BP神经网络和CNN的预测结果与其进行比较,基于上述3种分类方法的分类混淆矩阵如图7所示.由图7可知, BP网络的诊断准确率为72.3%,而采用CNN进行预测的准确率为95.9%,均小于WPDEC-CNN故障分类准确率(97.3%),说明采用WPDEC-CNN方法能够有效提高对故障类别的识别准确率.

图7 基于不同分类方法的分类混淆矩阵

3 结论

本文通过小波包分解方法对振动时域信号进行处理,获得表征信号相似的小波系数,再将其进行预处理后输入CNN进行分类识别,将小波包分解的特征提取能力与CNN的特征学习能力相结合,提出了滚动轴承故障诊断方法WPDEC-CNN.试验结果表明,应用db1小波函数可以有效提高CNN的诊断性能,相较于BP神经网络和CNN,WPDEC-CNN的损失率为0.108 9,故障分类准确率达到 97.3%,验证了所提故障诊断方法的有效性,对工业生产中的轴承健康状态监测有重要意义.下一步将考虑采用迁移学习将实验室故障训练权值迁移到实际生产环境的轴承数据集中,进一步研究WPDEC-CNN在旋转机械变工况中的诊断性能.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!