
搞故障诊断这几年我最深的体会是真正卡脖子的往往不是模型不是调参而是数据。找来找去来来回回就是那几份公开数据集新人刚上手连一份标注清楚、能直接跑通实验的轴承数据都找不到。所以我一直想整理一份相对完整的开源数据集清单把机械、流程、设备健康管理这些领域里能公开拿到、能直接用来做故障诊断和剩余寿命预测的资源都盘一遍。这篇文章就来交这份作业按轴承、齿轮箱、电池、流程工业、航空发动机等方向拆分附上每个数据集能干什么、大概怎么获取、有什么坑方便你按图索骥。不管你是刚接触故障诊断的研究生还是在企业里做设备健康管理、状态监测的工程师这篇文章都值得收藏下来当索引用。看完之后你至少能知道三十多个开源数据集分别是什么、适合做的任务类型以及拿到数据后该怎么规划自己的第一个实验。1. 故障诊断数据集为什么这么难找公开资源又集中在哪1.1 数据的稀缺是故障诊断行业的结构性问题我见过不少新人一开始特别自信觉得自己算法功底不错结果一到实际项目就傻眼——现场设备长期正常运转故障样本少得可怜偶尔坏一次传感器有没有提前装好都是个问题。这就是故障诊断场景的特殊性故障是低概率事件你没法像图像识别那样轻松标注几万张“猫”和“狗”的图片。真正发生故障时又往往伴随着停机抢修没有人会为了收集数据让产线继续带病运行。所以故障数据天然的稀缺不是某个团队不努力而是客观条件限制。另一个问题是标注成本。哪怕你费尽周折采到了振动、电流、温度信号要把它精准标注成“内圈点蚀”“外圈剥落”“滚动体裂纹”必须有设备拆解记录或者高精度诊断手段佐证。工业现场的许多数据甚至连“正常”和“异常”都未必分得清因为设备状态存在退化过程不是非黑即白。这种高标注成本直接劝退了很多想开源数据的团队。1.2 为什么开源资源大多集中在轴承如果你经常搜“故障诊断 数据集”会发现十个链接里有七八个是轴承相关的。原因很简单轴承是旋转机械里最基础、最容易失效的部件而且故障模式相对标准化学术界积累了成熟的动力学模型和诊断流程。更关键的是轴承故障可以在实验室里人为注入用电火花加工等方式在滚道或滚动体上做一个微小凹坑成本可控重复性好。再加上CWRU等早期数据集免费开放后续很多团队都采用类似实验台模式导致轴承数据成了故障诊断领域的“标准件”。此外轴承数据的传感器布置也比较固定通常就是在轴承座上装加速度计信号是几万赫兹的高频振动特征频率能通过轴承参数直接算出来。这种“有标准答案”的数据用来验证算法再合适不过。所以无论是发论文还是培训新人轴承数据集都承担着“Hello World”的角色。1.3 从搜索热词看大家要的不只是传统数据集我特意观察了“故障诊断代码”“基于数据驱动的加工产线工业机器人内部轴承故障诊断方法数据集”“MCU故障诊断”这些搜索热词能明显感觉到需求正在变化。早年大家搜“CWRU数据集怎么用”现在更多人问的是“有没有工业产线机器人的轴承故障数据”“有没有嵌入式MCU的故障诊断案例”。这其实反映了故障诊断正在从实验室走向现场从单纯旋转机械走向机电软一体化系统。比如工业机器人的内部轴承多大载荷、什么转速、怎么安装传感器和普通电机试验台完全是两回事再比如MCU层面的故障诊断关注的是程序跑飞、ADC采集异常、通信错误这已经属于电子系统健康管理的范畴传统的振动数据集根本覆盖不了。所以这篇文章在盘完传统开源数据集之后我也会专门聊一聊面对这些新场景数据不够用该怎么办。2. 三十多个开源数据集速查一份可以用一年的清单2.1 轴承故障诊断从入门到进阶的开源资源轴承数据集是故障诊断的第一站下面这些基本覆盖了从标准故障分类到寿命预测的各类任务CWRU凯斯西储大学轴承数据中心最经典的滚动轴承故障数据集驱动端和风扇端都有加速度振动数据采样率12kHz和48kHz可选故障类型包含内圈、外圈、滚动体和正常状态每个故障还分了0.007英寸到0.028英寸的损伤尺寸适合做故障分类和迁移学习入门。IMSNSF I/UCR中心轴承全寿命数据四组轴承从正常到严重退化的全生命周期数据振动采集频率20kHz适合做退化趋势分析和剩余寿命预测。XJTU-SY西安交通大学与昇阳科技滚动轴承加速寿命试验数据集15个轴承在三种工况下的加速退化数据每个轴承都有完整的全寿命周期振动信号并提供了失效位置的拆解记录这在公开数据集里非常宝贵。PRONOSTIAFEMTO-ST机构轴承退化数据集IEEE PHM 2012挑战赛官方数据包含多个轴承的退化振动信号带有温度和瞬时转速信息是剩余寿命预测圈的“硬通货”。PU德国帕德博恩大学轴承数据集同时提供振动和电流信号故障类型包括真实损伤和人工损伤数据质量高工况覆盖较全特别适合多传感器融合和跨工况迁移研究。MFPT美国机械故障预防技术学会数据集提供了真实故障轴承样本和试验台数据包含正常、外圈、内圈等工况适合作为CWRU之外的独立验证集。UOCondor渥太华大学滚动轴承退化数据集面向轴承退化过程研究包含多组全生命周期振动数据适合RUL建模。2.2 齿轮箱与传动系统多部件耦合的典型场景齿轮箱数据比轴承更复杂的地方在于它往往是齿轮、轴承、轴系多个部件同时作用振动信号混叠严重。下面几个是相对容易获取的齿轮箱数据集东南大学SEU齿轮箱数据集包含行星齿轮箱和直齿轮箱在不同工况下的振动数据有齿轮断齿、磨损、缺失等故障模式。江南大学JNU齿轮箱数据集多工况齿轮故障数据涵盖齿轮磨损、断齿和轴承故障等常用于多分类实验。PHM 2009 Gearbox Challenge Dataset源自PHM学会2009年数据挑战赛数据采集于旋转机械齿轮箱试验台包含不同故障组合适合验证特征提取和分类算法。2.3 电池、流程工业、液压阀门与半导体轴承之外的重要战场故障诊断不止振动信号。锂电池健康管理、流程工业的过程故障、液压阀门故障都是很常见的工程场景。我给它们单列一组NASA PCoE电池老化数据集锂离子电池在不同的充放电循环下老化记录电流、电压、容量、阻抗变化是电池RUL预测的经典数据。CALCE电池数据集马里兰大学高级生命周期工程中心提供包含多种充放电工况的电池容量衰退曲线。Oxford电池退化数据集牛津大学公开的商用锂离子电池退化数据电流电压曲线细致适合做充电曲线特征提取。Toyota Research Institute 18650电池数据集大规模高通量电池充电实验数据覆盖多种充放电边界适合用机器学习做电池寿命预测。TEP田纳西-伊斯曼化工过程数据集基于化工过程仿真模型产生包含21种故障模式是过程监控和故障诊断领域的标准数据。PlantSim过程仿真数据集造纸过程仿真数据包含多故障工况适合做过程异常检测和根因分析。DAMADICS阀门执行机构故障基准模拟工业阀门执行器的故障数据包含阀位、压力、流量等过程变量适合液压与气动系统故障诊断。SECOM半导体制造过程数据反映半导体生产线工艺过程中大量稀疏测量信号适合做高维、类别不平衡和代价敏感分类。2.4 航空发动机与综合设备来自挑战赛和NASA的经典资源最后这部分主要面向系统级健康管理和剩余寿命预测C-MAPSS航空发动机退化仿真数据集NASA开源是发动机越来越复杂的环境中多传感器时间序列数据按工况和故障模式分为FD001至FD004四个子集每个子集都可以当作一个独立数据包来下载很适合做RUL预测任务。NASA铣刀磨损数据集采集铣削加工过程中的振动、电流等信号标注刀具磨损量适合加工过程状态监测。PHM Society历年数据挑战赛PHM 2010、PHM 2012、PHM 2014、PHM 2015等系列不同年份的比赛都会开放一批高质量工业数据涵盖轴承、液压系统、工具磨损等领域虽然一部分年份的数据需要在官网注册申请但整体质量非常高。2.5 30多条数据的速查表为了方便你直接保存我按自己的使用习惯整理了一张速查表这张表把同一平台的不同子集也单独拆出来算作独立资源方便按下载入口索引类别 | 数据集/来源 | 数据类型 | 主要用途 | 获取难度 轴承 | CWRU | 振动加速度 | 故障分类、特征提取入门 | 极低 轴承 | IMS | 振动加速度 | 退化趋势与RUL预测 | 低 轴承 | XJTU-SY | 振动加速度 | 全寿命退化、RUL预测 | 中 轴承 | PRONOSTIA | 振动温度 | RUL挑战赛基线 | 中 轴承 | PU | 振动电流 | 多传感器融合、迁移学习 | 中 轴承 | MFPT | 振动加速度 | 实际故障验证 | 中 轴承 | UOCondor | 振动加速度 | 退化演化建模 | 中 齿轮箱 | SEU | 振动加速度 | 多工况齿轮箱诊断 | 中 齿轮箱 | JNU | 振动加速度 | 齿轮/轴承复合故障 | 中 齿轮箱 | PHM 2009 Gearbox | 振动加速度 | 多故障组合识别 | 低 电池 | NASA PCoE Battery | 电压/电流/容量 | 电池RUL预测 | 极低 电池 | CALCE Battery | 容量/阻抗 | 电池老化建模 | 中 电池 | Oxford Battery | 电压/电流 | 充电曲线特征、RUL预测 | 中 电池 | TRI 18650 Battery | 电压/电流/容量 | 机器学习寿命预测 | 中 流程工业 | TEP | 过程变量 | 过程故障诊断、异常检测 | 极低 流程工业 | PlantSim | 过程变量 | 过程故障分类与根因分析 | 中 阀门 | DAMADICS | 过程变量 | 执行器故障诊断 | 中 半导体 | SECOM | 工艺信号 | 高维异常检测 | 低 航空发动机 | C-MAPSS FD001 | 多传感器时序 | 单工况RUL预测 | 低 航空发动机 | C-MAPSS FD002 | 多传感器时序 | 多工况RUL预测 | 低 航空发动机 | C-MAPSS FD003 | 多传感器时序 | 多故障模式RUL预测 | 低 航空发动机 | C-MAPSS FD004 | 多传感器时序 | 多工况多故障RUL预测 | 低 刀具磨损 | NASA Milling Wear | 振动/电流 | 刀具退化预测 | 中 综合 | PHM历年挑战数据集 | 不定 | 各类实际工业故障诊断 | 中 综合 | Kaggle/GitHub上的整理型数据集 | 不定 | 练手、快速跑通流程 | 低 综合 | Zenodo/Mendeley Data上的实验室开放数据 | 不定 | 横向对比、复现论文 | 低如果你把这些都浏览一遍基本能覆盖故障诊断领域绝大部分常见任务。但光有清单还不够我接下来挑几个最常被用到的数据逐个拆给你看尤其是它们的适用边界和坑。3. 重点数据集逐个拆解从CWRU到XJTU-SY能挖到什么3.1 CWRU每个人的第一个轴承数据集但坑也不少CWRU几乎是故障诊断论文的“默认实验场”绝大多数开源代码也都会用它做演示。它的实验台由电机、扭矩传感器和测功机组成故障轴承安装在电机驱动端或风扇端通过在轴承滚道和滚动体上用电火花加工出单点损伤来模拟故障。采样率方面有12kHz和48kHz两档对应不同故障位置和损伤直径通常大家在论文里用12kHz的驱动端数据就够了。不过这数据用起来有几个容易踩的坑。第一外圈故障数据是在六个不同加载位置分别采集的有些论文把这六个位置全部混成一类这样做分类当然很容易但实际场景中外圈故障的相对位置是随机的直接混用会高估算法性能。更严谨的做法是划分训练集和测试集时让外圈故障位置不重叠或者明确你是做“位置无关”的迁移测试。第二CWRU的信号是稳定工况下单点轻微损伤的振动噪声水平低、故障特征明显算法拿到九十几分并不代表真能在现场通用。把它当成验证特征提取方法和熟悉处理流程的工具会比一味追求准确率有意义得多。3.2 IMS与XJTU-SY全寿命退化数据怎么用如果说CWRU是分类任务那IMS和XJTU-SY就是典型的回归和异常检测任务。这两类数据没有直接标注“内圈故障”或者“外圈故障”而是记录了轴承从健康到失效整个过程的振动信号。比如IMS的四组实验中每组包含多个轴承最终某一个或几个轴承会逐渐退化直到失效XJTU-SY提供了更细致的工况划分和失效部位记录实验结束时还会对轴承进行拆解确认真实的失效模式。拿到这类数据你要做的第一件事不是直接丢给模型而是要先定义“退化起点”。轴承从开始运转到失效前一段时间信号可能非常平稳直接拿全量数据做归一化会严重压缩退化阶段的特征差异。我一般喜欢先计算每个窗口的RMS或峭度画出随时间变化的趋势线观察信号从什么时候开始持续上升或产生波动再以那个时间点作为退化的起点。这个预处理做不好后面不管用什么高级模型都很难有好的RUL结果。另外IMS和XJTU-SY都是典型的右删失和不确定终止数据做数据集划分时尽量按“同一个轴承的所有窗口”归拢避免同一段信号被同时划进训练集和测试集那是比较常见的泄漏写法。3.3 PRONOSTIA与PU挑战赛标准与多传感器融合PRONOSTIA来头不小它是FEMTO-ST机构在IEEE PHM 2012预测与健康管理会议上公开的轴承退化数据集比赛任务就是要在不知道真实寿命的情况下预测轴承剩余使用寿命。数据包含转速和载荷两种工况的17个轴承运行数据每个轴承持续加速退化直到失效振动传感器安装在轴承座上采样频率25.6kHz另外还记录了温度信号。如果你研究RUL预测PRONOSTIA几乎是绕不开的基准。PU数据集则是近年来很有价值的多传感器融合数据。帕德博恩大学在实验台上采集了振动和电流两种模态信号故障类型不仅有内圈、外圈损伤还细分了人工损伤和真实损伤。这种“源域数据和目标域数据不完全一致”的构成非常适合做跨域迁移学习实验。比如用人工损伤样本训练在真实损伤样本上测试非常贴近工程中“实验室复现和现场故障不一致”的现实。PU数据还提供了详细的工况设置包括转速、负载扭矩和径向力可以很方便地构造跨工况任务。4. 实战套路拿到开源数据集后的第一步怎么做4.1 清理与重采样先把数据“对齐”再谈建模很多人下载完数据就急着写模型结果发现模型训练起来特别慢或者A数据集上表现很好、换到B数据集就崩了。问题往往出在最基础的数据清洗环节。第一步要确认采样频率和转速是否一致比如CWRU有12kHz和48kHz两档IMS是20kHzPRONOSTIA是25.6kHz如果不重采样到统一频率特征维度就会对不上也没法做跨数据集的泛化实验。第二步是截取稳定工况段。实际采集的信号经常包含启停阶段、负载波动阶段这些段落在实验室数据里可能不明显但在现场数据里会很突出。对于CWRU这种稳定工况数据通常每个样本取1到2秒就够对于退化数据则要先把整个寿命信号切成长度相同的窗口比如每个窗口包含4096个采样点或2048个采样点然后再逐窗口计算特征。窗口长度非常重要太短会丢低频故障特征太长会把瞬态冲击平均掉。我自己在振动数据上一般先试4096点窗口再对比8192点和2048点的结果。4.2 数据划分最大的坑是“随机切分”很多公开数据集默认没有给训练集和测试集的划分方式于是大部分初学者就直接把所有样本放一起随机抽取百分之多少作为训练集。这在故障诊断里是非常危险的。因为同一个轴承、同一次工况的相邻窗口样本高度相似随机切分后训练集和测试集里可能都包含同一段信号的邻居窗口模型很容易“背答案”看起来准确率很高实际一到现场就失效。正确的做法是按“实验对象”划分。比如CWRU里让内圈故障的某些载荷样本进训练集另一些载荷样本进测试集XJTU-SY里让同一个轴承的全部窗口要么都在训练集要么都在测试集绝不交叉。这样划分出来的准确率可能比随机切分低几个百分点但更能反映模型的泛化能力。4.3 从数据到基线先用经典方法跑通全流程拿到数据后我建议先别急着上深度学习而是先跑一个轻量级基线。比如先从每个窗口提取一组简单特征时域的RMS、峰值、峰值因子、峭度、偏度和脉冲因子频域的主频带能量、重心频率如果处理的是轴承信号再算一个包络谱特征然后扔给随机森林或梯度提升树分类。这样做的好处是让你快速验证数据质量、标签是否对齐、划分逻辑是否合理。等基线的分类准确率能稳定达到较高水平后再换一维CNN或者LSTM做端到端学习这时候你才有一个靠谱的对照对象。我见过太多人上来就是SOTA模型最后连数据泄漏还是处理流程写错都没发现。经典方法虽然土但它是检验数据流水线正确性的试金石。同样在RUL任务上先用线性回归或指数退化模型做一个简单基线再上Transformer等模型也能帮你判断模型提升究竟来自算法还是来自数据处理。5. 面向产线与工业机器人场景的补充思路数据不够怎么凑5.1 为什么产线系统数据集这么少回到最开始的热词“加工产线工业机器人内部轴承故障诊断”这类数据为什么几乎找不到开源版本原因有几层产线工况是连续的不能停机给你贴传感器机器人内部轴承的安装位置往往在减速器、关节电机里传感器很难直接接触故障点再加上产线数据涉及工艺参数、节拍信息和设备型号企业通常视为机密。所以这类数据只能靠项目团队自己去采集或者通过合作渠道获取指望网上直接下载基本不现实。更麻烦的是即使同一个型号的工业机器人在不同产线上转速、负载、润滑条件和环境温度都不一样。公开实验台上的轴承故障模式迁移到机器人关节轴承上时可能有很大偏移。这也是为什么大家在搜索时会特别注明“基于数据驱动的加工产线工业机器人内部轴承故障诊断方法数据集”本质上是在找一种既包含真实产线运行工况、又有故障标注的稀缺资源。5.2 用公开数据训练现场数据微调迁移学习的可行路径现场数据稀缺不意味着你没活干。一个很务实的路径是拿CWRU、PU这类公开数据集做预训练建立对轴承各类故障信号的通用表征然后到产线现场采集少量正常数据和尽可能少的故障数据用微调或者域自适应技术把模型迁移过去。如果你运气好能采到一两次真实故障或者拆机维修前的历史数据那价值更大哪怕只有几十秒钟的样本也足够做小样本微调了。另外现场往往只有正常运行数据没有故障数据这时候更适合做异常检测任务。你可以用公开数据集中的正常样本训练一个单类分类器比如基于深度自编码器的重构误差或者基于高斯分布的异常分数然后在现场数据上监测新的状态。模型不需要见过现场故障类型只要现场出现与训练分布明显不同的特征就会触发报警。这个方法比硬做故障分类更贴近实际。5.3 仿真与故障注入从MCU级到整机级的造数据思路打开搜索热词还能看到“MCU故障诊断”说实话这个领域几乎没有现成的开源数据集。但这类问题的数据可以通过仿真和故障注入来造。MCU或嵌入式控制器的常见故障包括复位、程序跑飞、ADC采样异常、PWM输出缺失、通信帧错误等你可以在硬件在环或纯仿真环境里主动注入这些故障记录故障前后的控制信号和状态量这就形成了一份标注数据。虽然仿真数据和真实硬件存在差异但用来验证诊断逻辑、训练分类器作为预训练模型是完全可行的。再说回轴承和机器人也有类似的仿真思路。轴承故障机理相对成熟你可以用动力学模型仿真不同损伤位置、不同损伤尺寸下的振动响应生成大批量仿真样本再加上真实实验台数据作为微调可以明显缓解现场样本不足的问题。更进阶的做法是搭建数字孪生环境把产线节拍、负载谱和机器人运动学模型结合起来离线生成各种退化轨迹再配合少量真实数据校准模型。这样产出的数据集虽然不能完全替代真实采集但至少能让你把数据处理、模型训练、指标验证整个流程跑起来而不是停在“没有数据所以什么都做不了”的状态。我自己在实际项目中的习惯是先把公开数据集吃透用CWRU和XJTU-SY跑通所有流程把数据划分、特征提取、模型训练、指标评估这一整套代码沉淀成自己的工具库。等真到了现场数据稀缺的环境就可以用这套工具快速迁移和调整而不是从头开始造轮子。数据集这种东西贵精不贵多与其把三十多个都下载下来放在硬盘里吃灰不如认真吃透三四个经典数据把“传感器信号到故障结论”的整条链路练熟了再横向拓展到齿轮箱、电池和流程工业。等你哪天真面对产线机器人或MCU故障诊断时能救你的不是硬盘里的数据而是你已经跑通的思路和代码框架。