项目简介

本期推文提出了一种基于多尺度一维卷积神经网络(Multi-Scale 1DCNN) 与 Mamba2状态空间模型(SSD) 相结合的轴承故障智能诊断方法。通过对振动信号进行FFT频谱变换,利用多尺度卷积捕获不同频带的故障特征,再由Mamba2建模频谱序列中的长程依赖关系,实现对多种轴承故障类型的高精度自动识别。

本期推文结合了两种案例数据,分别是西储大学轴承数据和江南大学轴承数据,代码中可以自由切换数据。


模型架构

整体模型采用串行结构设计,多尺度CNN内部为并行多分支提取:

FFT频谱输入 (1×1024)
      │
      ▼
┌────────────────────────────┐
│  多尺度1DCNN Block ×2      │
│  ┌─────┬─────┬─────┐      │
│  │ k=3 │ k=5 │ k=7 │      │
│  │细粒度│中粒度│粗粒度│      │
│  └──┬──┴──┬──┴──┬──┘      │
│     └─────┼─────┘         │
│      Concat + 1×1卷积融合   │
└────────────┬───────────────┘
             ▼
┌────────────────────────────┐
│   自适应平均池化 (→64步)    │
└────────────┬───────────────┘
             ▼
┌────────────────────────────┐
│   Mamba2 (SSD) Block ×2   │
│   分块并行状态空间建模       │
└────────────┬───────────────┘
             ▼
┌────────────────────────────┐
│   全局平均池化 → 全连接分类  │
└────────────────────────────┘

核心创新点在哪里?

  • ①多尺度并行卷积:3个不同尺寸的卷积核(3/5/7)并行提取细粒度、中粒度、粗粒度频谱特征,通过1×1卷积实现通道融合

  • ②Mamba2 (SSD) 加速机制:采用State Space Duality框架,将传统逐步递推转化为分块矩阵运算,序列长度64在chunk_size=8下仅需8次跨块递推,训练速度相比Mamba1提升数十倍。所以Mamba2是一种参数效率极高的序列模型,与多尺度CNN结合后,整体参数量可控,不易过拟合

  • ③在变负载、噪声干扰等场景下,多尺度特征本身具备良好的抗扰能力,而Mamba2的全局状态更新机制又提供了额外的时序平滑与动态调整能力,两者强强联合,使模型泛化能力更强

    本期代码纯PyTorch实现:Windows/Linux/Mac全平台可运行


数据集

代码集合了两个经典的轴承故障诊断公开数据集,可通过命令行参数一键切换。另外你也可以添加自己的数据集,数据添加非常方便。

凯斯西储大学(CWRU)轴承数据集

  • 10类故障状态:正常、内圈故障(0.007/0.014/0.021英寸)、滚动体故障(0.007/0.014/0.021英寸)、外圈故障(0.007/0.014/0.021英寸)

  • 采样率12kHz,转速1797rpm

  • 每类300个样本,共3000个样本

江南大学(JNU)轴承数据集

  • 4类故障状态:正常、内圈故障、外圈故障、滚动体故障

  • 转速1000rpm

  • 每类300个样本,共1200个样本


数据处理流程

  • 每个样本包含2048个采样点

  • FFT变换后取前1024个正频率分量的幅值作为输入特征

  • 对每个样本进行最大值归一化


训练配置


诊断结果

将数据按照训练集:验证集:测试集=6:2:2 来划分。结果如下:

CWRU数据集(10分类)

JNU数据集(4分类)

可视化输出

项目自动生成以下7张可视化结果图:

1.混淆矩阵 —— 展示各类别的分类正确数与误判情况,同时提供归一化百分比视图

西储大学诊断结果:

江南大学诊断结果:

2.训练曲线 —— 训练/验证损失曲线、训练/验证准确率曲线、学习率衰减曲线

西储大学数据:

江南大学数据:

3.ROC曲线 —— 每个类别的ROC曲线及AUC值(One-vs-Rest策略)

4.t-SNE特征可视化 —— 对模型倒数第二层特征进行t-SNE降维,观察类别聚类效果

5.FFT频谱样例图 —— 每个故障类别的FFT频谱示例,直观展示不同故障的频率特征差异

6.各类别指标柱状图 —— Precision/Recall/F1三项指标的逐类别对比

西储大学数据:

江南大学数据:


项目文件结构

MultiScale-1DCNN-Mamba2-Bearing-Diagnosis/
├── main.py            # 主入口,支持命令行参数
├── config.py          # 全局配置(数据路径、模型参数、训练参数)
├── data_loader.py     # 数据加载、滑动窗口、FFT变换、数据集划分
├── model.py           # 多尺度1DCNN-Mamba2模型定义
├── train.py           # 训练循环、早停、模型保存
├── evaluate.py        # 评估指标计算与7种可视化图生成
├── utils.py           # 工具函数(随机种子、设备检测等)
├── requirements.txt   # 依赖列表
└── results/           # 输出目录
    ├── CWRU/          # CWRU数据集结果
    └── JNU/           # JNU数据集结果

环境依赖

  • Python 3.9+

  • PyTorch 2.0+(支持CUDA加速)

  • NumPy、SciPy、scikit-learn、matplotlib、seaborn、h5py、tqdm


代码获取

https://mbd.pub/o/bread/YZaTk51qag==

点击下方阅读原文也可跳转。

更多推荐