电机出厂前的听音点检,很多工厂到现在还是靠老师傅拿一根螺丝刀抵在机壳上、耳朵贴着刀柄听异响。这套方法在单件小批量时代够用,但一旦产线节拍压到十几秒一台、一天几千台下线,人耳的疲劳曲线和主观差异就成了质量数据里最大的噪声源。更麻烦的是,早期轴承划伤、转子动平衡偏差、绕组匝间轻微短路这几类缺陷,在空载短时测试里发出的声音差异往往只有几分贝,人耳在产线环境噪声下根本抓不住,等它变成明显异响时,往往已经批量流出。
我这两年参与的几个电机产线改造项目,核心诉求都指向同一件事:把"听音"这个动作从人耳搬到边缘设备上,用振动、电流、声音多路信号一起判断,在工位节拍内给出在线结论。这篇就围绕多模态边缘 AI 做电机早期缺陷在线识别这个主题,把我在现场踩过的坑、选型的逻辑、特征怎么对齐、模型怎么压进边缘盒子这些事,尽量讲透。适合正在做产线智能化改造的自动化工程师、做设备预测性维护的算法同学,以及想了解边缘 AI 落地真实难度的读者。
1. 为什么单靠麦克风听音在产线上注定不够用
1.1 人耳听音点检的三个硬伤
先说清楚为什么必须换掉人工听音,不然方案设计容易跑偏。人工听音的问题不是"不准",而是"不稳定且不可追溯"。
第一是主观阈值漂移。同一个老师傅,上午精神状态好和下午连续听了三百台之后,判定标准是不一样的。我们做过一次对比实验,让三位有五年以上经验的点检员对同一批 200 台电机(其中 40 台已知有轻微轴承缺陷)做盲测,三人一致判定为"异常"的只有 23 台,漏掉了将近一半。这不是他们水平不行,是人耳对持续性、低强度异常音的敏感度天然有限。
第二是环境噪声掩蔽。产线旁边往往还有压装机、传送带、气动元件在响,背景噪声经常在 70dB 以上。早期缺陷的那点特征频率成分,很容易被宽带噪声盖住。人耳有掩蔽效应,机器不会累,但麦克风同样会被噪声污染,所以单纯换个"电子耳朵"并不能解决问题。
第三是无法量化追溯。听音结果就是"合格/不合格"两个状态,出了问题想回溯"当时到底听到什么",没有任何数据。而质量体系现在越来越要求过程数据可追溯,这一点人工方式先天做不到。
1.2 从"听声音"到"看多路信号"的思路转变
关键认知转变在于:电机缺陷从来不是只在一个物理通道上留下痕迹。轴承外圈划伤,会在振动上产生周期性冲击,在声音上表现为特定频段的能量抬升,同时因为摩擦阻力变化,电流里也会出现对应的调制成分。这三路信号是同一个物理事件的不同投影。
只用一个通道,等于只从一个角度拍照,遇到遮挡就抓瞎。多模态的价值就在这里:振动对冲击类缺陷敏感,电流对电磁和负载类异常敏感,声音对气隙和结构共振敏感,三者互补,才能把早期缺陷的召回率拉上去。
我一般会跟团队强调一句话:多模态不是把三个传感器数据拼在一起喂给模型就完事,而是要让模型学到通道之间的关联。轴承缺陷在振动和电流上出现的时间是同步的,这个"同步性"本身就是极强的判别特征,单通道永远拿不到。
1.3 边缘侧在线识别的节拍约束
为什么强调"边缘"而不是把数据传到服务器算?因为产线节拍不等人。一条电机总装线,单工位测试时间可能只有 8 到 15 秒,其中留给缺陷判定的窗口可能就 2 到 3 秒。数据上传、排队、云端推理、结果回传这一圈下来,节拍早就超了。
边缘 AI 的意义是把推理放在工位旁边的盒子里,采集完直接算,算完直接给 PLC 一个 IO 信号或者通过现场总线回传结果。延迟能压到百毫秒级,而且不依赖网络稳定性。代价是算力和内存受限,模型必须做轻量化,这是后面要重点讲的部分。
2. 多模态信号采集:传感器选型和同步才是真正的难点
2.1 三路信号的传感器怎么选
采集方案直接决定后面模型的上限,这里不能省。我按振动、电流、声音三路分别说。
振动用 IEPE 压电加速度计,量程一般选 ±50g 够用,灵敏度 100mV/g 是常见档位。安装位置很关键,要尽量靠近被测轴承座,用磁吸座或者螺纹刚性连接。我强烈建议用螺纹,磁吸座在高频段会引入额外的谐振,把 5kHz 以上的特征都污染了。采样率按经验至少覆盖到关注特征频率的 2.5 倍以上,轴承故障特征频率经常到 3 到 5kHz,所以振动通道采样率我一般设 25.6kHz。
电流用霍尔电流传感器或者串联采样电阻加隔离放大器。这里有个容易忽略的点:要测的是电机相电流,不是母线电流。相电流里的调制成分才对应转矩波动。采样率不用太高,电流的故障特征集中在低频调制,10kHz 足够,但分辨率要够,早期缺陷的电流调制可能只有基波的千分之几,ADC 位数不够直接淹没在量化噪声里。
声音用驻极体麦克风或者 MEMS 麦克风,频响要覆盖 20Hz 到 20kHz。麦克风位置要固定,最好做个简易的隔声罩把工位局部包一下,能显著提升信噪比。别小看这个罩子,我们实测加罩之后声音通道的有效信噪比提升了 8 到 10dB,比换更贵的麦克风划算得多。
| 通道 | 传感器类型 | 采样率 | 关键注意点 |
|---|---|---|---|
| 振动 | IEPE 加速度计 | 25.6kHz | 螺纹刚性安装,避开磁吸谐振 |
| 电流 | 霍尔/采样电阻 | 10kHz | 测相电流,保证 ADC 有效位数 |
| 声音 | MEMS 麦克风 | 48kHz | 固定位置,加局部隔声罩 |
2.2 多通道时间同步:差一个采样点就前功尽弃
这是我在项目里踩得最狠的坑。多模态融合的前提是各通道在时间上严格对齐,如果振动和电流之间有几十毫秒的错位,模型学到的"同步性"特征就全乱了。
早期我们用三块独立的采集卡,各自带时钟,结果发现通道间有随机的几十微秒到几毫秒抖动。这个抖动在时域上看着不大,但做互相关分析时峰值位置飘忽,融合特征完全不可用。后来换成同一块多通道同步采集卡,所有通道共用一个时钟源,问题才解决。
如果确实要用分布式采集,那就必须做硬件触发同步,用一个统一的触发信号同时启动所有采集前端,并且定期做时钟校准。软件层面的时间戳对齐只能做到毫秒级,对高频振动特征来说精度不够。
提示:验收采集系统时,一定要做一次通道间同步性测试。方法很简单,用一个信号源同时给所有通道输入同一个脉冲,看各通道记录到的脉冲起始点是否对齐。偏差超过一个采样周期就要查原因。
2.3 采集触发与工位节拍的对齐
产线上电机是流水过来的,采集不能一直开着,得有个触发。常见做法是光电传感器检测到电机到位后给一个触发信号,采集系统收到后开始录一段固定时长的数据,比如 3 秒。
这里有个细节:要留预触发缓冲。因为触发信号本身有延迟,电机刚启动的瞬态往往包含最丰富的缺陷信息,如果从触发那一刻才开始录,可能把启动段漏掉。我一般设置 500ms 的预触发缓冲,把触发前的数据也存下来。
另外,采集时长要覆盖电机从启动到稳态的完整过程。有些缺陷只在启动瞬态暴露,稳态反而看不出来,比如转子轻微不平衡在低速共振区会放大。所以别只录稳态段。
3. 多模态特征工程:让三路信号说同一种语言
3.1 各通道的特征提取逻辑
原始波形直接喂模型在边缘侧不现实,数据量太大,而且模型很难从原始波形里学到物理意义明确的特征。所以要先做特征提取,把每个通道压缩成一组有物理含义的特征向量。
振动通道我一般提取三类特征。时域上取均方根、峰值、峭度、裕度因子,峭度对冲击类缺陷特别敏感,轴承早期划伤的峭度值会明显偏离正常分布。频域上做 FFT 后提取轴承故障特征频率(外圈、内圈、滚动体、保持架)及其谐波处的幅值。时频域上用包络谱,先做带通滤波再取包络做 FFT,能把被高频载波调制的冲击成分解调出来,这是轴承诊断的经典手段。
电流通道重点看电流的调制特性。做 FFT 后关注基波周围的边带,边带间隔对应故障特征频率。另外提取电流的有效值波动、谐波畸变率。匝间短路会让特定次谐波异常,这个特征在电流谱上很直观。
声音通道处理和振动类似,但频段不同。声音对气隙不均、电磁噪声敏感,提取倍频程能量分布、梅尔频谱特征。声音通道还适合做异常检测,因为正常电机的声纹很稳定,任何偏离都值得警惕。
3.2 特征级融合 vs 数据级融合的取舍
多模态融合有两个层次:数据级融合是先把原始信号拼起来再提特征,特征级融合是各通道各自提特征再拼。边缘场景我几乎总是选特征级融合,原因有三。
一是数据量。三路原始信号拼起来,采样率按最高的算,3 秒数据轻松上百 MB,边缘设备内存扛不住。特征级融合后每个通道几十维,总共一两百维,轻量得多。
二是鲁棒性。某一通道传感器故障或者受干扰时,特征级融合可以单独屏蔽那一路,模型还能靠其他通道工作。数据级融合一旦某路数据坏了,整个输入就废了。
三是可解释性。特征级融合的每一维都有物理含义,模型判异常时能回溯是哪个通道的哪个特征触发的,方便工程师定位问题。数据级融合基本是个黑盒。
具体做法是把三路特征拼成一个长向量,但拼接前一定要做归一化。不同通道的特征量纲差异巨大,振动峭度可能是几到几十,电流谐波畸变率是零点几,不归一化的话模型会被大量纲特征主导。我用 z-score 标准化,用训练集的均值和方差,推理时用同一套参数。
3.3 特征对齐与时间窗设计
多模态特征要能对应上同一个物理事件,时间窗设计很讲究。窗口太短,低频特征提取不出来;窗口太长,早期缺陷的瞬态特征被平均掉。
我的经验是用多尺度窗口。振动冲击类特征用短窗,比如 50ms,能抓住瞬态;电流调制和声音特征用长窗,比如 500ms,保证频率分辨率。然后把不同尺度的特征在时间上对齐到同一个决策点。
这里有个技巧:不要简单地把长短窗特征直接拼,而是让短窗特征在长窗内做统计聚合,比如取短窗特征在长窗内的均值和最大值。这样既保留了瞬态信息,又和长窗的时间尺度对齐了。
4. 边缘侧模型设计:在算力和精度之间找平衡
4.1 模型选型:为什么我倾向轻量 CNN 加注意力
边缘盒子的算力通常有限,常见的是带 NPU 的嵌入式 SoC,算力从零点几 TOPS 到几 TOPS。在这种约束下,别想着上大模型。
我的常规选择是一个轻量 CNN 主干加通道注意力模块。CNN 负责从特征向量里提取局部模式,注意力模块负责学习哪些通道、哪些特征维度更重要。这个结构参数量能控制在几十万级别,推理延迟在毫秒级,精度对电机缺陷分类来说足够。
如果特征已经提取得很到位,甚至用梯度提升树(比如 LightGBM)就能拿到很好的效果,而且推理更快、更容易部署。我在一个项目里对比过,特征工程做扎实之后,树模型和轻量 CNN 的精度差距在 1% 以内,但树模型的部署复杂度低一个数量级。所以别迷信深度学习,特征工程到位时传统模型很能打。
4.2 多模态融合模块的设计细节
融合模块是多模态模型的核心。简单 concat 之后接全连接是最省事的做法,但效果一般,因为它没有建模通道间的交互。
我常用的是跨模态注意力:把三路特征分别做线性投影到同一维度,然后互相做注意力,让振动特征能"看到"电流和声音特征,反之亦然。这样模型能学到"当振动峭度升高且电流边带同时出现时,判定为轴承缺陷"这类跨通道规则。
实现上要注意,注意力计算量随通道数平方增长,三路还好,如果以后加到五六路就要考虑用更高效的融合方式。另外融合层别做太深,边缘设备上深融合层是延迟大户。
4.3 量化与剪枝:把模型塞进边缘盒子
训练好的模型直接部署往往跑不动,得做压缩。最有效的是INT8 量化,把浮点权重和激活量化成 8 位整数,模型体积缩小到四分之一,推理速度提升两三倍,精度损失通常在一个百分点以内。
量化的关键是校准集要覆盖真实数据分布。我一般从训练集里抽几百个样本做校准,确保量化参数能覆盖实际推理时的数值范围。如果校准集选得不好,量化后精度可能掉得很难看。
剪枝是另一条路,把不重要的权重置零再微调。结构化剪枝(按通道剪)对边缘部署更友好,因为能真正减少计算量;非结构化剪枝虽然压缩率高,但需要专门的稀疏计算支持,很多边缘芯片不支持,反而没收益。
注意:量化后一定要在真实边缘设备上做端到端验证,不能只看 PC 上的模拟结果。不同芯片的量化实现有差异,PC 上精度没掉不代表设备上没掉。
5. 在线识别系统落地:从实验室到产线的最后一公里
5.1 系统架构与数据流
整套系统我一般这么搭:传感器 → 同步采集卡 → 边缘计算盒子 → 现场总线 → PLC/上位机。边缘盒子里跑采集驱动、特征提取、模型推理、结果输出四个模块。
数据流是这样的:采集卡按触发录一段数据,通过高速接口传给边缘盒子;盒子上的特征提取模块算出多模态特征向量;推理模块加载量化后的模型给出分类结果和置信度;结果模块把结论通过 Modbus 或者 EtherCAT 发给 PLC,同时把原始数据和特征存本地,供后续追溯和模型迭代。
这里有个工程细节:特征提取和推理要流水线化。如果串行执行,采集完等特征提取、提完等推理,延迟会累加。用双缓冲,一边采集下一台的数据,一边处理当前台,能把吞吐提上去。
5.2 阈值设定与误报漏报的权衡
模型输出的是概率,最终判定合格与否要设阈值。这个阈值不能拍脑袋,得结合产线的质量成本来定。
漏报(把坏电机判成好的)代价高,因为流到客户手里要召回;误报(把好电机判成坏的)代价是返工和产能损失。一般产线会要求漏报率极低,宁可误报多一点。所以阈值要往"敏感"方向调,同时用人工复检兜底误报。
我的做法是画 ROC 曲线,找到满足漏报率要求的最小误报率点。然后上线后持续监控,如果误报率突然升高,往往是传感器漂移或者工况变化,要及时排查。
5.3 模型迭代与数据闭环
上线不是终点。产线工况会变,电机型号会换,模型必须能持续迭代。
关键是建立数据闭环:所有推理的原始数据、特征、判定结果、以及人工复检的最终标签,都要存下来。定期用新数据重新训练或者微调模型,再灰度上线验证。
我踩过的坑是:早期没做数据存储,模型上线半年后发现精度下降,想重训却找不到当时的原始数据,只能重新采集,浪费了大量时间。所以数据存储一定要从第一天就做,存储成本相比重新采集的成本可以忽略。
另外,新模型上线要用影子模式跑一段时间,就是新模型和旧模型并行推理,只记录不切换,对比两者判定差异,确认新模型没问题再正式切换。这个习惯能避免很多线上事故。
6. 现场踩坑实录:那些文档里不会写的问题
6.1 电磁干扰把电流通道毁掉的那次
有个项目,实验室里模型精度 98%,一到现场就掉到 70% 多。排查了很久,最后发现是变频器的高频干扰通过电流传感器的信号线耦合进来了。
现场电机是变频驱动的,变频器开关频率的谐波通过空间和传导两种方式耦合到电流采集回路。实验室用的是干净电源,根本没这个问题。表现就是电流特征里混入了大量与缺陷无关的高频成分,模型被带偏。
解决办法有三个层次:一是信号线用双绞屏蔽线,屏蔽层单端接地;二是电流传感器尽量靠近电机,缩短信号线;三是在特征提取前加数字滤波,把变频器开关频率及其谐波滤掉。三个措施一起上,精度恢复到 95% 以上。
这个坑的教训是:实验室环境和现场环境的差异,往往比模型本身的差异更致命。做方案时一定要留出现场调试的时间。
6.2 温度漂移导致的特征偏移
传感器是有温漂的,尤其是压电加速度计,灵敏度随温度变化。产线从早到晚环境温度可能变化十几度,特征值跟着漂,模型判定就会飘。
我们的应对是定期做基线校准。用一个已知合格的标准电机,每隔几小时跑一次,记录特征值作为当前基线,推理时用基线做归一化。这样能抵消大部分温漂影响。
另一个办法是选温漂小的传感器,但成本会上去。如果产线环境温度控制得好,温漂问题不严重,可以不做基线校准,但一定要在验收时测一下温漂对特征的影响幅度。
6.3 新电机型号上线时的模型迁移
产线换型是常态。新电机型号的声纹、振动特征和旧型号不一样,直接套用旧模型精度会崩。
我的做法是保留一个通用异常检测模型加一个型号专用分类模型。通用模型只判断"是否偏离正常",不区分具体缺陷类型,它对新型号也能工作,因为正常电机的特征分布相对稳定。型号专用模型负责细分缺陷类型,新型号上线时用少量样本微调。
新型号上线初期,用通用模型兜底,同时快速采集样本训练专用模型。这样能保证换型期间不漏检,又不用等专用模型训好才上线。
6.4 边缘盒子的散热与稳定性
边缘盒子装在产线旁边,环境温度高、粉尘多、振动大。我遇到过盒子过热降频导致推理延迟飙升的情况,节拍直接超了。
选型时要注意盒子的工作温度范围和防护等级,工业级的一般能到 -20 到 70 度,防护等级 IP40 以上。安装位置避开热源和强振动源。如果环境恶劣,考虑加装防护箱和主动散热。
软件上要做看门狗和健康监控,推理延迟、CPU 温度、内存占用都要监控,异常时报警。别等产线停了才发现盒子挂了。
7. 效果验证与产线部署的实操建议
7.1 离线验证怎么做才靠谱
模型训完不能只看测试集精度,要做严格的离线验证。我的流程是:留出独立的验证集,验证集要覆盖不同批次、不同工况、不同缺陷类型的样本。然后做交叉验证,看精度稳定性。
更重要的是混淆矩阵分析,看清楚模型在哪些缺陷类型上容易混淆。比如轴承内圈和外圈缺陷的特征频率很接近,模型容易混,这时候就要针对性补充特征或者调整模型。
还要做对抗性测试,故意输入一些边界样本,比如轻微缺陷、复合缺陷,看模型表现。产线上什么情况都可能出现,模型不能只在"标准"样本上表现好。
7.2 产线灰度上线的节奏
别想着一次性全线上模型。我的建议是分三步走。
第一步,影子模式。模型只推理不控制,和人工判定并行,对比两者结果。这一步能发现模型和人工的系统性差异,也能暴露采集和部署的问题。跑一到两周,积累足够对比数据。
第二步,辅助模式。模型给出建议,人工确认后才执行。这一步让产线人员建立对模型的信任,同时收集人工修正的标签,用于模型优化。
第三步,自动模式。模型直接判定,人工只处理模型标记为"不确定"的样本。这一步要设好置信度阈值,低置信度的样本转人工,保证不漏检。
每一步都要有回退机制,出问题能快速切回上一模式。
7.3 和现有 PLC 系统的对接
边缘盒子和 PLC 的对接是工程落地的关键。常见接口是 Modbus TCP 或者数字 IO。
如果用数字 IO,就是盒子输出一个合格信号和一个不合格信号,PLC 读这两个信号。简单可靠,但信息量少,只能传判定结果。
如果用 Modbus TCP,可以传更多信息,比如缺陷类型、置信度、特征值。PLC 或者上位机可以据此做更细的处理,比如按缺陷类型分流到不同返修工位。
我一般推荐 Modbus TCP,信息丰富,而且现在大部分 PLC 都支持。要注意的是通信超时处理,如果盒子没响应,PLC 要有默认动作,一般是判为不合格或者转人工,不能默认合格。
7.4 长期运维的几个关键指标
系统上线后要持续监控几个指标。推理延迟,超过节拍要求就要查原因。误报率和漏报率,定期用人工复检数据统计,偏离预期就要调整阈值或重训模型。传感器健康度,通过特征值的长期趋势判断传感器是否漂移或失效。数据存储量,确保存储空间够用,及时归档旧数据。
这些指标最好做成看板,产线维护人员能一眼看到系统状态。别等出问题才去查日志。
8. 关于多模态边缘 AI 做电机缺陷识别的一点个人体会
做了几个项目下来,我最大的体会是:这个方向的技术难点不在模型,而在工程。模型架构、融合算法这些,学术界已经有很成熟的方案,拿来用就行。真正卡住项目的是传感器同步、现场干扰、温漂、节拍约束这些工程问题,每一个都能让实验室里 98% 的模型在现场变成 70%。
所以如果你要做类似的项目,我的建议是把至少一半的精力放在采集系统和现场适配上,别一上来就调模型。采集做扎实了,特征工程做到位了,哪怕用最简单的分类器都能拿到不错的效果。反过来,采集一塌糊涂,再先进的模型也救不回来。
另外,多模态的价值是实打实的,但前提是各通道真的同步、真的对齐。我见过不少项目号称多模态,实际上三路数据各采各的,时间戳都对不上,这种"多模态"还不如单通道做得扎实。融合的前提是对齐,这个基础打不牢,后面全是空中楼阁。
最后说个实际的:边缘设备的选型别只看算力参数,要看实际推理框架的支持情况。有些芯片标称算力很高,但你的模型框架不支持,或者量化工具链不成熟,实际跑起来还不如算力低但生态好的芯片。选型时一定要拿真实模型做端到端实测,别信纸面参数。