制造客户常问一个问题:我们只有几十张缺陷图,能不能做?答案是可以,但前提是接受一件事——第一版模型的目标不是「取代质检员」,而是「减少漏检」,并且必须配套人工复核。
工序一:建立数据基线
在谈模型之前,先固定拍摄条件。我们在四个项目里都要求先做三件事:固定光源与曝光、固定相机位姿、固定工件摆放姿态。这三项不统一,后续所有指标都不可比。
- 采集正常样本 500 至 1,000 张,覆盖不同批次与班次
- 缺陷样本按类型分层,每类不少于 20 张,宁少勿混
- 标注规范写成图文手册,并做一次双人交叉标注校验
标注分歧往往比样本不足更致命。我们曾遇到「划痕」与「压痕」两类缺陷,两位质检员的判定一致率只有 71%,这种情况下模型无论怎么训都学不会稳定边界。
工序二:迁移训练,而不是从零训练
我们使用在工业图像上预训练的骨干网络,冻结大部分层,仅微调最后几层与检测头。80 至 200 张缺陷样本通常足以让模型达到「可用」水平;如果缺陷类型超过五类,建议按类分别建模,避免类别不平衡导致的相互压制。
数据增强要贴近产线真实变化:亮度扰动、轻微旋转、运动模糊、局部遮挡。不要使用翻转——很多缺陷具有方向性,翻转会制造出不存在的样本。
工序三:产线校准
离线指标好看,不等于上线可用。我们会在产线做三件事:
- 阈值校准:按业务容忍度调整判定阈值。漏检代价高就降低阈值,误报代价高就提高阈值,二者不可兼得。
- 节拍匹配:测量单图推理时延与产线节拍,必要时降分辨率或改用轻量模型,宁可牺牲一点精度也不能拖慢产线。
- 复核比例:上线首月对全部告警做人工复核,第二个月降至 50%,稳定后按周抽样。
这里有个反直觉的结论:多数工厂更在意误报而不是漏检。因为频繁误报会让质检员关掉系统。所以我们在上线初期会刻意让模型「保守」一些,先建立信任,再逐步提高召回。
工序四:持续迭代
产线会变化:换料、换模、换班次,甚至换供应商。模型需要跟着变。我们的做法是把每次人工复核的结果回流成新样本,每月做一次增量训练,并保留旧版本用于对照。若新版本在历史评测集上出现下降,则不予发布。
| 阶段 | 关注指标 | 典型目标 |
|---|---|---|
| 上线首月 | 漏检率、误报率、复核工作量 | 漏检低于人工抽检 |
| 稳定期 | 周误报率波动、模型漂移 | 波动小于 2 个百分点 |
| 迭代期 | 新样本覆盖率、版本回滚次数 | 每月一次增量 |
和知识助手一起用
视觉模型只能告诉你「这里有问题」,不能告诉你「为什么」。所以我们在同一套 AgentOS 里接入了设备手册与历史工单:质检员在告警卡片上点一下,就能看到该缺陷的历史处理方式、可能原因与责任工序。这个组合带来的价值,往往比把准确率再提高两个点更大。
工业 AI 的难点从来不是模型结构,而是把数据、节拍、人的习惯和考核方式一起考虑进去。任何一环缺失,系统都会在三个月内被绕过。
本文数据来自天辰平台制造行业交付项目,经客户同意做匿名化与区间化处理。