去年年底,苏州一家电子代工厂的品质主管找到我,说他们快被焊锡缺陷退货搞疯了。

事情是这样的:他们给一家家电品牌代工控制器板,8条SMT线一天产出3000多片PCBA。出厂前有两道质检——第一道是AOI(自动光学检测),第二道是人工复判。但AOI报的缺陷里面大约有六到七成是假报,人工复判既要筛假报又要找AOI漏掉的,作业员盯着屏幕看一天,眼都花了。结果去年第四季度,客户退货里焊锡类缺陷占了将近一半。

我们花了一个多月在产线上做调研、打样、部署,最后用边缘AI网关+高分辨率工业相机的方案接在AOI后面做二次智能复判。这篇文章记录整个过程,不吹效果多好,就讲做了什么、遇到了什么麻烦。

一、现场摸底:问题不在AOI,在复判环节

去工厂蹲了两天,我画了一张产线质检流程图,才搞清楚真正堵在哪。

回流焊后的PCBA先过AOI。AOI这玩意儿说好用也好用,说坑也坑——它按像素比对的规则做检测,稍微有点偏差就报警。一片板子200多个焊点,AOI能报出30-40个"疑似缺陷",但实际真有问题的不超过5个。然后这30-40个疑似点全部要人工在显微镜下复判。

几个现实问题:

所以问题的关键不是换更好的AOI,而是怎么把人工复判这个瓶颈用AI替代掉——让AI做一轮初筛,人只确认AI认为"可疑"的少数焊点。

二、方案设计:边缘AI做二次智能复判

我们设计的方案,本质上是在AOI和人工之间加了一道AI智能复判层。

硬件架构

工作流程是:

  1. AOI检出疑似缺陷,触发拍照信号
  2. 高分辨率相机拍摄局部焊点图像
  3. 边缘AI网关运行模型推理,判断该焊点是"真缺陷"还是"假报"
  4. 如果AI判断为真缺陷:标记位置、分类(虚焊/连锡/少锡/立碑/锡珠),推送到操作终端
  5. 如果AI判断为假报:直接放行,不打扰作业员
  6. 作业员只需确认AI标出的真缺陷,决定返修还是报废

这样作业员的注意力从"从30个点里找出3个真缺陷"变成了"确认3个AI标出的点"。效率差距是数量级的。

模型选型

焊点检测是个典型的细粒度分类问题——缺陷和正常焊点差异可能只有几个像素。我们试了几条路:

踩坑记录:第一次试YOLOv8的时候,模型把PCB板上的字符丝印(电阻值标记"102""104"之类)误识别为缺陷——因为字符边缘也有类似焊锡的明暗变化。后来在训练数据里加了更多负样本(正常焊点+字符区域),才把这个误报压下去。

模型最终选型:

三、实施过程:最花时间的是数据准备

第一阶段:数据采集和标注(3周)

这个阶段花的时间超出预期。我们以为AOI已经有历史数据,直接拿来用就行。结果发现AOI只保存了"报缺陷的焊点图像",没有保存"正常焊点图像"。而且AOI的图像分辨率低,细节不够。

解决方案是:在产线上连续跑了2周,每片板子挑10个AOI报的焊点+10个正常的焊点,用高分辨率相机逐一拍摄。两周时间拍了约12000张焊点子图:

标注找了3个人,用LabelImg花了大概一周时间。每张图标注焊点区域和缺陷类型。

踩坑:不同类型的焊点数量严重不均衡——立碑和锡珠样本太少,模型在这两类上表现很差。后来用了数据增强(旋转、亮度变化、加噪声)把少样本类别扩到每种2000张以上,才勉强能看。

第二阶段:模型训练和调优(2周)

训练过程其实没太多好讲的,标准流程。几个关键点值得一提:

训练后的模型指标(在验证集上):

第三阶段:产线联调和试运行(2周)

模型下产线,第一个问题就来了——传送带停不准。AOI发出拍照信号到相机触发拍照之间,传送带会多走1-2毫米,导致拍到的ROI和训练时的区域有偏移。

