那个下午,工厂的检测线突然停摆。屏幕上一片红——所有零件都被判为缺陷品。厂长瞪着我,桌角的咖啡凉了第三杯。我手指发麻地翻看日志,发现一个离谱的原因:换了个光源灯泡,模型就不认了。真的,就这么脆弱。

说实话,那是我第一次觉得机器学习在工业检测里像个娇气的精密仪器——平时好用,稍一干扰就翻脸。但你说它没用吗?也不是。去年我们一条产线,用传统算法死活调不好的焊点缺陷,换成一个小卷积网络,漏检率直降70%。❗
这事儿没法一棍子打死。关键是你得知道哪儿是肉、哪儿是骨头。
数据:你以为的宝藏,其实是坑
搞工业检测的模型,大家总爱吹“我有百万张图”。可真实产线呢?正样本多得像沙子,缺陷样本比金子还少。而且缺陷长得千奇百怪——划痕、凹陷、毛刺,甚至混入的头发丝。标注人员看着图经常吵成一团:“这算不算划痕?”
所以别信什么“有数据就行”。我试过用生成对抗网络来造缺陷图,结果模型学去学来,只学会了生成器里那诡异的纹理……产线上根本不对路。💡 反而是一些小手段好用:比如把历史NG品的局部裁切出来,做缩放、旋转、亮度变化,硬生生扩充出三四千张。再结合迁移学习,用ImageNet上预训练的ResNet18,冻住浅层只训后面——小样本也扛得住。
问:难道不能直接把所有疑似缺陷都标上,让模型自己学区别吗?
答:理论上可以,但实际工厂等不起。你想想,一条冲压线每分钟出60个件,人工复判只能抽检5%。靠弱监督或半监督那套?遇到没见过的缺陷类型,模型要么报一堆假警,要么悄悄放过去——后者更可怕。所以必须建立闭环:每日把模型判为模糊的图片推给老师傅,标注后回炉重训。这个过程很慢,但扎实。
模型选择:轻量还是大力出奇迹?
工业界跟学术界真不一样。顶会上SOTA模型动不动几百层,But……产线上跑推理的电脑可能只是个带集成显卡的工控机。你还得实时——每张图300毫秒内出结果,否则产线就要卡壳。
我走了一段弯路:一开始用了YOLOv5,想在嵌入式Jetson Nano上做实时缺陷检测。结果帧率卡在8 FPS,完全跟不上传送带。后来换成MobileNetV3-SSD,又用TensorRT剪了枝,推理时间缩到40ms,但准确率掉了些。权衡下来,针对我们的瓶盖瑕疵检测,最终定制了一个只有4层卷积的小网络,输入图放缩到224×224,配上数据增强,准确率竟然没差太多。😌
所以啊,别瞧不起小模型。边缘端搞机器学习质量检测,轻量化是硬道理。

问:多品种小批量怎么办?换产品就得重新训练吗?
答:这是最头疼的。我们做连接器检测,上百种型号。一个基座模型+少量样本快速微调也许行,但我们的实战是:用特征提取+度量学习。只为每个良品建一个特征库,新图过来比较相似度,低于阈值就报警。虽然不够“智能”,但上线快,还能让产线接受。不过,碰到反光金属件,误报率飙升,又得补上对抗生成的光照变化训练。唉,都是泪。
落地最后一公里:从实验室到产线的鸿沟
实验室里,模型是皇冠上的明珠;到了车间,它就只是个“大零件”,得跟相机、光源、PLC通信、MES系统协同。而现实是:工业相机架设位置偏了几毫米,图像边缘就出现模糊;车间早晚温差让金属件反光特性变化;甚至旁边冲压机的震动,都能让镜头对焦慢慢漂移。
这些,学术论文里从不讨论。所以我们后来做了一套漂移监测:每天早班放一组标定件,系统自动拍照计算特征的统计分布,一旦偏离就报警。即使这样,还是需要人工定期复核。毕竟,机器不会为“放错方向”的零件负责——人得兜底。
问:模型更新后,怎么保证效果不下滑?
答:必须做AB测试。我们在产线上开两路,旧模型继续判,新模型只记录不参与控制。连续对比一周,确认新模型的各项指标——尤其是漏检率和误报率——都更优,才切换。还要保证老版模型随时可回滚。这不是技术问题,是流程问题。
我有时候想,行业里天天喊智能制造,其实最缺的不是算法,是懂工艺又懂数据的人。一个老质检员瞥一眼就能看出异常,但他的知识怎么传给机器?这中间有巨大的缝隙。比如一个简单的轴承滚子,老手听声音就知道有没有裂纹,但用声发射传感器采集数据再去分类,就涉及采样率、降噪、特征选择一大堆坑。说到底,机器学习质量检测不是万灵药,它是一台需要持续校准的天平——一端是技术,另一端是场景。
行了,今天就唠到这里。你要是也在搞这玩意儿,大概率懂我在说什么。
免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:机器学习质量检测:我们踩过的坑和捡到的宝 https://www.dachanpin.com/a/tg/66719.html