ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【故障诊断】【pytorch】基于CNN-LSTM故障分类的轴承故障诊断研究[西储大学数据]附Python代码

【故障诊断】【pytorch】基于CNN-LSTM故障分类的轴承故障诊断研究[西储大学数据]附Python代码 ✅作者简介热爱科研的Matlab仿真开发者擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 往期回顾关注个人主页Matlab科研工作室 关注我领取海量matlab电子书和数学建模资料个人信条格物致知,完整Matlab代码获取及仿真咨询内容私信。 内容介绍旋转机械是现代工业装备的核心组成部分滚动轴承作为旋转机械中应用最广泛的基础零部件其运行状态直接决定整个设备的安全稳定性。据工业故障统计数据显示旋转机械超过30%的非计划停机故障都直接来源于滚动轴承的损坏一旦轴承出现隐性故障未被及时发现极有可能引发整条生产线的连锁停机造成数十万甚至上百万元的经济损失。基于西储大学CWRU公开轴承数据集开展的CNN-LSTM故障分类研究凭借深度学习对振动信号特征的端到端提取能力突破了传统人工特征提取方法的精度瓶颈在实际工业场景中实现了超过98%的故障识别准确率已经成为当前轴承智能故障诊断领域的主流技术方案。一、 轴承故障诊断的研究背景与数据集基础传统轴承故障诊断方法大多依赖人工提取时域、频域特征再通过SVM、BP神经网络等浅层机器学习模型完成故障分类这类方法的性能高度依赖工程师的信号处理经验在强噪声、变工况的复杂工业场景中人工提取的特征很容易被噪声淹没故障识别准确率往往不足80%根本无法满足工业现场的高精度诊断需求。而深度学习方法可以直接从原始振动时序信号中自动挖掘深层故障特征无需人工干预即可完成端到端的故障分类彻底摆脱了传统方法对人工特征工程的依赖。本次研究采用美国凯斯西储大学CWRU发布的经典轴承故障公开数据集该数据集是全球轴承故障诊断领域应用最广泛的标准基准数据集所有实验数据均来自真实的电机驱动轴承实验台。实验台由1.5kW的电机、扭矩传感器、功率计与电子控制设备组成在电机的驱动端与风扇端分别安装加速度传感器采集振动信号采样频率设置为12kHz与48kHz两个档位实验过程中分别在0马力、1马力、2马力、3马力四种不同负载工况下采集正常状态、内圈故障、外圈故障、滚动体故障共4类运行状态的振动数据其中故障状态又进一步细分为0.007英寸、0.014英寸、0.021英寸三种不同的故障损伤直径总共可以划分出10类不同的轴承运行状态标签为深度学习模型的训练与验证提供了标准化的高质量数据支撑。二、 CNN-LSTM混合诊断模型的核心原理CNN-LSTM混合模型充分结合了一维卷积神经网络与长短期记忆网络的各自优势其中CNN模块负责提取振动信号的局部空间特征LSTM模块负责挖掘振动信号的长距离时序依赖特征两类模块的优势互补完美适配轴承振动信号同时具备局部冲击特性与时序相关性的信号特点。一维卷积神经网络通过滑动卷积核对原始振动信号进行局部特征提取卷积层的核心运算公式为三、 基于PyTorch的完整诊断流程实现整套故障诊断流程基于PyTorch深度学习框架搭建完整覆盖数据预处理、数据集构建、CNN-LSTM混合模型搭建、模型训练与故障分类全流程所有环节完全适配西储大学数据集的信号特性。3.1 西储大学数据集预处理首先从西储大学官方公开的MAT格式数据文件中提取驱动端12kHz采样频率下的振动信号片段采用滑动窗口采样的方式对原始长时序振动信号进行切分设置滑动窗口长度为1024个采样点滑动步长为256这样可以在不破坏信号时序特性的前提下将原始的长振动序列切分为大量长度统一的样本最终每一类故障状态生成1200个样本10类状态总共生成12000个带标签的训练与测试样本。随后对所有样本进行Z-Score标准化处理将所有振动信号的幅值映射到均值为0、方差为1的区间内消除不同工况下信号幅值差异带来的干扰标准化公式为xnormx−μσxnormσx−μ其中xx为原始振动信号的采样值μμ为该样本内所有采样点的均值σσ为该样本内所有采样点的标准差。最后按照7:2:1的比例将全部样本划分为训练集、验证集与测试集测试集完全不参与模型的训练过程用于客观评估模型的泛化诊断性能避免出现数据泄露导致的精度虚高问题。3.2 PyTorch环境下的CNN-LSTM模型搭建基于PyTorch的nn.Module基类搭建CNN-LSTM混合故障诊断模型模型的完整结构依次为第一层为一维卷积层设置32个卷积核卷积核大小为64步长为16激活函数为ReLU用于初步提取振动信号的浅层局部冲击特征第二层为一维最大池化层池化核大小为2进一步压缩特征维度过滤冗余信息第三层为第二层一维卷积层设置64个卷积核卷积核大小为3步长为1激活函数为ReLU用于提取更深层的精细局部故障特征第四层为第二层一维最大池化层池化核大小为2完成第二次特征降维。经过两层CNN模块提取的局部特征将维度调整为适配LSTM输入的时序格式随后接入双层堆叠LSTM模块第一层LSTM设置64个隐藏神经元第二层LSTM设置32个隐藏神经元两个LSTM层均设置双向False仅沿时序正向进行特征提取避免反向时序带来的无效信息干扰。LSTM层之后接入Dropout层设置丢弃率为0.3随机失活30%的神经元连接有效缓解模型训练过程中的过拟合问题。最后接入全连接分类头经过两个全连接层的特征映射最终输出10类轴承运行状态的分类概率完成故障分类。模型的训练过程采用交叉熵损失函数作为损失计算准则选用Adam优化器进行权重迭代更新初始学习率设置为0.001设置最大训练轮次为100轮同时引入早停机制当验证集的损失连续15轮迭代不再下降时自动终止训练避免模型过拟合。⛳️ 运行结果 参考文献往期回顾扫扫下方二维码
返回列表