解决办法:在相机视野里加了一个Mark点定位,每次拍照先找Mark点校正坐标偏移。说起来简单,调这个定位逻辑花了两三天。

第二个问题是推理速度不够。一片板子200个焊点,用分割+分类两个模型走完一轮要4-5秒,但产线节拍要求每片板子停留在质检位不超过6秒(包括拍照和推理)。只剩1-2秒的缓冲。后来把模型放到边缘AI网关的NPU上跑,推理时间从30-40ms/焊点降到了15-20ms/焊点,才勉强够用。

教训:实验室环境下的推理时间和产线上的真实推理时间完全是两回事。数据加载、预处理、后处理的时间加起来可能比模型推理本身还长。做边缘端部署一定要测端到端延迟,不要只看模型推理速度。

第三个问题是回焊炉的温度波动。有一天气温骤降,回焊炉的温区控温有点飘,导致一批板子出现了轻微的冷焊现象——锡膏没有完全熔化,焊点表面发暗。这个现象在训练数据里几乎没有,模型表现很差。后来补充了一批冷焊的样本重新训练,才算覆盖到这个场景。

四、实际效果

人工复判工作量减少约70%
AI初筛后,作业员只需要确认AI标出的真缺陷点,每片板子的复判时间从3-5分钟降到约1分钟。原来3-4个作业员做的事,2个人就能完成。
缺陷检出率:从AOI的约80%提升到约92%
AOI+AI二级检测的整体检出率。AI能捡回一部分AOI误判为正常的"假阴性"——主要是AOI参数设得宽松时漏掉的轻微虚焊和少锡。
客户退货率:焊锡类缺陷退货减少约六成
系统上线后的第一个季度,客户反馈的焊锡类缺陷数量下降明显。品质主管说这是最近三年退货控制成绩较好的一次。

当然也有没达预期的地方:

五、个人思考

这个项目做完,我对AI视觉在电子制造质检的应用有了几点新的认识。

第一,AOI+AI不是替代关系,是互补。AOI擅长规则检测(焊盘位置对不对、有没有漏贴元件),AI擅长模式识别(焊点质量好不好、缺陷类型判断)。两个结合起来效果比单独用哪个都好。而且AI这道关卡能帮AOI"松一松"参数——不用担心漏检增多,后面的AI能兜底。

第二,数据是最大的门槛,不是模型。整个项目最花时间的是建数据集。12000张焊点子图,每张要标注焊点区域+缺陷类型。而且产线上的环境变化(气温、光照、焊膏批次)都会导致数据分布偏移,需要持续收集新数据做增量训练。做AI质检,其实做的是数据工程。

第三,边缘部署的坑比想象的深。从模型训练到产线跑通,硬件方面的坑占了一半——传送带定位不准、相机触发延迟、NPU驱动兼容性、散热……模型本身反而没出太大问题。

第四,电子代工厂的利润率,决定了方案的成本天花板。一条SMT线一天的产值不算高,品质改善的收益可观但不会太夸张。所以方案成本必须控制在合理范围内。边缘AI网关+工业相机的总硬件成本大致在几万元级别,电子厂可以接受。如果换工业级工控机+更高端相机,成本翻倍,客户大概率不会买单。

六、给你的建议

如果你也在考虑在SMT产线上做AI视觉质检:

  1. 先别想着替代AOI——在AOI后面加一道AI复判,投入小、风险低、见效快
  2. 数据准备期至少预留3周——不要低估采集和标注的工作量。特别是少样本缺陷类型(如立碑、锡珠),要想好怎么补数据
  3. 边缘端推理一定要测端到端延迟——从相机触发到推理结果返回,每一步都要算进去
  4. 留好人工确认环节——AI做初筛,人做最终确认。这样既有效率提升又有安全边界
  5. 考虑换线成本——如果产线每天换多次板型,评估标定时间是不是能接受。针对快换线场景,可以考虑做"预标定"——提前为常用的板型保存好参数,换线时一键切换