1. 项目背景与核心思路
轴承作为工业设备中的关键部件,其故障诊断一直是设备健康管理的重要课题。传统振动信号分析方法存在特征提取困难、诊断精度有限等问题。我们团队尝试将小波时频分析与SwinTransformer深度网络相结合,构建端到端的智能诊断系统。
这个方案的创新点在于:
- 小波变换能同时保留信号的时域和频域特征
- SwinTransformer的窗口注意力机制特别适合处理时频图像
- 整个流程实现了从原始振动信号到故障类型的自动识别
2. 技术方案详解
2.1 数据采集与预处理
我们使用工业现场采集的轴承振动信号作为数据源,包含正常状态和多种故障类型(内圈、外圈、滚动体故障等)。采样频率设为12.8kHz,每种状态采集100组数据,每组包含8192个采样点。
预处理步骤:
- 数据标准化:对原始信号进行z-score标准化
- 数据增强:通过添加高斯噪声和时间偏移生成更多样本
- 数据集划分:按7:2:1分为训练集、验证集和测试集
2.2 小波时频图生成
选择Morlet小波作为基函数,其数学表达式为: ψ(t) = π^(-1/4) e^(iω0t) e^(-t^2/2)
具体实现代码:
import pywt import numpy as np def generate_cwt(signal, scales=64): coefficients, _ = pywt.cwt(signal, scales, 'morl') return np.abs(coefficients)关键参数说明:
- scales数量影响时频图的分辨率
- 我们测试发现64-128个尺度能较好平衡计算量和特征保留
2.3 SwinTransformer网络设计
网络架构主要包含:
- Patch Partition:将时频图分割为4×4的patch
- Swin Transformer Block:包含窗口多头自注意力(W-MSA)和移位窗口多头自注意力(SW-MSA)
- Patch Merging:逐步下采样特征图
核心超参数配置:
model = SwinTransformer( img_size=128, patch_size=4, in_chans=1, embed_dim=96, depths=[2, 2, 6, 2], num_heads=[3, 6, 12, 24], window_size=7 )3. 模型训练与优化
3.1 训练策略
采用分阶段训练方法:
- 预训练阶段:使用AdamW优化器,初始学习率1e-3
- 微调阶段:学习率降至1e-4,加入标签平滑(label smoothing)
关键训练参数:
- batch_size=32
- epoch=200
- 使用余弦退火学习率调度
3.2 损失函数设计
采用改进的交叉熵损失:
class FocalLoss(nn.Module): def __init__(self, alpha=0.25, gamma=2): super().__init__() self.alpha = alpha self.gamma = gamma def forward(self, inputs, targets): BCE_loss = F.cross_entropy(inputs, targets, reduction='none') pt = torch.exp(-BCE_loss) loss = self.alpha * (1-pt)**self.gamma * BCE_loss return loss.mean()4. 实验结果与分析
4.1 性能指标对比
在CWRU数据集上的测试结果:
| 方法 | 准确率 | 精确率 | 召回率 | F1分数 |
|---|---|---|---|---|
| 传统SVM | 86.2% | 85.7% | 86.0% | 85.8% |
| 1D-CNN | 91.5% | 91.2% | 91.3% | 91.2% |
| 本文方法 | 98.7% | 98.6% | 98.5% | 98.5% |
4.2 消融实验
验证各模块的贡献:
| 配置 | 准确率 |
|---|---|
| 仅原始信号+CNN | 89.3% |
| 小波变换+CNN | 93.1% |
| 原始信号+SwinT | 95.4% |
| 完整方案 | 98.7% |
5. 工程实践建议
5.1 部署注意事项
- 实时性要求:在边缘设备部署时需要考虑模型轻量化
- 数据一致性:现场采集数据需要与训练数据保持相同采样参数
- 模型更新:建议建立持续学习机制适应新故障模式
5.2 常见问题解决
问题1:时频图特征不明显 解决方案:调整小波尺度范围,尝试不同小波基函数
问题2:模型过拟合 解决方案:增加数据增强强度,添加Dropout层
问题3:训练速度慢 解决方案:使用混合精度训练,增大batch size
6. 扩展应用方向
本方法还可应用于:
- 齿轮箱故障诊断
- 电机异常检测
- 旋转机械健康监测
在实际工业场景中,我们进一步将系统与SCADA系统集成,实现了故障的实时预警。通过调整小波参数和网络结构,该方法可以适配不同转速和负载条件下的诊断需求。