尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

搞故障诊断没数据?六大公开数据集与避坑指南

搞故障诊断没数据?六大公开数据集与避坑指南 简介机械故障诊断是设备健康管理的关键技术而标准化公开数据集是算法研究和验证的重要基础。公开数据集为不同方法提供了统一的比较基准降低了实验硬件投入门槛同时能满足深度学习等数据驱动方法对大规模样本的需求。CWRU、IMS、XJTU-SY等轴承数据集涵盖人为故障、自然退化、变工况等多样场景广泛支撑故障分类、剩余寿命预测与迁移学习研究。针对数据集选择与使用的实际痛点围绕主流资源的特点、适用方向、下载加载技巧及预处理注意事项进行系统梳理帮助读者高效构建诊断实验避开常见陷阱。 搞设备健康管理这些年我和不少刚入行的朋友聊过大家碰到的第一个坎出奇一致想做故障诊断算法但手里没有数据。实验室里跑转台成本高现场数据又涉及生产安全拿不到最后只能靠公开数据集起步。我当初也是这么过来的下载、破解mat文件、做预处理踩了不少坑。所以干脆把机械故障诊断领域常用的公开数据集系统整理一遍把自己用过的、见过别人用过的资源都列出来附带一些实际使用中的体会给正在找数据的朋友省点时间。这套资源合集主要面向三类人一是刚入门的学生需要标准数据集验证自己的特征提取或分类算法二是企业里的算法工程师需要多工况、多故障类型的数据做模型验证或迁移学习三是做设备健康管理产品的人想用成熟数据集评估一套诊断方案的可行性。1. 先搞清楚做故障诊断为什么离不开公开数据集1.1 公开数据集的三个核心价值第一是提供基准。你提出一个新的诊断方法总得证明它比别人强怎么证明大家在同样的数据上跑对比结果才有说服力。CWRU轴承数据集、IMS轴承数据集就是行业里的“标尺”论文里随处可见基于这些数据的对比实验。第二是降低起步门槛。组建一套完整的故障模拟实验台从电机、联轴器、轴承到数据采集系统没有十几万下不来还要解决故障注入的问题——总不能把好轴承砸坏了做实验吧。而公开数据集直接把采集好的信号给你省掉硬件投入让你专心搞算法。第三是满足算法对数据量的需求。深度学习做故障诊断已经是主流但深度模型动辄需要几万甚至几十万个训练样本。靠自己的实验台采数据一个工况采几十组就到头了公开数据集则可以提供不同负载、不同转速、不同故障尺寸的丰富样本。1.2 怎样判断一个数据集值不值得用不是所有公开数据集都靠谱我在筛选时主要看四点。工况信息是否完整。数据集中有没有记录转速、负载、采样频率这些关键参数这直接决定了你能否正确计算故障特征频率。有些数据集只给了一堆信号文件却没有标明对应的运行工况这种数据基本没法用。故障类型覆盖是否全面。正常、内圈故障、外圈故障、滚动体故障是基本盘如果能包含复合故障、变工况、早期退化阶段就更好了可以支撑更丰富的实验设计。标签是否可信。故障类型标签是否经过确认是人为加工出来的故障还是自然失效的故障判断方法很简单看数据来源机构的论文看数据集被多少高水平论文引用过。可复现性好不好。数据集是否提供了文档、是否有明确的文件命名规则、是否有人整理过Python读取脚本。一个组织良好的数据集能帮你节省至少一周的摸索时间。2. 滚动轴承数据集逐个拆解绕不开的六套资源滚动轴承是旋转机械里故障率最高的部件所以公开数据集也以轴承为主。下面几套是我见过、用过或者深入研究过的按经典程度逐一说明。2.1 CWRU轴承数据集入门第一站凯斯西储大学Case Western Reserve University的轴承数据中心是整个故障诊断领域引用量最高的公开数据集没有之一。很多人的第一篇故障诊断论文就是在这套数据上完成的。数据来自一个电机驱动系统实验台包含2马力的电机、扭矩传感器和测力计。被测轴承是SKF 6205-2RS深沟球轴承风扇端是6203用电脑放电加工EDM技术在轴承上人为制造了单点故障故障直径从0.007英寸到0.028英寸不等。振动信号通过加速度计采集分别布置在驱动端和风扇端外壳的12点钟方向采样频率有12kHz和48kHz两种档位。这套数据最常见的用法是取驱动端12kHz采样数据按故障类型正常、内圈、外圈、滚动体和故障尺寸0.007、0.014、0.021英寸划分样本构造分类任务。负载方面有0、1、2、3马力四档转速大概在1730到1797转/分之间想验证算法在不同工况下的泛化能力可以拿不同负载做跨域实验。文件格式是mat格式加载的时候有个坑我后面会专门说。一开始下载的时候面对一堆命名奇怪的mat文件确实容易懵建议先去官网下载一份数据说明文档把文件编号和故障类型的对应关系整理清楚再开始。2.2 IMS轴承数据集全生命周期与剩余寿命预测IMSIntelligent Maintenance Systems轴承数据集由辛辛那提大学智能维护系统中心发布存放于NASA的预测数据仓库Prognostics Data Repository。这套数据的最大特点是记录了轴承从正常状态到完全失效的全生命周期振动信号非常适合做剩余使用寿命预测和退化趋势建模。实验设计很有意思四套轴承安装在同一根轴上由交流电机带动以2000转/分左右的转速运行通过弹簧机构施加6000磅的径向载荷。四个加速度计分别安装在轴承座上每10分钟采集一次数据每次采样时长1秒采样频率20kHz。这套数据的价值在于提供了真实的退化过程。轴承不是人为加工出故障而是在持续运行的载荷下自然发生疲劳失效因此退化轨迹非常真实。做寿命预测的朋友几乎都在这套数据上验证过模型。要提醒的是数据记录时间跨度长达数天甚至数周文件数量非常多做预处理时要注意按时间顺序排列否则退化趋势就乱套了。2.3 MFPT数据集变工况数据的加练场MFPTMechanical Failure Prevention Technology机械故障预防技术学会提供了一套精选的故障数据集从官网注册后即可下载。这套数据的特点是包含恒定工况和变速工况两类数据采样频率约97.7kHz精度较高。恒速工况数据包含正常、外圈故障和内圈故障振动信号载荷条件有不同梯度。变速工况数据记录了转速变化过程中的振动信号这种情况下故障特征频率是随时间变化的传统频谱分析方法会失效非常适合用来验证阶比跟踪、时频分析或者时变工况诊断算法。相比CWRUMFPT的数据文件比较少故障模式和工况数量也有限但它的变速工况数据是其他数据集很少提供的。如果项目中涉及变转速条件下的故障诊断MFPT这套数据是你为数不多的选择之一。2.4 Paderborn轴承数据集更贴近工程真实损坏德国帕德博恩大学Universität Paderborn的轴承数据集是近几年比较受关注的一套资源。相比CWRU纯粹的人为加工故障帕德博恩数据同时包含人为损伤和真实损伤两种类型的轴承。所谓真实损伤是把轴承放在专门的试验台上跑出来的疲劳失效产生的是磨蚀、点蚀、疲劳剥落这类真实退化形态。这跟用电火花打出来的规整故障在形态上有本质区别更接近现场设备的破坏模式。同时数据集提供了振动和电流两种信号电流信号可以支撑基于电流分析的故障诊断研究。这套数据需要填表申请审核通过后会给下载密码。申请时写清楚用途一般都能通过就是等待周期可能有两三天。数据量比CWRU大不少故障类型也更接近工业实际在学术论文里的使用比例越来越高。2.5 XJTU-SY数据集国产加速寿命试验中的好选择西安交通大学与广州昇阳科技联合发布了XJTU-SY滚动轴承加速寿命试验数据集这些年已经成了不少国内团队的首选。这套数据在3种运行工况下完成了15个滚动轴承的加速寿命试验完整记录了轴承的退化过程。3种工况分别是转速2100转/分、径向力12千牛转速2250转/分、径向力11千牛转速2400转/分、径向力10千牛。每种工况下做5个轴承的寿命试验每个轴承都记录到失效为止采集了水平和垂直两个方向的振动信号采样频率25.6kHz每个数据文件约1.28秒。这套数据的优势在于一是有完整的失效时间标注适合做剩余寿命预测二是多工况设计适合做跨工况迁移学习三是数据质量高信噪比优于很多国外数据集。它和IMS是寿命预测方向可以互补的两套资源如果IMS用腻了可以在这套数据上交叉验证模型。3. 齿轮箱与复合传动系统数据集补充轴承数据虽然经典但实际设备往往还有齿轮、轴、联轴器等多种部件故障也经常不是单一部件的问题。这时候需要齿轮箱级别的数据集。3.1 东南大学齿轮箱数据集复合故障与多工况的好帮手东南大学发布的齿轮箱数据集在论文里的出镜率越来越高。这套数据采集自一个二级减速齿轮箱实验台故障类型包含齿轮故障和轴承故障并且有多工况的转速与负载组合。和单纯的轴承数据集相比它的振动信号包含齿轮啮合振动、轴承冲击振动和轴系转频的耦合更接近实际传动系统的信号特征。我比较推荐的原因是它提供了不同工况下的数据组合可以非常方便地做跨工况诊断实验。比如在一种转速下训练模型直接拿到另一种转速下测试性能下降了多少一目了然。做域自适应和迁移学习研究的同学这套数据比CWRU的负载变化区分度更高趋势更明显。3.2 渥太华数据集与其他备选资源渥太华大学也提供了一套轴承故障数据集包含不同健康状态轴承在变转速和变负载条件下的振动数据。虽然规模不大但作为有变速工况的轴承数据集可以作为MFPT之外的一个补充验证数据源。其他可以关注的还有美国国家可再生能源实验室NREL的风力机传动链数据以及一些与刀具磨损、液压系统故障相关的公开数据。这些虽然不属于典型的旋转机械轴承数据但在具体应用场景中同样有参考价值。找数据的原则就是先锁定你的故障类型和工况要求再去找对应的数据集不要漫无目的地全下载下来浪费带宽也浪费时间。4. 数据集选型对比表与场景化推荐4.1 各数据集核心参数一览把主要数据集放在一起对比看起来更直观。下表是我整理的常用参数具体数值建议以官方最新说明为准。数据集来源机构信号类型采样频率故障类型数据特点主要应用方向CWRU凯斯西储大学振动加速度12kHz / 48kHz内圈、外圈、滚动体人为EDM故障多种故障尺寸4档负载故障分类、特征提取、迁移学习IMS辛辛那提大学振动加速度20kHz自然退化失效全生命周期记录时间跨度长剩余寿命预测、退化趋势分析MFPT机械故障预防技术学会振动加速度约97.7kHz外圈、内圈人为故障含变速工况数据变工况诊断、时频分析Paderborn帕德博恩大学振动、电流64kHz人为损伤与真实损伤真实损伤数据信号模态丰富故障分类、迁移学习、多模态诊断XJTU-SY西安交通大学振动加速度25.6kHz加速寿命试验自然失效完整寿命记录多工况剩余寿命预测、跨工况诊断东南大学齿轮箱东南大学振动加速度以官方文档为准齿轮、轴承及复合故障多工况传动系统耦合信号齿轮箱诊断、迁移学习4.2 不同研究方向怎么选数据如果做传统机器学习诊断先跑CWRU打底。数据容易获取、样本标签清晰、论文对比基准多各种特征提取方法在这套数据上都有现成的结果可以参考。如果做深度学习端到端诊断Paderborn和东南大学齿轮箱数据更合适。深层网络需要大量样本这两套数据量充足而且信号复杂度高能体现深度模型的特征自提取能力。CWRU信号相对干净深度模型在上面容易达到非常高的准确率反而不容易区分模型好坏。如果做剩余寿命预测IMS和XJTU-SY是首选。IMS是国际通用的benchmark很好对比XJTU-SY数据更新、工况更明确两者可以互为验证。寿命预测是回归任务需要的是退化过程数据而不是简单的健康与故障二分类数据。如果做迁移学习与域自适应CWRU的负载变化、东南大学的多工况设置、XJTU-SY的不同工况设计都能用。关键是构造出分布不一致但任务一致的源域和目标域。如果做无监督异常检测可以优先考虑IMS和XJTU-SY这类包含正常到异常完整过程的数据。用前段正常数据做训练后段故障数据做测试模拟实际场景中最常见的情况。5. 下载、加载与预处理一整套实操思路5.1 下载与mat文件读取注意点大多数学术数据集都以mat或txt格式发布。CWRU的数据是mat格式用Python的话通常用scipy.io.loadmat读取。有一个很隐蔽的问题较新版本的mat文件可能是MATLAB 7.3格式HDF5格式scipy读不了会报错说不是mat文件。解决办法是安装h5py库用h5py.File读取或者想办法转换格式。我建议下载数据时优先找早期版本或者社区整理好的版本省去这个麻烦。文件组织方面建议下载后建一个固定的目录结构比如raw_data、processed_data、train、test把原始文件和预处理后的文件分开。不然几十个mat文件堆在一起时间一长连自己都分不清哪个是哪个。5.2 训练集与测试集划分的坑一个最常见的、也是最容易犯的错误就是随机划分训练集和测试集导致同一工况的数据同时出现在训练集和测试集里。而实际设备运行时工况会变模型在新工况下的表现才是真正要关心的。正确做法是按负载或按转速划分比如CWRU里用0马力和1马力做训练用2马力和3马力做测试。这样训练集和测试集的工况不同模型要靠学习到的不变特征来诊断更能体现模型的泛化能力。这也是很多论文在描述实验设置时会强调“train on one load, test on another”的原因。另外要注意样本均衡问题。正常状态的数据量通常远多于故障状态直接训练会导致模型偏向多数类。常用办法是训练时对少数类过采样或者计算损失时给不同类别加权重要么调整数据集划分策略让每个类别在每个工况下都有足够样本。5.3 信号预处理和样本构造的常用做法拿到原始振动信号后第一步是去除均值、去除趋势项。加速度传感器会有直流偏置不处理会严重影响后续频谱分析的准确性。标准化或者归一化视算法而定深度学习模型一般对原始信号归一化到0到1或标准化到均值为0方差为1。故障诊断中很关键的步骤是设置带通滤波。以CWRU轴承数据为例轴承故障特征频率分布在几千赫兹的频段滤波器中心频率和带宽的选择会直接影响故障特征提取效果。建议先做频谱分析观察故障特征频率所在频段再确定滤波器参数不要盲目套用别人的滤波设置。样本构造采用滑窗切片的思路以2048或4096个采样点为一帧按一定重叠率滑窗截取每帧作为一条独立样本。CWRU的12kHz采样频率下2048个点对应约0.17秒包含足够多旋转周期。重叠率一般取50%。分类任务中每类样本数最好上千训练集、验证集、测试集按6比2比2或者6比1比3划分都行。特征提取方面时域常用均值、峰值、均方根值、峭度、波形因子等频域常用频谱幅值、边频带能量、包络谱特征频率幅值时频域常用小波包能量或经验模态分解的固有模态函数能量。这些特征拼接后送入分类器传统方法同样可以在公开数据集上达到极高的准确率。6. 我用这些数据过程中踩过的坑与排查实录6.1 常见问题速查表问题现象可能原因解决办法loadmat读不了CWRU数据报错提示文件格式不支持数据是MATLAB 7.3以上版本HDF5格式用h5py读取或者找社区转换好的版本IMS数据文件按名称排序后时间顺序是乱的文件名是时间戳但格式不统一解析时间戳并按时间排序不要直接按字符串排序CWRU中同一个故障在驱动端和风扇端读出的数值差异巨大两个测点的轴承型号和传递路径不同选择统一测点做完整实验不要混用两端的信号Paderborn数据申请后长时间收不到下载链接审核周期较长或邮件被拦截过几天后发邮件跟进检查垃圾邮件箱样本切分后模型在训练集上几乎100%但在测试集上很差训练集和测试集来自相同工况被随机划分模型记住工况特征按负载或转速重新划分数据集模拟跨工况诊断包络谱中找不到故障特征频率带通滤波频段设置不合理或转速信息用错根据实际转速重算故障特征频率检查滤波边界频率迁移学习实验中源域准确率很高但目标域掉得厉害源域和目标域工况差异过大或特征分布偏移严重先用t-SNE可视化特征分布再设计合适的域自适应方法6.2 识别数据集质量的几个实用技巧我在使用数据前会先做几件事验证数据是否可靠。第一是跑一个简单的基线模型。用经典时域特征加支持向量机在CWRU上跑一个三分类或四分类任务如果准确率明显低于90%要怀疑数据读错了或标签对应错了先检查数据加载和标签映射的代码。第二是看特征分布。把正常数据和故障数据的某些特征比如峭度、均方根画直方图对比。如果正常数据和故障数据完全重叠说明数据本身有问题或者特征选得不对。大多数工况下正常轴承的峭度接近3故障轴承的峭度会出现明显偏移这个常识可以用来做初步筛选。第三是看论文的引用做法。数据集官网通常有引用说明Google Scholar上搜数据集名称看被引用频次和主流做法。引用了这套数据集的论文越多数据可信度越高同时也能从论文中找到数据预处理的成熟方案。第四是多数据集交叉验证。不要只在一套数据上得出结论。CWRU上表现好的算法在Paderborn或XJTU-SY上不一定同样好风格差异大的数据集能更客观地反映算法鲁棒性。一套算法能在两三套数据集上稳定达到较高准确率说服力比在单一数据集上刷到99%强得多。最后想说的是数据集只是一个工具每个人用同样的数据最后的产出可能天差地别。真正重要的是你对自己要解决的问题有没有清晰定义对数据特征有没有深入理解。很多人拿到数据就急着往上套模型结果模型跑出来不知道背后的机理是什么换个数据集就露馅了。建议拿到一套新数据先用半小时做基础的可视化和频谱分析搞清楚信号长什么样、故障特征在哪里再动手搭模型这个习惯会让你少走很多弯路。本文还有配套的精品资源点击获取
返回列表