news 2026/10/30 8:26:02

手把手教你:基于深度学习的滚动轴承故障诊断(2026 修订版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手教你:基于深度学习的滚动轴承故障诊断(2026 修订版)

手把手教你:基于深度学习的滚动轴承故障诊断(2026 修订版)

本文是《滚动轴承故障诊断》系列的第 1 篇(总览)。
系列完整目录见文末【专栏导航】。本文配套代码与分步操作手册见公众号「免费代码合集」菜单。

代码下载链接:点这里

一、项目简介

本文介绍如何使用 Python 搭建一个基于深度学习的滚动轴承故障诊断系统。

系统对轴承的 4 种状态做自动分类:

  • 正常
  • 内圈故障
  • 滚动体故障
  • 外圈故障

项目中使用了三种方法对比检测结果,这也是毕设论文中最需要的一组"对比实验":

方法类型测试集准确率
随机森林传统机器学习约 73%
1D-CNN深度学习约 83%
CNN + 残差模块(ResNet)深度学习(推荐)95%+

三个模型用同一份数据、同一套切分方式训练,结论可直接写进论文实验章节。

如需更换自己的训练数据,只需要把数据文件按目录放好,所有代码无需改动即可直接运行。

二、数据介绍

本项目使用凯斯西储大学(Case Western Reserve University,CWRU)轴承数据中心的开源公开数据集——这也是全世界故障诊断研究最常用的入门数据集,引用进论文无版权风险。

数据为 Matlab 格式(.mat),每个文件包含风扇端和驱动端振动数据以及电机转速。文件中的变量名含义:

  • DE—— 驱动端加速度计数据
  • FE—— 风扇端加速度计数据
  • BA—— 基础加速度计数据
  • RPM—— 测试期间的转速

对四类状态各取一个文件绘制波形,可以直观看到:不同故障之间、故障与正常之间,数据分布都存在明显差异——这正是"可以用分类模型来做诊断"的物理依据。

三、数据预处理

原始信号是"一整条很长的时间序列",而分类模型需要的是"一条条样本"。预处理做三件事:

  1. 归一化:把 DE、FE 两路信号的幅值都压到 0~1,消除不同转速、负载带来的幅值差异;
  2. 构造双通道:把驱动端(DE)和风扇端(FE)信号配成对,每条样本形状为1000 点 × 2 通道——双通道信息互补,比单通道更稳;
  3. 滑窗切分 + 类别均衡:每 1000 个点切出一条样本,每类采样固定数量,最终得到:
类别样本数
正常1400
内圈故障1400
滚动体故障1400
外圈故障1400
合计5600

处理后的数据保存为train_data.npy(5600, 1000, 2)和label.npy(5600,),后续三个模型都从这两个文件读取——预处理一次,三模型通用。

四、模型设计与对比结果

4.1 随机森林(传统基线)

把每条 1000×2 的样本"拍平"成 2000 维特征向量,直接喂给随机森林(50 棵树,深度 5)。
它不需要训练轮次、跑得最快,作为论文里的"传统方法对照组"非常合适。

4.2 1D-CNN(深度学习基线)

一维卷积神经网络:卷积核沿时间轴滑动,自动从波形中提取局部模式(比如故障冲击的形状),替代人工特征工程。

结构很简洁:Conv1D(64) → MaxPooling → 全局平均池化 → Dense(32) → Dropout → softmax(4)。

实测准确率约83%,且**"内圈故障"一类的召回率明显偏低**——误分集中发生在内圈与滚动体之间。这个"缺陷"恰好是第 6 篇文章的主角:它证明了简单浅层网络的特征提取能力不够。

4.3 CNN + 残差模块(ResNet,推荐模型)

在 CNN 基础上加入5 个残差块(ResBlock)。每个残差块内部的连接方式是:

输出 = F(x) + x # F 是两层卷积,x 是块的输入(捷径直接跳过来)

这条"捷径"让损失梯度可以无损地传回浅层,深层网络因此训得动、不退化——这是 ResNet 论文(He et al., 2015)的核心思想,也是本项目准确率从 83% 提升到 95%+ 的关键。

4.4 三模型对比总结

模型准确率论文话术
随机森林~73%传统人工特征路线的上限
1D-CNN83%浅层网络对内圈/滚动体故障区分不足
CNN+ResNet95%+残差连接增强深层特征表达,四类召回均衡

三个模型各自的完整分类报告(precision / recall / f1)和混淆矩阵图,运行配套评估脚本可一键生成,直接贴论文。

五、配套代码与资源

本系列文章走"文章讲思路、资源包管操作"的路线,内容互不重复:

  • 每一步的安装命令、运行步骤、常见报错解决:见公众号菜单「免费代码合集」(按章节拆好:环境部署 / 数据下载 / 预处理 / 三模型训练 / 评估出图 / 可视化界面 / 论文模板);
  • 完整代码合集(含 CWRU 数据、已训练模型、TensorBoard 日志、全部结果截图):CSDN 下载频道付费资源,已购本专栏的同学在微信公众号免费领取完整代码;
  • 本专栏后续 8 篇文章将逐模块逐行讲透:环境部署 → 数据集深度解析 → 预处理源码走读 → 随机森林 → CNN 与残差原理 → 训练与评估 → 可视化界面 → 论文与答辩。

六、专栏导航

篇次主题状态
1项目总览与三模型对比(本文)✅
2环境部署:Anaconda + TensorFlow 2.x 全流程编写中
3CWRU 数据集深度解析与波形可视化排期中
4数据预处理源码走读:从 .mat 到 npy排期中
5随机森林:传统基线的取舍排期中
6一维卷积与残差模块:83% 到 95% 的原理拆解排期中
7训练与评估:复现全部实验结果排期中
8可视化界面:PyQt5 搭建诊断工具排期中
9从代码到毕设:论文框架与答辩话术排期中

下一篇预告:《环境部署:从零搭好能跑深度学习的 Python 环境(CPU 版)》,零基础 30 分钟完成,含常见安装报错速查。


版权说明:CWRU 数据集版权归凯斯西储大学所有,仅限学习研究使用;本文代码与文字为本人原创,付费专栏读者可学习使用,禁止转售。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 8:25:04

C++联编机制:静态与动态绑定的核心解析

1. C联编机制的本质解析联编(Binding)是C面向对象编程中一个核心但常被忽视的概念。简单来说,它解决的是"调用哪个函数"的问题。在C中,同一个函数名可能对应多个实现——可能是重载函数,也可能是派生类覆盖的…

作者头像 李华
网站建设 2026/10/30 8:21:45

在 SAP S/4HANA 中用 Email Template、CL_BCS 与 CID 内嵌图片发送品牌化 HTML 邮件

企业项目里有一类需求很常见,业务事件发生以后,SAP 系统需要给客户、供应商或者内部员工发送一封邮件。技术上看,这件事似乎很简单,调用 CL_BCS,准备 Subject 和 Body,再执行 SEND 就结束了。 真正落到企业场景里,事情往往没这么简单。 业务部门通常不会满足于一封纯文…

作者头像 李华
网站建设 2026/10/30 8:21:27

AI 外呼系统情绪识别功能选型避坑指南

选型 AI 外呼系统的情绪识别功能,最容易被 demo 里"客户一怒,系统秒切安抚话术"的演示迷住。但真实场景里,一台成熟外呼系统的接通率要做到 56% 以上、答准率 99%、识破率低于 0.1%,情绪识别才有可信的数据基础——一旦…

作者头像 李华
网站建设 2026/10/30 8:21:18

小白程序员必学:用Prompt Engineering让AI瞬间变身“数字战友”

本文通过“超级天才”比喻解析Prompt Engineering的核心逻辑,即如何将模糊需求转化为AI可执行的高确定性指令。文章对比了坏提示词(意识流提问)与好提示词(结构化任务清单)的输出差异,并给出三套实用公式&a…

作者头像 李华
网站建设 2026/10/30 8:17:23

显存优化不是万能药:4 步加速版在 8G 显卡上翻车的那些瞬间

显存优化不是万能药:4 步加速版在 8G 显卡上翻车的那些瞬间 最近半年,AI 画图圈最不缺的就是“8G 显卡也能跑”的传说。 Qwen-Image 2.1 系列一出,各种加速版、4 步版、6 步版、量化版像下饺子一样往外冒。社区里随手一刷,就是“显…

作者头像 李华