一维振动信号变为二维灰度图,利用局部二值模式(LBP)深化灰度图特征,然后利用CNN进行特征提取,最后使用softmax

作品简介

​因为上传大小受到限制,付费内容为百度网盘链接,永久有效

运行效果:一维振动信号变为二维灰度图,利用局部二值模式(LBP)深化灰度图特征,然后利用CNN进行特征提取,最后使用softmax分类器和SVM进行分类对比(Python_哔哩哔哩_bilibili

所有用到的库的版本

​编辑 

1.数据集(凯斯西储大学CWRU数据集),四种负载下数据集,每种负载下分别有内圈故障,外圈故障,滚动体故障和正常四种状态。

​编辑

2.项目流程

以0HP文件夹为例,打开后如下图所示

​编辑

create_picture.py是将一维信号转成二维灰度图像的程序,

code.py是主程序,主要功能:读取灰度图像数据集,利用局部二值模式(LBP)对灰度图像特征提取,突出故障特征,分成训练集和测试集(4:1),再利用 CNN进行特征提取。针对CNN提取到的特征,第一种方法是利用softmax进行分类,获得测试准确率;第二种方式是,利用SVM(又分了两种不同核参数)进行分类,获得测试准确率。

3.效果图

0HP数据集

随意选取一张灰度图像的原始图像和经局部二值模式处理后的照片展示

​编辑

softmax分类器下结果可视化

编辑

编辑

 

 

编辑

 SVM分类器下结果可视化

C=1

​编辑

 C=100

​编辑

CNN提取的训练集特征可视化(softmax/svm分类器前一层的特征) 

​编辑

CNN提取的测试集特征可视化(softmax/svm分类器前一层的特征)

​编辑

1HP数据集

softmax分类器

​编辑

训练集和测试集的准确率曲线

编辑

 

编辑

编辑

 

 SVM分类器

C=1

​编辑

C=100

​编辑 

 CNN提取的训练集特征可视化(softmax/svm分类器前一层的特征) 

​编辑

CNN提取的测试集特征可视化(softmax/svm分类器前一层的特征)

​编辑 

2HP数据集 

​编辑

softmax分类器

   ​编辑

 

 ​编辑

​编辑 

 SVM分类器

C=1

 ​编辑

C=100 

​编辑

CNN提取的训练集特征可视化(softmax/svm分类器前一层的特征)  

​编辑

CNN提取的测试集特征可视化(softmax/svm分类器前一层的特征) 

 ​编辑

 3HP数据集

编辑

 

softmax分类器 

编辑

 

编辑

 

编辑

 SVM分类器

C=1

​编辑 

C=100 

 ​编辑

CNN提取的训练集特征可视化(softmax/svm分类器前一层的特征)   

编辑

CNN提取的测试集特征可视化(softmax/svm分类器前一层的特征)  

编辑

 

 4种负载下的平均测试集准确率(每个实验跑5次)

0HP 1HP 2HP 3HP softmax分类器 100% 99.37% 99.27% 99.68% SVM(C=1)分类器 100% 99.69% 99.27% 100% SVM(C=100)分类器 99.69% 99.69% 99.27% 100% 实验结果为,softmax分类器在四种负载下的平均准确率为99.58%,svm分类器在四种负载下的平均准确率为99.74%(C=1),99.66(C=100)。

效果最好的是SVM(C=1),但是也没高出softmax分类器太多,因为从CNN提取的特征可视化可以看出,经LBP深化灰度图像特征,再经CNN提取的特征已经有很好的可区分性了。

创作时间: