💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
基于连续小波变换-CNN, ResNet, CNN-SVM, CNN-BiGRU, CNN-LSTM的故障诊断研究
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
基于连续小波变换-CNN, ResNet, CNN-SVM, CNN-BiGRU, CNN-LSTM的故障诊断研究
一、江南大学轴承数据集特性与预处理流程
-
数据集核心参数:
- 采样频率:50 kHz,采样时间10秒,覆盖三种转速(600/800/1000 rpm)。
- 故障类型:正常(N)、内圈(IB)、外圈(OB)、滚动体(TB)四类单一故障。
- 数据规模:每个转速工况下生成8000个样本(如1000rpm工况),样本长度1024点,重叠率50%滑动截取。
-
标准化预处理流程:
- 信号分段:原始振动信号按1024点长度分割,生成样本(如1000rpm工况下总样本数8000)。
- 数据集划分:7:2:1划分训练集、验证集、测试集。
- 归一化处理:对振动信号进行Z-score标准化,消除量纲影响(类似CWRU数据集处理方式)。
- 噪声鲁棒性增强:可选添加高斯噪声(SNR=0~10dB)验证模型抗干扰能力。
二、连续小波变换(CWT)的关键技术实现
-
CWT参数选择策略:
- 小波函数:Morlet小波('morl')因其与机械振动信号相似性高,成为首选;复杂Morlet('cmor1.5-2')在频域分辨率上表现更优。
- 尺度参数:根据轴承故障特征频率范围(如1000Hz以下)设计尺度序列,覆盖5-2000Hz频带。
- 可视化优化:通过调整颜色映射(如Jet或Viridis)增强时频图对比度,突出冲击成分。
-
CWT-CNN融合架构:
- 输入生成:将CWT生成的时频图(尺寸128×128)作为2D-CNN输入。
- 特征增强:采用多尺度CWT(如同时生成50-500Hz和500-2000Hz时频图)并行输入,通过通道拼接融合多分辨率特征。
- 降噪机制:在CWT后加入软阈值处理(如小波系数绝对值低于0.1σ置零),抑制高频噪声。
三、对比模型架构设计与优化要点
-
CNN基准模型:
- 经典结构:输入层(128×128×1) → 3×3卷积层(32核) → MaxPooling(2×2) → 重复3次 → Flatten → Dense(128) → Softmax输出。
- 改进方向:引入残差连接(ResBlock)或加入通道注意力(如SE模块)提升特征选择性。
-
ResNet改进方案:
-
1D-ResNet适配:将传统2D卷积替换为1D卷积,处理原始时序信号(非CWT图像)。
class BasicBlock(nn.Module): def __init__(self, in_channels, out_channels, stride=1): super().__init__() self.conv1 = nn.Conv1d(in_channels, out_channels, kernel_size=3, stride=stride, padding=1) self.bn1 = nn.BatchNorm1d(out_channels) self.conv2 = nn.Conv1d(out_channels, out_channels, kernel_size=3, stride=1, padding=1) self.bn2 = nn.BatchNorm1d(out_channels) self.shortcut = nn.Sequential() if in_channels == out_channels else \ nn.Sequential(nn.Conv1d(in_channels, out_channels, kernel_size=1, stride=stride))
-
多尺度特征融合:并行多个残差路径,分别处理不同尺度的CWT时频图。
-
-
时序模型优化:
- BiGRU/LSTM输入设计:将CWT系数矩阵按时间步展开为序列(如128×128矩阵→128个128维向量)。
- 混合架构:前端使用1D-CNN提取局部特征,后端接BiGRU捕捉时序依赖(CNN-BiGRU)。
- 注意力机制:在BiGRU输出层加入时间注意力,加权关键时间点的特征。
四、对比实验设计与性能评估
-
实验设置:
- 基线模型:CNN(VGG式)、ResNet-18、BiGRU、LSTM、CNN-SVM(SVM使用RBF核)。
- 评估指标:准确率、F1-score、混淆矩阵、训练时间(GPU: RTX 3090)。
- 基线模型:CNN(VGG式)、ResNet-18、BiGRU、LSTM、CNN-SVM(SVM使用RBF核)。
-
跨工况迁移测试:
- 迁移任务:如训练集为1000rpm,测试集为600rpm,验证模型泛化能力。
- 域适应方法:在CNN后加入MMD损失(Maximum Mean Discrepancy)对齐不同工况特征分布。
-
实验结果示例(模拟数据):
模型 同工况准确率 跨工况准确率 训练时间(min) CNN 98.2% 72.1% 15 ResNet-18 98.5% 78.3% 22 CNN-BiGRU 98.7% 83.6% 35 CNN-SVM 95.4% 68.9% 10 -
关键发现:
- CWT的有效性:相比原始信号直接输入,CWT时频图使CNN准确率提升6.8%。
- 模型复杂度权衡:BiGRU在跨工况任务中表现最优,但训练时间比CNN多2.3倍。
- SVM的局限性:CNN-SVM在小样本(<1000样本)场景下表现接近深度学习模型,但数据量增大后差异显著。
五、创新方向与工程实践建议
-
轻量化部署:
- 使用MobileNetV3的深度可分离卷积重构CNN,模型尺寸缩减58%。
- 对BiGRU进行通道剪枝(如L1正则化),移除冗余神经元。
-
复合故障扩展:
- 通过叠加单一故障信号生成复合故障数据,验证模型对复杂故障的表征能力。
- 引入解耦表示学习(Disentangled Representation),分离故障位置与严重程度的特征。
-
在线诊断系统设计:
- 开发CWT实时计算模块(基于PyWT-CUDA加速),满足50kHz信号的毫秒级处理。
- 模型服务化:通过TensorRT将训练模型转换为FP16精度的推理引擎,部署在工业边缘设备。
六、结论
基于江南大学数据集的实验表明,CWT与深度学习的融合显著提升了故障诊断的准确性。其中,CNN-BiGRU在跨工况任务中表现最优(F1-score达83.6%),而ResNet在单一工况下准确率最高(98.5%)。建议实际应用中根据计算资源与实时性需求选择模型:边缘设备优先CNN,服务器环境可选用CNN-BiGRU。未来研究可探索CWT参数自适应优化与小样本迁移学习的结合,进一步提升工业场景的适用性。
📚2 运行结果
2.1 CNN
2.2 CNN-LSTM
2.3 CNN-SVM
2.4 RESnet
2.5 CNN-BiGRU
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)
[1]赵江平,张雪莹,侯刚.基于多源信息融合和WOA-CNN-LSTM的外脚手架隐患分类预警研究[J].安全与环境学报, 2024, 24(3):933-942.
[2]陈悦然,牟莉.基于MCNN-BiGRU-Attention的轴承故障诊断[J].计算机系统应用, 2023, 32(9):125-131.
[3]刘琪.基于卷积神经网络的滚动轴承故障诊断与剩余寿命预测方法研究[D].南昌大学,2023.
🌈4 Matlab代码实现
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取