采用美国凯斯西储大学(CWRU) 的开放轴承数据库的样本进行实验分析,轴承故障产生的实验台如下图所示。使用电火花加工技术分别在轴承的内圈、外圈和滚动体上引入单点缺陷,故障尺寸分别为 7、14和21 in,以48kHz采样频率采集不同负载下的故障轴承振动数据用于实验分析。
本文实验样本选取1HP下10种故障状态振动信号,构建数据集,每类样本长度为1024,其中具体实验样本信息如下表所示。另外每种轴承状态随机选择50%的样本用于模型训练和25%的样本用于模型的验证,25%的样本用于模型测试。
本文使用的CNN矿架是经典的LeNet-5,拥有两个交替的卷积池化层和一个两层全连接网络。其中模型结构如下图所示。
把原始的一维时域信号(训练集和验证集)送入模型,进行模型训练,训练结果如下:
由图可知:模型训练停止后,模型在验证集的准确率略高于训练集,表明模型训练效果良好,没有发生过拟合现象。另外,经过30次的迭代后,模型输出训练集的准确率为98.16%,验证集的准确率为99.15%。
为了更清楚的展示模型在测试集中各个类别的识别结果,引入混淆矩阵对实验结果进行详细分析。
由混淆矩阵可以看出,除外圈14in、外圈21in故障外、滚子14in和滚子7in部分识别错误外,其余6种状态类型都能得到100%的识别。表明该模型具有较高的故障识别率。 为了进一步表明卷积池化层对不同类别特征的学习能力,引入流形学习中的 t-SNE维数约简算法对全连接层学习到的特征进行可视化,如下所示:
从散点图上可以看到第2类样本、第7类样本和第9类样本有识别错误的现象,也刚好和混淆矩阵识别错误的样本对应起来,其余样本均聚拢在相应的区域,最终测试集上的整体识别率为 99. 57%
本次采用简单的两层一维卷积神经网络进行滚动轴承故障识别,在测试集上达到99.57%的准确率,另外从混淆矩阵和散点图上可以看到有较好的识别结果。大家可以尝试搭建其它的神经网络进行试验,可能得到更好的结果。 深度学习初学者,能力有限,写的不好或者做的不对的地方欢迎大家批评指正!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193515.html原文链接:https://javaforall.cn