本文为基于真实研发项目的技术经验总结。
摘要
许多设备出现故障前,并不会马上停止运行,而是先出现一些不太明显的变化。例如,动作时的振动比以前更大,运行声音发生改变,某个动作变慢,冲击次数增多,或者不同测点之间的振动差异变大。
这些变化可能很轻微,现场人员仅凭观察和听声音不一定能够及时发现。但是,安装在设备上的传感器可以把这些变化记录下来。通过分析振动、磁场等信号,可以判断设备的运行状态是否正在偏离正常范围。
本文结合某型设备监测系统的研发实践,介绍一种较为完整的设备异常识别方法。该系统利用两个三轴振动传感器和一个三轴磁场传感器采集设备运行数据,先从连续数据中自动找到一次完整动作,再分析该动作的振动特点,最后使用人工智能模型判断它是正常、可疑还是异常。
这套方法不要求事先准备大量故障样本。系统只需采集一批设备正常运行时的数据,就可以学习正常状态的共同规律,因此比较适合故障样本少、设备差异较大的实际应用场景。

一、设备异常识别到底要解决什么问题
传统设备检查主要依靠人工观察、听声音、测量间隙或者进行定期拆检。这些方法仍然很重要,但存在一个共同问题:很多早期异常不容易被直接发现。
例如,设备中的某个部件开始轻微磨损后,设备可能仍然能够完成正常动作。从外表看没有明显问题,但动作时产生的振动已经发生变化。
这些变化可能包括:
- 振动比平时更大;
- 动作过程持续时间变长;
- 原来只有一次冲击,现在出现多次冲击;
- 某些频率的振动明显增强;
- 两个位置测到的振动差异变大;
- 同一种动作每次产生的波形越来越不一致。
设备异常识别系统的任务,就是从大量传感器数据中发现这些变化。
它并不是简单地判断“设备还能不能运行”,而是判断“设备现在的动作是否仍然符合正常规律”。
二、为什么要同时采集振动和磁场
本项目主要采集两类信号:振动信号和磁场信号。
两个三轴振动传感器分别安装在不同位置,每个传感器都可以测量X、Y、Z三个方向的振动。这样,一次设备动作可以从两个位置、六个方向进行观察。
磁场传感器也采集三个方向的数据。系统还会把三个方向合成为一个综合磁场强度,用来表示当前磁场总体有多强。
在整个系统中,两类信号承担的任务不同:
- 磁场信号主要用于判断设备动作什么时候发生;
- 振动信号主要用于判断这次动作是否正常;
- 磁场负责“找动作”,振动负责“看状态”。
这种分工可以降低分析难度。
如果直接在连续振动数据中寻找异常,系统可能会受到环境振动、人员走动、设备附近其他机械运行等因素干扰。先利用磁场信号找到明确的设备动作,再分析动作前后一小段振动数据,结果通常更加稳定。
三、如何从连续数据中找到一次动作
设备运行过程中,传感器会持续产生数据。一项检测任务可能持续数小时、数天甚至更长时间。
人工智能模型不能每次都分析全部数据,而是需要先把连续数据切分成一个个独立动作。例如:
- 第一次动作什么时候开始;
- 动作最明显的时刻在哪里;
- 动作什么时候结束;
- 下一次动作又从哪里开始。
在本项目中,设备动作会引起磁场明显变化。有一类动作表现为磁场快速下降,另一类动作表现为磁场快速上升。
事件识别方法为自动突变检测方法。这种方法的特征是比较某个时间点之前和之后的平均磁场。例如:
- 如果前面一小段时间的磁场较高,后面突然明显降低,说明发生了一次下降动作;
- 如果前面较低,后面突然明显升高,说明发生了一次上升动作;
- 如果前后变化不大,就认为没有发生设备动作。
系统还会自动估计当前数据的正常波动范围。只有明显超过背景波动的变化,才会被当作候选动作。
这种方法的优点是,不同设备即使磁场绝对值不同,只要动作时仍然存在明显的上升或下降变化,就有可能被识别出来。
四、为什么一次动作附近会出现多个候选点
设备动作通常不是完全平滑的。
在一次实际动作过程中,可能出现快速变化、瞬间冲击、短暂回弹和逐渐稳定等阶段。这样,一个动作附近可能出现多个磁场峰值或多个变化点。
如果不进行处理,系统可能把一次动作错误地识别成两次或三次动作。
因此,事件识别还需要进行合并和去重。
系统会设置一个较短的“去重时间”。在这段时间内,如果检测到多个相同方向的变化,只保留最明显的一次。这样可以避免把动作后的振荡和回弹误认为新的动作。
另外,找到动作触发点后,系统会向前保留一段时间,向后再保留一段时间,形成一个完整的事件窗口。
这个窗口应该覆盖:
- 动作发生前的稳定状态;
- 动作开始过程;
- 主要冲击过程;
- 动作结束后的振动衰减过程。
后续的特征计算和人工智能判断,都是基于这个完整窗口进行的。
五、动作时间点可以怎样确定
检测到磁场明显变化后,还需要确定一个统一的动作触发时间。系统支持几种方法。
第一种方法是选择磁场变化最明显的位置。
这种方法比较稳定,不容易受到小幅噪声影响,但选出的时间通常位于整个变化过程的中间位置。
第二种方法是选择磁场变化速度最快的位置。
这种方法更接近设备动作最剧烈的瞬间,但如果原始数据中存在尖峰噪声,可能会造成时间点偏移。
第三种方法是先估计动作前后的两个稳定状态,再选择磁场从一个状态变化到另一个状态一半的位置。
这种方法物理意义比较清楚,也更适合比较不同设备、不同任务中的动作时间。
在实际系统中,可以根据现场数据选择合适的触发时间定位方式。无论使用哪一种方法,都应保持训练阶段和正式检测阶段一致。
六、为什么使用两个三轴振动传感器
不同位置测到的振动往往不同。
靠近动作部件的位置,可能对冲击最敏感;较远的位置,可能更容易反映振动在整体结构中的传播情况。
如果只安装一个传感器,某些局部异常可能不容易发现。两个传感器可以互相补充,也可以进行对比。
三轴测量同样重要。设备产生的振动不一定只沿某一个固定方向传播。安装角度、受力方向、结构刚度和连接状态发生变化后,振动能量可能从一个方向转移到另一个方向。
因此,三轴数据能够更加完整地反映设备动作状态。
本项目最终可以得到六路振动信号:
- 传感器A1的X、Y、Z三个方向;
- 传感器A2的X、Y、Z三个方向。
不同位置和不同方向的信号共同构成一次动作的状态信息。
七、为什么不直接把整段波形交给模型
一次设备动作可能包含几百甚至几千个振动数据点。
理论上,可以直接把全部原始波形输入人工智能模型。但这种方式通常需要更多训练数据、更复杂的模型和更强的计算能力,也更容易受到动作起点偏移和偶然噪声影响。
本项目采用了更加适合现场设备的方法:先把一段复杂波形转换成少量能够代表其主要特点的数字。
这些数字称为“特征”。
可以把特征理解成一次设备动作的“体检指标”。它们不再记录每一个采样点,而是概括这次动作的主要表现。
例如:
- 整体振动有多大;
- 最大冲击有多强;
- 波形波动程度如何;
- 振动能量集中在哪些频率;
- 高频振动是否增加;
- 波形是否比正常情况更加尖锐;
- 不同方向之间的关系是否变化。
本项目将每次动作转换成20个特征值。这样,模型不必处理很长的原始波形,只需要分析这20个能够代表动作状态的数字。
八、什么是时域特征和频域特征
设备振动特征大致可以分为两类。
第一类是时域特征。
时域特征直接从振动波形随时间的变化中计算。它们主要回答以下问题:
- 振动平均处于什么水平;
- 振动波动有多大;
- 最大值和最小值是多少;
- 最大冲击有多明显;
- 整段信号的总体能量有多大;
- 波形中是否存在特别尖锐的冲击。
第二类是频域特征。
复杂振动通常可以看作许多不同频率振动的组合。频域分析就是把混合在一起的振动拆开,观察不同频率分别有多强。
频域特征主要回答:
- 振动主要集中在哪个频率附近;
- 低频、中频和高频分别有多少能量;
- 是否出现了以前没有的高频成分;
- 频率分布是集中还是分散;
- 整体频谱是否变得更加复杂。
时域和频域反映的是同一段振动的不同方面。两类特征结合后,通常比只使用一种特征更加可靠。
九、为什么分析前要进行滤波
传感器采集到的数据不仅包含设备动作本身,也可能包含一些无关成分。
例如:
- 传感器本身存在固定偏差;
- 设备周围有缓慢变化的背景振动;
- 电气干扰产生高频噪声;
- 安装位置发生轻微变化;
- 个别采样点出现异常尖峰。
为了减少这些因素的影响,系统在提取特征前会对信号进行预处理。
首先,可以减去传感器对应的零点值。零点值相当于传感器在静止状态下的基础读数。去除零点后,更容易观察真正由设备动作产生的变化。
其次,可以使用巴特沃斯滤波器,只保留对设备分析有意义的频率范围,减少低频漂移和过高频率噪声。
滤波参数必须与采样频率相匹配。采样频率不同,能够分析的最高频率也不同,因此不能直接使用完全相同的频率范围。
更重要的是,训练模型时和正式检测时必须使用相同的处理方法。如果训练时经过滤波,现场推理时却使用原始数据,模型收到的数据就会与训练数据不一致,判断结果也会变得不可靠。
十、为什么特征还要做统一处理(归一化)
20个特征的数值范围可能相差很大。
例如,有的特征可能只有零点几,有的特征可能达到几十或几百。如果直接输入模型,数值较大的特征可能对结果产生过强影响。
因此,在训练前需要对特征进行统一处理,使不同特征大致处于相近范围。
为了避免少数特别大或特别小的异常值影响整体范围,系统不会简单使用全部数据中的最大值和最小值,而是忽略最极端的一小部分数据,再确定正常范围。
这种处理可以减少偶然尖峰对模型的干扰,使模型更加关注大多数正常动作的共同规律。
每个模型都必须保存自己对应的统一处理参数。现场使用模型时,需要先按照同样的参数处理特征,然后才能送入模型。
十一、人工智能模型如何学习正常状态
本项目采用的是一种无监督学习模型,称为自编码器(Autoencoders)。
自编码器的工作方式可以通俗地理解为“先压缩,再还原”。
训练时,把正常动作的20个特征输入模型。模型先把这些信息压缩成更少的内部信息,然后再尝试恢复成原来的20个特征。
经过大量正常样本训练后,模型会逐渐熟悉正常设备动作的共同规律。
当输入新的正常动作时,模型通常能够比较准确地还原这些特征。
当输入一个明显偏离正常规律的动作时,模型可能无法准确还原。例如,这次动作的冲击更强、频率分布不同或者两个传感器之间的关系发生变化,模型还原后的结果就会和原始输入存在较大差异。
这个差异就是异常判断的重要依据。
差异越小,说明本次动作越接近正常状态;差异越大,说明本次动作与正常规律相差越远。
十二、为什么结果分成正常、可疑和异常
如果系统只设置“正常”和“异常”两种结果,实际使用中可能出现较多误报。
设备运行环境比较复杂,现场可能出现偶然碰撞、环境振动、传感器干扰或者短时间的工况变化。这些情况可能使异常分数升高,但并不一定代表设备已经发生故障。
因此,系统设置了三个判断等级:
- 正常:与正常模型的差异较小;
- 可疑:存在一定偏差,需要继续观察或人工复核;
- 异常:与正常状态存在明显差异,应重点检查。
“可疑”相当于一个缓冲区域。
它可以避免系统因为轻微波动就直接发出严重告警,也可以防止一些正在逐步发展的异常被简单归为正常。
在现场应用中,可疑和异常事件都应保存下来,供专业人员查看原始波形、频谱和滤波结果。
十三、为什么需要多个模型
某型设备包含两类主要动作。不同动作的振动规律通常不同。
同时,两个振动传感器安装在不同位置,它们采集到的数据特点也不相同。
如果把所有动作和所有传感器的数据混合到一个模型中,模型需要同时学习多种差异很大的正常规律,判断难度会增加。
因此,系统按照动作类型和传感器位置分别训练模型。
两个动作类型与两个传感器组合后,共形成四个模型:
- 动作A对应传感器A1;
- 动作A对应传感器A2;
- 动作B对应传感器A1;
- 动作B对应传感器A2。
每个模型只学习一种动作、一个位置的正常规律,模型任务更加单一,通常也更加稳定。
模型还必须与采样频率一致。使用1000赫兹数据训练的模型,不能直接处理采样频率不同的数据。因为采样频率变化后,波形点数、滤波结果和频率分析结果都会发生变化。
十四、什么是预采集
不同设备之间可能存在一定差异。
即使是相同型号的设备,也可能因为安装方式、使用时间、工作环境和传感器位置不同,产生不同的正常信号。
因此,系统设置了预采集阶段。
预采集可以理解为让系统先观察设备在正常状态下是怎样工作的。
预采集期间,需要确认设备运行正常。系统在这段时间内采集一定数量的动作事件,再使用这些正常动作训练现场模型。
预采集可以采用两种结束方式:
- 达到设定时间后结束;
- 采集到设定数量的有效事件后结束。
从模型训练角度看,按照事件数量结束通常更加合理。因为模型需要的是足够多的有效动作,而不是单纯运行了几个小时。
如果设备运行次数较少,即使采集时间很长,也可能得不到足够的训练样本。反过来,如果设备动作频繁,可能不需要等待很长时间就已经满足训练要求。
十五、自学习检测模式如何运行
在自学习检测模式下,系统尽量自动完成整个流程。
用户创建检测任务后,系统开始预采集。预采集达到设定的时间或事件数量后,自动停止。
随后系统依次进行:
- 自动识别预采集数据中的动作事件;
- 检查事件数量是否足够;
- 导出训练所需的数据;
- 将正常事件分为训练数据和评估数据;
- 分别训练四个模型;
- 保存模型及其参数;
- 启动正式采集;
- 使用刚生成的模型识别后续动作。
为了方便用户了解进度,界面可以逐步显示:
- 预采集已经结束;
- 正在进行事件识别;
- 发现了多少个动作;
- 正在导出训练数据;
- 正在训练哪个模型;
- 模型训练是否成功;
- 正在启动正式检测。
自动训练得到的模型可以直接用于本次检测,但更适合先作为实验模型保存。
因为它只使用了当前设备的一次预采集数据,还没有经过长期验证。如果需要把它用于其他任务或者其他设备,通常应再进行人工审核和独立测试。
十六、已有模型检测模式如何运行
如果已经存在经过验证的正式模型,就可以跳过预采集和现场训练,直接开展检测。
用户先从模型列表中选择一个或多个模型。系统根据当前采样频率、动作类型和传感器位置自动过滤不匹配的模型。
然后启动正式采集。
每当系统识别出一个新动作,就会:
- 读取该动作对应的振动数据;
- 进行零点处理和滤波;
- 计算20个特征;
- 按照模型要求统一特征范围;
- 输入模型;
- 得到异常分数;
- 输出正常、可疑或异常结果;
- 保存判断结果和对应数据。
这种模式不需要现场等待模型训练,更适合已经建立成熟模型库后的重复检测。
十七、为什么模型推理不能影响数据采集
正式检测时,系统需要同时完成许多工作:
- 接收传感器数据;
- 将原始数据写入数据库;
- 自动寻找设备动作;
- 截取动作数据;
- 提取特征;
- 运行人工智能模型;
- 保存判断结果;
- 更新界面。
如果所有工作都挤在同一个线程中,某一步处理时间较长,就可能影响传感器数据接收。
例如,模型推理稍微变慢,或者数据库临时写入较慢,都可能造成采集线程等待,最终导致数据丢失。
因此,系统采用分工处理方式:
- 采集线程只负责接收数据;
- 数据处理线程负责转换和整理数据;
- 数据库线程负责批量保存;
- 事件扫描线程负责寻找新动作;
- 推理线程负责特征计算和模型判断;
- 界面只按照固定时间间隔刷新。
数据采集始终具有最高优先级。
模型判断可以晚几秒出现,但原始数据一旦丢失,通常无法重新获得。因此,系统设计必须坚持一个基本原则:
识别可以延迟,采集不能中断。
十八、长时间采集为什么要采用分库保存
设备连续采集数天甚至数十天后,数据量会非常大。
如果全部数据都写入一个数据库文件,数据库文件可能达到数百GB,后续查询、导出、备份和删除都会变得困难。
因此,系统采用按日期分库的方式保存数据。
例如:
- 第一天的数据写入第一天的数据库文件;
- 跨过午夜后,数据自动写入第二天的数据库文件;
- 同一个采集任务可以关联多个日期分库;
- 查询和导出时,系统根据时间范围自动读取对应文件。
任务基本信息、模型信息和分库位置保存在一个较小的主数据库中,原始振动和磁场数据则保存在每天的分片数据库中。
这种方式可以避免单个数据库文件无限增大,也方便按时间进行管理。
十九、异常结果为什么必须能够回看
人工智能模型输出一个“异常”结果并不代表分析工作已经结束。
现场人员还需要知道:
- 哪一次动作被判定为异常;
- 异常发生在什么时间;
- 哪个传感器发现了问题;
- 异常分数是多少;
- 原始振动波形是什么样;
- 哪些频率成分发生了变化;
- 滤波后是否仍然存在异常冲击;
- 另一个传感器是否出现了类似变化。
因此,系统会保存可疑和异常事件的详细信息。
用户可以点击某个事件,查看:
- 六路振动时程曲线;
- 磁场变化曲线;
- 振动频率分析结果;
- 巴特沃斯滤波后的曲线;
- 动作触发时间标记;
- 使用的模型名称和版本;
- 模型给出的异常分数。
这种方式可以让模型负责快速筛选,让专业人员负责最后复核。
系统不再要求人工浏览几天或几十天的全部数据,而是只需要重点查看少量可疑和异常事件。
二十、模型文件为什么不能只有一个ONNX文件
人工智能模型要在现场可靠运行,仅保存一个模型文件是不够的。
模型还必须配套保存以下信息:
- 模型名称;
- 模型版本;
- 对应的动作类型;
- 对应的传感器位置;
- 适用采样频率;
- 特征计算方法;
- 滤波参数;
- 特征统一处理参数;
- 正常判断阈值;
- 可疑和异常判断阈值;
- 训练数据说明;
- 训练和评估结果;
- 模型状态;
- 文件校验信息。
这些内容共同组成一个完整的模型发布包。
如果缺少其中任何一部分,即使模型文件本身没有变化,现场计算出的结果也可能与训练时不一致。
例如,训练时使用了一种滤波频率,现场却使用另一种滤波频率;或者训练时使用某组特征范围,现场使用了另一组范围,都会导致模型判断失真。
因此,模型管理实际上也是异常识别系统的重要组成部分。
二十一、当前方法还存在哪些限制
这套方法能够判断设备动作是否偏离正常规律,但仍有一些需要注意的地方。
第一,模型发现异常后,不一定能够直接指出具体故障原因。
不同问题有时会产生相似的振动变化。模型可以告诉用户“这次动作不正常”,但最终原因可能仍需结合设备结构、维护记录和现场检查进行判断。
第二,预采集数据必须真实正常。
如果预采集阶段设备已经存在轻微问题,系统可能把这种状态当作正常状态学习。因此,预采集前应先进行基本检查,并对训练样本进行质量筛选。
第三,传感器安装变化会影响模型。
如果传感器被重新安装、方向改变或固定松动,采集到的振动可能明显变化。此时,原模型是否还能继续使用,需要重新评估。
第四,事件识别结果会影响后续分析。
如果一次动作没有被完整截取,或者一个动作被错误拆成多个事件,模型得到的特征就会不准确。因此,事件识别本身也需要进行验证。
第五,设备正常状态可能随时间缓慢变化。
温度、负载、使用年限和环境变化,都可能使正常信号发生漂移。模型不能永远固定不变,需要定期评估是否应当更新。
结语
设备运行异常识别并不是只训练一个人工智能模型就能完成。
它需要形成一条完整的工作流程,包括:
- 稳定采集传感器数据;
- 自动寻找设备动作;
- 截取完整的动作时间段;
- 对信号进行零点处理和滤波;
- 提取能够反映设备状态的特征;
- 使用正常数据训练模型;
- 对新动作进行在线判断;
- 保存可疑和异常事件;
- 支持原始波形、频率和滤波结果回看;
- 对模型和检测结果进行长期管理。
本项目采用磁场信号寻找动作,使用两个三轴振动传感器观察动作状态,再通过自编码器学习设备正常运行规律,最终形成了从预采集、自动训练到正式检测和结果复核的完整流程。
这套系统并不是要完全替代专业人员,而是帮助专业人员从海量数据中快速找到最值得关注的事件。过去可能需要人工查看几天的数据,现在系统可以先自动筛选,只留下少量可疑和异常动作供人工检查。
因此,这类技术最实际的价值,是提高设备检查效率,帮助发现早期变化,并为后续维护和长期状态评估提供更加客观的数据依据。