工业AI算法的真实落地:别让论文里的模型在车间里“翻车”

说实话,这几年工业AI的文章我看了不少,大多是拿着某条产线的数据跑一遍preprint模型,准确率99.7%,然后收工。但真正的车间里,AI算法往往连第一次联调都撑不过。

数据清洗——AI落地第一道坎

很多工程师以为搞AI就是堆算力、堆网络深度,可现实是,输入的数据本身就是个笑话。我在某汽车零部件厂做过一个项目,用AI检测刀具磨损。振动传感器装在刀架上,旁边就是一台频繁启停的伺服电机,那电磁脉冲在采集信号里砸出一条条毛刺。一开始我直接用原始波形训练卷积网络,验证集惨不忍睹,损失下不去。后来才发现是接地回路的问题,换了个隔离放大器,瞬间好了。这跟算法有关系吗?半毛钱关系没有。但这就是工程。

更烦人的是数据标注。老师傅在标签页上画圈的功夫,够我喝三杯茶。你让他精确标注“磨损起始点”?他直接翻白眼。所以我们后来玩了个投机取巧的办法,用包络谱的峰值频率偏移来自动生成伪标签,再用人工抽检去修正。说实话,这个办法挺野的,但管用。

工业设备振动传感器安装位置与信号干扰示意图
工业设备振动传感器安装位置与信号干扰示意图

轴承故障诊断的实战案例——别迷信深度学习

拿最经典的轴承故障来说。用加速度传感器以12000Hz采样,然后按ISO 10816标准计算振动速度均方根值。但这东西故障早期根本看不出变化,还是得上包络解调。

我们试过几种模型:随机森林、XGBoost、还有1D-CNN。效果出乎意料,随机森林在特征工程做扎实的情况下,准确率能比CNN高出一截。有个数据点让我特别懊恼——我们费了三天时间调CNN结构,最后发现随机森林加一组基于包络谱的峰值统计特征,直接碾压了。所以说,工业场景里,先尝试经典机器学习模型,总是对的。别一上来就端出Transformer,那玩意儿在设备故障诊断上不一定比带通滤波加Hilbert变换管用。

对了,验证方法也很有意思。用常规的k-fold可能出错,因为同一个设备在不同转速下采集的数据有相关性。要用分组k-fold,按设备实例分组,否则模型会偷看答案。

轴承故障包络谱分析数据特征分布图
轴承故障包络谱分析数据特征分布图

视觉检测:看起来很美,做起来想哭

视觉检测:看起来很美,做起来想哭
视觉检测:看起来很美,做起来想哭

比振动信号更折磨人的是视觉检测。某发动机缸盖生产线上,我们做缺陷检测,铸件表面有时候带水渍、油污,反光得厉害。相机拍了图像,标注缺陷区域,结果那缺陷跟背景灰度几乎一样,算法学了个寂寞。后来把光源改成低角度环形光,又加了偏振片,总算把裂纹从背景里剥出来。可见,很多视觉项目,真正的问题不是模型,是光学

就算成像搞定了,缺陷样本的数量也让人绝望。正常情况下,一百万个零件里才出几十个气孔缺陷,你拿什么训练?这时候就得靠半监督学习,或者说用合成数据做预训练。我们搞过用GAN生成带缺陷的缸盖图像,虽然一眼假,但作为预训练数据,确实把阈值往下拉了些。

模型部署——算力与延迟的妥协

模型部署——算力与延迟的妥协
模型部署——算力与延迟的妥协

训练完模型还很开心,等拿到现场才傻眼。车间的工控机还是五年前的老古董,CPU算个卷积都气喘吁吁。模型推理一次需要200毫秒,而产线节拍只有50毫秒——这怎么可能跟得上?

没办法,只能做模型压缩。把三层LSTM换成GRU,再量化到INT8,最后用OpenVINO加速,总算把推理时间压到35毫秒。但代价是精度掉了0.8%。而且,你要知道,0.8%的下降在缺料报警这类场景可能没感觉,但在高价值刀具保护上,就意味着多报废几把刀。这里头的权衡,只有干过的人懂。

还有边缘计算和云端的矛盾。有些厂非要上云,说自己要搞工业大脑。真到推起来,网络抖动200毫秒,直接超时。所以我还是那句话:能本地算的,绝对别上云。除非保密级别低到不需要考虑。

与老师傅的默契

与老师傅的默契
与老师傅的默契

说到底,你算法再厉害,也得让车间老师傅认账。我们那会儿,系统预警说主轴轴承有早期故障,置信度0.87,老师傅拿听音棒听了半天,说没问题。结果又过了两周,轴承温度飙升,才知道AI是对的。但从此以后老师傅也不服气,说你是凑巧。

后来我们让老师傅参与标注,把诊断结果打印成报表,附上频谱图,再配合现场的声音样本,慢慢建立信任。说白了,工业AI不是取代老师傅,而是给他们的经验加个量化边界。

写这篇东西,不是想教你什么高深的算法,就是分享一下踩坑经历。工业AI算法,说到底,得在车间里能喘气、能干活,才算数。不然再华丽的模型,也不过是PPT上的一页插图罢了。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:工业AI算法的真实落地:别让论文里的模型在车间里“翻车”
文章链接:https://m.yqhljx.com/list_9/734.html