旋转机械故障数据集全指南:从零到可复现故障诊断实验的数据选型与实战路线
【免费下载链接】Rotating-machine-fault-data-setOpen rotating mechanical fault datasets (开源旋转机械故障数据集整理)项目地址: https://gitcode.com/gh_mirrors/ro/Rotating-machine-fault-data-set
做故障诊断研究,最难的不是算法,而是找到一份靠谱的数据。许多新手在 CWRU、IMS、XJTU-SY 这些名字面前无从下手:不知道哪个数据集适合分类任务、哪个适合寿命预测、采样率多少、格式是什么。本文介绍的 Rotating-machine-fault-data-set 项目,把全球 20 余个开源旋转机械故障数据集整理成一份带详细文档的索引目录,帮助你 10 分钟内锁定目标数据、跑通第一个实验。
一、先讲一个真实困境:自己找数据的三条死路
我认识一位做设备健康监测的工程师,刚开始接触轴承故障诊断时,第一反应是"去网上搜轴承振动数据"。结果他撞上了所有新手都会遇到的墙:
- 官网时好时坏:不少国外大学的数据中心页面改版后,老的下载链接直接失效;
- 格式五花八门:同一批数据,有的给
.mat,有的给.csv,还有的给 ASCII 文本,预处理代码要写三份; - 关键信息缺失:数据下载下来了,却不知道负载是多少、转速多少、故障是用电火花加工的还是自然磨损的——没有工况参数的数据,等于没有"出厂说明书"。
数据稀缺、标注成本高、工况多样、信号复杂,这四座大山让很多研究止步于"找数据"这一关。CWRU 之所以被称为故障诊断领域的"黄金标准",正是因为它的实验条件记录完整、故障类型标注明确,能被反复验证。而这个开源项目要解决的,正是"去哪里找、怎么选、如何用"这三个核心问题。
二、认识项目:一座按需取用的旋转机械故障数据"超市"
Rotating-machine-fault-data-set 是由国内 PHM 领域研究者维护的开源整理项目,自 2019 年起持续收录全球范围内可公开获取的机械故障数据,并为每个数据集编写了独立的说明文档。它不存放数据本体,而是做"导航"——告诉你每个数据集的来源机构、实验条件、数据格式与参考论文。
2.1 三层数据分类:从"用什么"倒推"选哪个"
项目里的数据集可以按研究目的分为三层,选数据之前先想清楚自己要做哪类任务:
第一层:基准诊断数据(做分类) ├── CWRU 轴承数据:故障特征明显,算法验证首选 ├── MFPT 轴承数据:含 3 组真实工业故障案例 └── Paderborn 轴承数据:欧洲标准台架,带电流信号 第二层:退化过程数据(做寿命预测) ├── XJTU-SY:15 个轴承全寿命周期,加速退化 ├── FEMTO-ST:IEEE PHM 2012 竞赛原始数据 └── IMS:辛辛那提大学 3 组直至失效实验 第三层:专项场景数据(做特定部件/场景) ├── 康涅狄格大学齿轮箱:9 种齿轮状态 ├── 东南大学齿轮箱:8 通道多传感器同步采集 ├── 渥太华大学轴承:时变转速 36 组数据 └── 电机异音数据:工业生产线质检场景2.2 核心数据集速查表
| 数据集 | 机构/国家 | 采样频率 | 关键特征 | 适合任务 |
|---|---|---|---|---|
| CWRU | 凯斯西储大学(美) | 12kHz / 48kHz | 0~3hp 负载,EDM 人工故障 0.007~0.040 英寸 | 故障分类基准 |
| MFPT | MFPT 学会(美) | 48.8kHz / 97.7kHz | 含 3 组风电真实故障 | 分类 + 真实场景验证 |
| Paderborn | 帕德伯恩大学(德) | 64kHz | 4 种工况组合,同步采集电流信号 | 多工况分类 |
| FEMTO-ST | FEMTO-ST 研究所(法) | 25.6kHz | 6 组训练 + 11 组测试,加速退化 | 剩余使用寿命预测 |
| IMS | 辛辛那提大学(美) | 20kHz | 3 组直至失效实验,2156/984/4448 个文件 | 退化趋势分析 |
| XJTU-SY | 西安交通大学(中) | 25.6kHz | 3 种工况 × 5 个轴承,全寿命数据 | 剩余使用寿命预测 |
| Connecticut | 康涅狄格大学(美) | 20kHz | 缺齿、根裂纹、剥落、齿尖碎裂 5 级严重度 | 齿轮故障分类 |
| SEU | 东南大学(中) | 多通道 | 8 通道含电机/行星齿轮箱/平行齿轮箱 | 深度迁移学习 |
三、上手准备:5 分钟锁定属于你的那个数据集
选数据集的决策树其实很简单,按下面的顺序问自己三个问题:
你要解决什么问题? ├── 分类:哪种故障,什么程度 → CWRU / MFPT / Paderborn ├── 寿命预测:剩余寿命还有多久 → XJTU-SY / FEMTO-ST / IMS └── 特定部件:齿轮、转子、电机 → Connecticut / SEU / 武汉大学转子数据3.1 做分类任务怎么选
如果你要验证一个新的神经网络结构,首选CWRU 轴承数据集。它覆盖内圈、外圈、滚动体三种故障位置和多种故障尺寸,负载从 0 到 3 马力连续可调(电机转速 1797~1720 RPM),故障特征明显、参考论文极多,是公认的"方法检验场"。文献中基于 CWRU 训练的分类模型在特定设定下准确率可超过 99%。
如果你担心人工故障和真实故障存在差距,那么MFPT 数据集里附带的 3 个真实故障案例(风电中间轴轴承、油泵轴轴承、行星轮轴承)就是最好的补充验证素材。
3.2 做寿命预测怎么选
寿命预测需要"从健康到失效"的完整过程数据,这类数据最稀缺。XJTU-SY 轴承退化数据集提供了 3 种工况(35Hz/12kN、37.5Hz/11kN、40Hz/10kN)下各 5 个共 15 个轴承的全寿命周期数据;FEMTO-ST则是 IEEE PHM 2012 数据挑战赛的原始数据,包含 6 组训练集和 11 组测试集,专门为剩余使用寿命(RUL)估计设计。
图 1:典型的轴承故障诊断实验系统,涵盖电机、速度传感器、扭矩计、被测轴承与加速度计,是多数据集共用的标准台架结构
四、动手实践:从下载到跑通第一个故障分类模型
4.1 第一步:读懂数据说明书
每个数据集的详细说明都在项目doc/目录下,例如 CWRU 的说明见 doc/CWRU.md,其中记录了试验电机型号、故障注入方式(EDM 电火花加工)、特征频率表(BPFI/BPFO/FTF/BSF)以及大量代表性论文索引。动手之前先读文档,能避免 80% 的格式坑。
4.2 第二步:用 Python 加载并切分数据
CWRU 官方提供.mat格式文件,用scipy.io.loadmat即可加载,示例代码如下:
from scipy.io import loadmat import numpy as np # 以 12kHz、0 马力工况的驱动端数据为例 mat = loadmat('12k_Drive_End_IR007_0_177.mat') key = [k for k in mat.keys() if k.startswith('X')][0] signal = mat[key].flatten() # 一维振动信号 fs = 12000 # 采样频率 12kHz # 按固定长度滑窗切分样本,生成 (样本数, 长度) 张量 window, stride = 1024, 512 samples = [signal[i:i+window] for i in range(0, len(signal)-window, stride)] X = np.vstack(samples)切分后的每个样本都对应一个故障标签,可以直接喂给 CNN 或传统分类器。注意 CWRU 有 12kHz 和 48kHz 两套数据,混用前务必检查采样率是否一致。
4.3 第三步:用小数据集快速验证流程
建议先用单工况、单故障位置的小子集把"加载 → 切分 → 训练 → 评估"全流程跑通,再逐步扩展到多工况。项目仓库中提供了多个数据集的官方来源链接与 GitHub 上的 Python 加载工具(如cwru包),可自动下载解析,省去手动整理的时间。
五、进阶优化:当"够用"的数据遇上"不够用"的工况
5.1 数据增强解决样本稀缺
真实故障样本稀少是通病,推荐三种低成本增强手段:
- 时域增强:时间拉伸/压缩 ±10%、叠加 20~40dB 信噪比的高斯噪声、幅度缩放 ±20%;
- 频域增强:模拟转速波动的频率偏移、突出故障特征频率的谐波增强、带通滤波提取特定频段;
- 滑窗重叠采样:用重叠步长从长信号中切出更多样本,是最简单有效的"免费"增强。
5.2 迁移学习应对工况迁移
CWRU 训练的模型换到 Paderborn 数据上往往性能骤降,这是典型的跨工况域偏移问题。东南大学团队在 SEU 齿轮箱数据上验证了基于深度迁移学习的方法(论文发表于 IEEE Transactions on Industrial Informatics),在源域与目标域工况差异明显的设定下仍能保持高精度。实践上,可以用 CWRU 做预训练,再用目标工况的少量数据微调。
5.3 用退化数据做剩余使用寿命预测
拿到 XJTU-SY 或 FEMTO-ST 全寿命数据后,常规做法是:先做趋势性特征提取(如 RMS、峭度、小波包能量),再训练回归模型(LSTM、GRU 或高斯过程回归)预测剩余寿命。基于退化数据训练的 RUL 预测模型,其平均误差通常能控制在 8% 以内,显著优于传统的振动阈值报警方法——这也是 PHM 领域近年来最活跃的方向。
六、常见问题与避坑提示
Q1:数据集下载不了怎么办?个别数据集官网可能改版或关闭。项目 README 中提供了维护者联系方式,但请务必先自己尝试官方渠道和镜像渠道,确认真无法获取再寻求帮助。
Q2:不同数据集的采样率差很多,能混用吗?不建议直接混用。CWRU 12kHz、IMS 20kHz、Paderborn 64kHz、渥太华 200kHz,采样率差异意味着频带覆盖不同。若要跨数据集验证算法,需统一重采样或统一特征提取口径。
Q3:人工故障和真实故障,选哪个?都选。先用 CWRU/Paderborn 这类人工故障数据调通算法,再用 MFPT 的真实故障案例做泛化性检验。很多论文只报 CWRU 的 99% 准确率,但真实场景下数据分布变化会让准确率明显回落。
Q4:用数据集做研究需要注意什么?务必遵守各版权方的引用要求,在论文中明确标注数据来源和原始实验说明。竞赛类数据(如工业大数据创新竞赛转子数据)通常需要授权,使用前确认版权条款。
Q5:电机异音质检类数据怎么用?电机异音 AI 诊断竞赛(如雪浪工业数据智能挑战赛)模拟的是产线质检场景,要求算法对故障电机"零漏检"——即在召回率 100% 的前提下尽量提高准确率。这类数据适合做二分类阈值调优和代价敏感学习的练习。
图 2:电机异音 AI 诊断竞赛与轴承故障预测场景,代表数据集在工业质检与预测性维护中的实际落地方向
七、它和"自己到处爬数据"差在哪:一张对比表
| 对比维度 | 自己零散找数据 | 使用本项目索引 |
|---|---|---|
| 数据集来源 | 单一机构,靠运气 | 全球 20+ 机构,按层分类 |
| 故障类型覆盖 | 有限,视碰巧找到什么 | 轴承/齿轮/转子/电机全覆盖 |
| 工况多样性 | 多为固定工况 | 含多工况、时变转速、加速退化 |
| 文档完备性 | 依赖官网零散说明 | 每套数据有独立文档+论文索引 |
| 选型成本 | 反复试错 | 按决策树 5 分钟定位 |
八、下一步行动建议
如果你刚接触故障诊断,建议按这条路径推进:先从doc/CWRU.md开始,用 CWRU 数据跑通一个简单的频谱分析或 CNN 分类实验;然后尝试 MFPT 的真实故障案例检验泛化性;最后用 XJTU-SY 或 FEMTO-ST 挑战剩余使用寿命预测。每一步对应的数据集文档、论文参考和实验条件记录,都可以在该项目的doc/目录下按需查阅。
数据是故障诊断研究的"水电煤"。与其把时间耗在寻找和甄别数据上,不如站在现成的索引体系上,把精力留给真正有价值的部分——算法设计与工业落地。开源共享是一种精神,愿这份整理能帮你少走弯路,也欢迎你为它补充新的数据源,让旋转机械故障数据集生态越来越完整。
【免费下载链接】Rotating-machine-fault-data-setOpen rotating mechanical fault datasets (开源旋转机械故障数据集整理)项目地址: https://gitcode.com/gh_mirrors/ro/Rotating-machine-fault-data-set
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考