西储大学轴承数据集故障诊断的仿真平台
因为学习需要,因而简单学习了一下PySide2的使用,并粗暴的开发一款简单的故障诊断仿真平台(真的是简单粗暴的一个平台 ̄□ ̄||) ),该平台使用西储大学轴承数据集实现了对轴承的故障诊断。平台主要功能:
- 选择不同算法训练模型
- 使用保存的模型进行故障诊断
- Windows 10
- python 3.6
- anaconda
- Pycharm
UI: 存放的软件平台页面布局文件
data_preprocess.py: 数据预处理
diagnosis.py: 故障诊断相关函数
feature_extraction.py: 特征提取函数
figure_canvas.py: GraphicsView控件中利用matplotlib绘图的相关函数
main.py: 主程序
message_signal.py: 自定义信号
preprocess_train_result.py: 处理模性训练结果的相关函数
training_model.py 模型训练的相关函数
算法可以对0马力,采样频率为48KHZ的轴承的9类故障以及正常状态进行分类,这9类故障分别为:
- 滚动体故障:0.1778mm
- 滚动体故障:0.3556mm
- 滚动体故障:0.5334mm
- 内圈故障:0.1778mm
- 内圈故障:0.3556mm
- 内圈故障:0.5334mm
- 外圈故障(6点方向):0.1778mm
- 外圈故障(6点方向):0.3556mm
- 外圈故障(6点方向):0.5334mm
平台中一共使用了4种不同的算法来进行故障诊断,这4种算法分别为:
- 1D_CNN
- LSTM
- GRU
- 随机森林
对于故障诊断的算法以及数据的处理,参考了Jiali Zhang的代码。
对于整体的算法可能并不是很完美,欢迎大家一起讨论改善
- 对于数据可视化的图片显示,参照Pyside2中嵌入Matplotlib的绘图,使用了 GraphicsView控件嵌入Matplotlib的绘图, 而在训练结果展示的图片显示中,由于绘图使用了sklearn中封装的函数,所以目前是将其先存到本地,然后再读取显示。
- 为保证在使用模型进行 本地诊断/实时诊断 时的准确性,需要对诊断数据利用与模型训练时相同的数据标准化尺度进行标准化处理, 因此在保存训练模型时,会同时保存一个配置文件(JSON文件),以记录标准化的相关信息。 同时,为保证配置文件和模型的匹配性,会同时记录模型文件的md5值,以便在加载模型时校验。
- 添加模型参数设置功能