故障诊断|基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型

在博客https://blog.csdn.net/qq_41043389/article/details/106150980里,我们提出了采用小波时频图作为轴承信号的故障特征数据,即首先利用matlab提取各样本的小波时频图,如图1所示,然后利用pytorch构建CNN(lenet)模型,最终达到了99%的分类正确率,详情可以看我上面那个说的那个博客。
故障诊断|基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型
文章图片

图1 小波时频图
1、基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型
今天,我们提出一个更加牛逼的轴承故障cnn模型——双流CNN,其结构如图2所示。
故障诊断|基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型
文章图片

图2双流CNN结构
【故障诊断|基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型】大致原理如下:基于2D-CNN与1D-CNN,构建双通道的CNN(双流CNN),其中2D-CNN以小波时频图为输入,而1D-CNN以FFT频谱信号为输入,分别进行卷积层与池化层的特征提取之后,拉伸为特征向量,然后在汇聚层进行拼接,接着是全连接网路层与分类层。此种方法可以实现1维时域特征与2维时频域特征的有效融合,并以此来提高分类正确率。
2、数据准备
采用西储大学轴承故障诊断数据集,48K/0HP数据,共10类故障(正常作为一类特殊的故障类型),划分后每个样本的采样点为864(据说是因为这样含两个故障周期),每类故障各200个样本,因此一共2000个样本,然后7:2:1划分训练集(1400),验证集(400),与测试集(100)。
3、模型训练
在torch0.4中训练搭建与训练上述模型,得到的训练集与验证集的loss曲线与正确率曲线如图3所示所示。
故障诊断|基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型
文章图片
故障诊断|基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型
文章图片


从正确率与loss曲线可以看出,网络在200次训练的时候基本就完全收敛了,保存此时的模型,用于测试集分类。.
4、模型测试与对比
故障诊断|基于FFT频谱与小波时频图的双流CNN轴承故障诊断模型
文章图片

加载测试集的小波时频数据与FFT频谱数据,得到正确率为100%。
对比模型1:博客https://blog.csdn.net/qq_41043389/article/details/106150980中采用小波时频+CNN,正确率99%
对比模型2:博客https://blog.csdn.net/qq_41043389/article/details/103870271中采用双流CNN,正确率为97%
5、结论
采用小波时频图与FFT频谱信号构建双流CNN故障诊断模型,能极大的提高故障诊断正确率,最终测试集的正确率达到100%.相关github 链接如下https://github.com/fish-kong/Two-stream-CNN-for-rolling-bear-fault-diagnosis/tree/master。小波时频图特征提取工具箱可以在我的github中找到github.com/fish-kong

    推荐阅读