去年下半年,一家昆山的电子接插件厂找到我们。他们主要生产排针排母连接器,用在工控设备、汽车电子上。PIN针间距最小的那款是0.5mm——比一根头发丝粗不了多少。
就是这种细小的PIN针,在冲压和组装过程中偶尔会弯。按照他们的说法,良品率其实不低,弯针率大约在2%左右。问题在于——这2%的不良品流到客户那里,投诉起来就不是小事。一台设备几十上百个PIN针,有一个弯的,整条产线就得停下来排查。
他们的质检方式是:每个产品从产线上拿下来,放到显微镜下,工人一个个数PIN针。一个人一天能看3000个产品,眼睛累得发胀。而且检查全凭经验,PIN针弯一点点,在显微镜下看得很清楚,但在流水线上手一抖就漏了。
这篇文章就记录我们是怎么用边缘AI视觉方案帮他们解决这个问题的。不说效果多好,只说做了什么、踩了什么坑。
一、现场情况摸底
去工厂待了两天,摸清了几个关键信息:
- 产品规格:主做3款连接器,PIN数从20针到80针不等,间距有0.5mm、1.0mm、2.0mm三种。最麻烦的是0.5mm间距那款
- 当前质检:出厂前100%显微镜目检,每人每天定额3500件。漏检率大约在3-5%——也就是说,一批产品里可能有千分之一流出的不良品
- 缺陷类型:三种——PIN针弯曲(最常见,占80%)、PIN针缺失(冲压断针)、PIN针高度不一(冲压深度偏差)
- 车间条件:恒温恒湿洁净车间(毕竟是电子件),但空间有限,产线上能塞设备的位置不多
- IT能力:比普通工厂强一些,有一位IT工程师,会写简单的Python脚本
和老板聊预算的时候,他的态度很明确——先拿一条线试,有效果再推广。
二、方案设计
接插件PIN针检测在视觉领域其实有不少方案。但大多数是国外品牌做的大设备,一台十几万甚至几十万,对中小型供应商来说不太现实。我们的思路是用性价比更高的方案把这件事做下来。
检测对象分析
0.5mm间距的PIN针,单根针直径0.3mm。要看清这么小的目标,需要满足几个条件:
- 分辨率:要检测弯针(偏移量0.05mm就算不良),每个像素至少对应0.01mm。算下来需要分辨率在1000万像素以上的工业相机
- 视野:一条40针的连接器长度约20mm,一次性拍完不用拼接
- 速度:产线节拍约5秒一个产品,留给检测的时间上限是3秒(需要留出上下料时间)
- 光源:金属PIN针反光严重,需要特殊打光让缺陷凸显出来
硬件选型
最终配置:
- 相机:1200万像素彩色工业相机(CMOS全局快门),配25mm微距镜头
- 光源:同轴光+穹顶光双路照明。同轴光负责照亮PIN针顶部平面,穹顶光消除金属的镜面反光。这两种组合调整了好几个角度才找到平衡
- 触发方式:光电传感器+PLC信号触发相机拍照
- 计算设备:边缘AI网关(标准型S200,RK3588处理器,6 TOPS NPU)
- 配套:铝合金机架、防震底座
最花时间的是光源方案。PIN针是不锈钢材质,表面像镜子一样反光。一开始用了环形光,拍出来的照片全是光斑,PIN针顶部根本看不清。后来试了同轴光+穹顶光的组合才搞定——同轴光提供垂直照明,穹顶光把环境散射光均匀化。
算法方案
检测流程分两步:
第一步:PIN针定位与计数。用轻量级目标检测模型(YOLOv8n)识别每个PIN针的位置。如果检测到的PIN针数量少于设计针数,直接判定为"缺针"。
第二步:PIN针形态分析。对每个PIN针的检测框做二次分析:
- 计算PIN针顶部轮廓与标准位置的偏差量(欧几里得距离)
- 检测框内PIN针区域的面积占比(用于识别歪斜)
- 相邻PIN针间距是否一致(间距差异超过阈值判定为弯曲)
模型在边缘AI网关上运行,单次推理约300ms,加上前后处理总耗时约800ms,满足3秒的节拍要求。
为什么选边缘计算不上云
一共三个原因:
- 车间里有多台设备同时检测,图片数据量一天几十GB,全传到云端带宽不够
- 检测需要实时反馈——相机拍完就要出结果,调云方案多出来的几十毫秒网络延迟在高速产线上积累起来影响很大
- 产品图片涉及客户的设计图纸,工厂不希望数据出车间
三、实施过程
第一周:相机安装和初步调试
机架做好后,现场安装用了两天。相机固定在产线上方,产品通过传送带送到检测位,光电传感器触发拍照。
调试阶段第一个坑——振动。产线运行时传送带电机有轻微振动,相机拍出来的照片边缘有微小模糊。别小看这零点几毫米的模糊,在要分辨0.05mm偏移的场景里,直接影响检测精度。解决方案是在相机支架底部加橡胶减震垫,同时把相机的曝光时间缩短到1毫秒以内。
第二个坑——焦距校准。不同款连接器的高度不一样(决定PIN针面到镜头的距离),换产品型号时焦距要重新调。后来做了一个可调节的Z轴滑台,每次换产品型号手拧几下就行。
第二至三周:数据采集和模型训练
数据采集最费工夫。我们从产线拿了约5000个产品——其中有良品,也有各种缺陷品。
关键问题:缺陷样本不够。2%的弯针率听起来不少,但算到单一缺陷类别就很少了。个别类型的缺陷(比如PIN针缺失)可能好几天才碰到一个。
解决方式:
- 复检台保留了两个月的显微镜检出记录,翻出约200个缺陷品做标注
- 对样本做数据增强——旋转、平移、光照变化、加噪声
- 对于缺失类缺陷实在太少的,合成了一些模拟样本(手动在照片上去掉一根针)
总共标注了约8000张图片,其中缺陷样本约1200张。
模型训练用YOLOv8n在RK3588的NPU上做量化部署。初次训练完精度还可以——在测试集上检出率约96%,但误报有点多(约5%)。主要问题是把PIN针表面的轻微脏污误判为弯曲。
教训:单纯加更多训练数据无法解决这个问题。后来在二次分析阶段加了一个"脏污过滤"逻辑——计算PIN针顶部区域的灰度方差,如果方差过大说明表面有脏污,降低这枚PIN针的异常得分。这个后处理把误报率从5%降到了约1.5%。
第四周:上线试运行
系统上线第一周,不敢直接取代人工。方案是并线运行——AI检完后人工再检一遍。
这一周暴露了几个问题:
- 检测节拍不稳定:有时候一张图推理要500ms,有时候要1.2秒。排查发现是网关后台在跑系统更新占用了CPU。把更新改到非生产时段后恢复正常
- 光源衰减:工作48小时后,同轴光源的亮度下降了约10%,导致图片偏暗。原因是LED驱动器散热不够。解决方案是在机箱上加了一个小风扇
- 临界品判定不一致:PIN针弯曲0.04mm算不算不良?AI和人工的判断经常不一致。最后和工厂达成了共识——以0.05mm为硬阈值,超过就算不良,不到就过。这样双方标准统一
四、实际效果
对明显的弯曲和缺失几乎100%检出,临界弯曲(0.05-0.08mm偏移)检出率约92%。整体比人工目检的95%检出率略高。
包括拍照、传输、推理、判定全过程。配合自动上下料机构,节拍刚好对齐产线速度。
误报件主要是PIN针表面有加工油污的产品(油污被误判为弯曲)。经过后处理的油污过滤逻辑后,约一半的误报被消除了。
另外有一个数据没有在前期预期到——过程数据反哺了工艺改进。系统记录了每个产品的PIN针位置偏移量分布。两个月的数据积累下来,发现其中一列PIN针的平均偏移量比其他列大。排查发现是冲压模具的对应位置有磨损。换模具后,那列针的良率明显回升。
五、遇到的问题和解决办法(踩坑汇总)
光源反射问题:前面说了,金属PIN针反光严重。试了环形光、条形光、同轴光、穹顶光四种方案,最后同轴+穹顶组合最好。但不同PIN针材质(镀金、镀锡、裸铜)反光特性不同,换镀层后要微调光源亮度。
多型号切换:工厂有3款常用型号加若干小批量型号。不同型号的PIN针数量、排布、间距都不同。方案是给每个型号建一个配置文件,存PIN针数量、标准间距、ROI区域、检测阈值。换型号时扫码枪一扫,系统自动加载对应配置。
模型泛化问题:同一型号不同批次的PIN针,表面状态有差异(有的批次表面更亮)。初始模型在一个批次上效果不错,换了批次后误报增加了。解决方案是在部署后持续收集新批次的样本,每两周做一次增量微调。
和MES系统的对接:客户希望检测结果直接写入MES系统,每个产品有唯一的检测报告。边缘AI网关通过Modbus TCP把结果传给PLC,PLC再传给MES。中间调试Modbus的地址映射花了两天——一个地址写错了,结果产量数据全是乱的。
六、个人思考
这个项目做完,有几条感受:
微小缺陷的视觉检测,物理层面的问题比算法更难。光源、焦距、减振、散热——这些硬件问题花的时间比模型训练多一倍。算法包打天下的想法在工业场景里不太现实。
样本不平衡是现实问题,不是理论问题。论文里可以各种采样方法,实际就是找不到足够的缺陷样品。数据增强和合成样本能缓解,但解决不了根本。最好的策略是在系统上线后持续收集新缺陷——越跑数据越强。
操作工的信任是最容易被忽略的环节。产线上的质检员一开始不信任AI的判断,经常把AI判为良品的再检一遍。后来让质检员参与到标注工作中——让她们标注缺陷图片,她们参与了就信了。这个经验在最开始的方案里完全没有考虑。
AI检测的价值不止在替代人工。系统跑出来的过程数据——每个PIN针的位置偏移、每个产品的偏移分布——这些数据反哺工艺改进的价值,可能比替代目检更大。但这个价值需要跑几个月才能体现出来。
七、给你的建议
如果你也在考虑类似的微小零件视觉检测项目:
- 先花一周时间搞定光源方案——打光不好什么算法都救不了。拿样品来试,不同角度、不同光源类型、不同亮度的组合,试到满意再往下走
- 缺陷样本至少准备500张以上才有实用价值——不要上来就追求模型精度,先把样本池做扎实
- 给后处理留足够的设计空间——纯靠模型判断容易误报,加上一些规则逻辑(PIN间距一致性、灰度变化、面积比)能大幅提升效果
- 预留相机物理调节机构——Z轴滑台、减震底座、镜头锁紧,这些看似基础的机械结构决定了系统能稳定运行多久
- 让现场质检员参与——她们最清楚"什么算不良",她们的参与能显著降低系统上线的阻力
- 做好连续运行的节奏——边缘AI网关放在车间里,散热、电源稳定、光源寿命都要经过连续24小时的考验