首页 / 资讯中心 / 文章详情

机器视觉在线计量:从人工抽检到全检的产线落地实战

机器视觉在线计量:从人工抽检到全检的产线落地实战 ★ FEATURED ARTICLE
干过产线计量的朋友大概都有同感卡尺一拿就是一整天眼睛盯到发花抽检比例放到2%都觉得吃力碰到反光面和倒角毛刺还经常“测不准”。我们前一阵子落地了一套基于机器视觉的质量保障系统把原本靠人工抽检的尺寸计量变成了全线在线计量。原理说起来不神秘——相机触发拍照、软件做亚像素边缘分析、结果送回PLC判定——但真正让它跑顺产线坑远比想象得多。这篇文章就是把我从选型、标定、节拍调试到稳定运行的完整过程拆给你看希望能让准备上类似系统的同行少走弯路。1. 为什么传统人工计量成了产线效率的隐形瓶颈1.1 人工检测的误差来源与节奏限制很多人觉得抽检是划算的因为“反正最终结果符合AQL就行”。但放到实际产线上抽检的本质是拿风险换效率。我们做的是金属冲压件的外缘尺寸图纸公差±0.15mm这批零件一分钟出30个一个班次下来就是一万多个。人工卡尺全检根本不现实手速再快也会疲劳于是只能抽2%结果不良品大概率漏在王水里。更麻烦的是手检本身的误差来源太多——同一件产品不同人卡尺拿的角度不一样用力大小不一样读出来的数能差出0.05mm以上这已经占了公差带的三分之一。视觉系统恰恰在这种重复性场景里有天然优势它不会累也不会“心情好就卡紧一点”。1.2 在线计量的目标全检代替抽检的数字账我们当时列了一个账人工抽检模式下每天约检测200件需要专职质检员1名质检人力成本加上漏检带来的客诉返工一年差不多二十万。换成视觉在线计量后设备投入一次性十多万但实现了全线100%检测每天一万件全都过系统。更重要的是检测一致性同一个算法对同一个特征永远是同一种判断尺度不存在上午严、下午松的问题。当然这个账的前提是系统稳定不能三天两头误报否则产线停了效率反而亏进去。所以真正要算的不是“买设备的钱”而是“把系统调到稳定可用的时间成本”这恰恰是很多项目失败的原因——光学方案没做好算法天天被人骂。2. 视觉质量保障系统的整体构成从相机、光源到算法的取舍2.1 相机的像素与帧率如何匹配产线速度先说相机这部分是纸上谈兵最容易忽略的。视觉计量的本质是用像素当尺子所以像素精度直接决定测量上限。我们要求测量重复性达到±0.02mm按经验规矩像素精度至少要比公差精度再细5倍——也就是说理想情况下1个像素要对应0.004mm以下但实际上0.015mm也能凑合因为亚像素边缘拟合可以把有效分辨率再拔高一个数量级。计算公式很简单像素精度 视场宽 ÷ 相机水平像素数。我们要拍的零件长度约50mm如果用120万像素的相机视场宽50mm时像素精度是50除以1280约0.039mm/pixel配合好的亚像素算法勉强能到±0.03mm再往上就吃力了。最终我们选了500万像素全局快门相机25mm视场下像素精度能到0.01mm边缘拟合后稳稳落在±0.015mm以内。帧率一样不能拍脑袋。产线节拍是每秒30件这意味着从触发到输出结果的时间必须压缩在33ms以内。相机帧率标称60fps实际上要考虑触发延时、曝光时间、传输时间以及算法处理时间。我们的经验是选帧率高于产线节拍2倍的相机给后续算法迭代留余量否则以后想加功能就只能换硬件。2.2 光源方案的明场与暗场选择逻辑光源是视觉项目成败的关键也是我们踩坑最多的地方。一开始我们用了标准的环形高角度光拍冲压件表面结果发现零件边缘有轻微翘边在图像上会渲染出两道非常亮的反射边导致边缘提取出现双边缘。后来换成低角度背光源才把轮廓真正“剪”出来。这里有个基本逻辑测量外尺寸用背光看的是零件的剪影计量的是阴影的边缘而检测表面划痕、污渍才用明场打光如果要抓凹坑和不平又要考虑暗场或低角度光让缺陷形成反射差异。下面是我们在选型时做过的对比直接贴出来供参考方案适用场景优点缺点高角度环形光表面字符、位置检测照射均匀、安装方便对翘边/反光敏感不适合精密外尺寸低角度背光外尺寸、轮廓计量边缘锐利抗反射干扰需要定制背光源设备占地略大暗场光划痕、凹凸检测缺陷呈现明显对比背景亮度暗环境光干扰需重点屏蔽同轴光高反光平面消除镜头反光光源成本高均匀性要求极高我们最终采用“背光测量轮廓 高角度光辅助看表面”的双光源结构两套照明在软件里分开触发一套负责尺寸一套负责表面缺陷互不干扰。2.3 算法的“标定-检测-判定”三层结构算法部分是很多人最虚的。其实纯尺寸计量用不到深度学习传统图像处理就够关键是把“标定、检测、判定”三个层次分开。第一层标定建立像素到物理毫米的映射关系第二层检测从图像里用边缘算子找到零件轮廓再做亚像素拟合第三层判定把测量值和公差带比输出OK/NG信号。这里有个容易被误解的点深度学习不是万能药尤其在计量场景下线性CCD加标定板往往比盲目上卷积网络更可靠因为你需要的不是语义识别而是精确定量。我们的“检测”层用的是亚像素边缘拟合把边缘的灰度过渡曲线插值到零点几像素级别然后再拟合直线或圆弧最终计算尺寸。3. 我在模拟产线上实测的完整标定流程从像素标定到数据追溯3.1 像素标定与坐标系转换步骤标定是整个系统精度的根基这一步偷懒后面所有数据都是虚假的。我们用的是标准量块配合棋盘格标定板流程分三步。第一步把标定板平放在背光源上调整相机焦距和光圈让标定板充满整个视场画面清晰且边缘不出现色散第二步在不同高度和角度下采集不少于8张标定板图像用软件的张正友标定法求解镜头畸变系数与内外参数第三步用标准量块做验证——把量块放在视场内任意位置测量程序自动给出长度值反复放10次看测量值与真值的差的波动范围。关键细节是光圈不能开最大。我们刚开始为了追求亮度把光圈开到F1.4结果边缘模糊严重标定残差一直降不下来。后来缩小到F4画面变暗但轮廓变锐亚像素拟合的重复性立刻提升。记住视觉计量的第一原则是图像锐度优先不是亮度优先。3.2 测量容忍度与实际公差带的换算标定完成后别急着设公差因为像素精度和重复性测量精度不是一回事。我们需要在系统里分别设置两个参数测量公差规格范围和判定迟滞带Hysteresis。比如产品图纸公差是±0.15mm但系统重复性误差是±0.02mm如果直接按±0.15mm判定会出现在公差边缘反复横跳的情况。稳妥做法是把判定边界设为±0.13mm留出0.02mm给重复性误差这样虽然理论上会误杀一部分合格品但实际上NG率只会增加零点几个百分点换来的是绝对不会有漏判的风险。我们在调参时用了一批已知的标准合格品做回归测试把误杀率控制在0.3%以下。3.3 缺陷分类与数据落库设计计量不只是给一个合格/不合格还要知道到底是什么位置不合格这样工艺部门才能调模具。我们给测量结果设计了三个字段位置ID、实测值、超差方向。位置ID对应的是零件上的具体测量特征比如“左端面外径”“右端面内径”实测值保留小数点后三位毫米超差方向标记为偏大/偏小。检测数据每一条都写入数据库和批次号、机台号绑定。上线第三周我们就通过这批数据发现某一套模具加工出的零件尺寸系统性偏小0.04mm这是人工抽检根本看不出规律的因为它们都还在公差带内但分布已经偏移了——数据库帮我们提前抓住了趋势。4. 提升在线计量效率的真实节拍信号握手、缓存与误报调优4.1 视觉控制器与PLC的信号握手设计在线计量系统如果不跟产线联动本质上还是在实验室里玩拍脑袋。我们这里最关键的一步是视觉控制器和PLC之间建立可靠的触发信号。产线的光电传感器检测到零件到位后输出一个10ms的脉冲给相机的触发输入相机拍照完成后软件计算出结果再输出一个OK或NG信号给PLCPLC决定是否让机械臂剔除。这里有一个很多第一次做的人会掉的坑相机触发信号和PLC返回信号的时序必须严格约定。如果PLC读取结果太早拿到的可能是上一件产品的结论整个在线计量就变成了错位检测。我在现场调试时用示波器抓过信号时序最后确定了一套握手协议相机接收触发后拉高“忙”信号PLC在“忙”信号变低后再等待3ms锁存结果。这个3ms由软件处理时间的最大抖动决定宁可多等也不能抢拍。4.2 图像缓存策略避免处理不及导致丢帧当产线节拍快、软件算法耗时较长时会出现相机已经拍完下一张、上一张还没处理完的情况。我们最开始的做法是每拍一张就同步处理、同步输出但遇到复杂零件时处理时间冲到40ms产线节拍33ms直接丢件。后来我们引入了环形缓存区相机图像先存入内存队列处理线程从队列中取出逐帧处理PLC触发信号与图像序号绑定保证缓存区溢出时就地丢弃最旧的帧、并标记这一帧为“超时未判”。实际跑下来缓存深度10帧完全可以支撑节拍波动只有当产线连续快速加速时才会偶尔报一次“丢帧”。丢帧不可怕可怕的是丢了帧没人知道所以缓存区要带状态监控一出现持续丢帧就提示操作员检查节拍。4.3 误报与漏报的平衡离线复判机制在线检测最怕的不是漏检而是误报把合格品全给剔走了人员就会被喊来排查产线直接变手动模式。我们第一次上线时NG率高达6%后来一看误检图全是毛刺和熔接线导致的边缘提取偏移。这时候我总结了一条经验正面打光看毛刺背面打光看轮廓两者要分开考虑。如果你的目的是计量尺寸边缘毛刺应该用滤波算法滤掉而不是当成缺陷如果你的目的是检测表面质量那okay毛刺本身就是缺陷。这个语义要前后统一。更实用的一招是加一个“离线复判工位”在线NG的零件自动流入复判台由同一个算法重新拍摄三次如果三次判定一致才确认为NG如果不一致则系统自动把这次判定记为“疑误报”并更新算法的阈值参数。三个月下来在线误报从最初的6%降到了0.8%以下而漏报始终为零。这个机制的思路是“算法有怀疑就多查一次”与其追求完美的单次判定不如用低成本的双次判定换稳定。5. 上线运行三个月后我总结的稳定性与维护细节5.1 光源衰减与环境光干扰的防护视觉系统在实验室跑半小时和产线跑三个月的状态完全不是一回事。衰减最明显的是背光源——LED亮度在连续工作三个月后会下降导致的直接后果就是边缘对比度变淡触发同样的曝光参数时边缘拟合的稳定性开始下降。我们的解决办法是给光源配上恒流驱动并设定压线电流而不是简单开满功率。另外产线相邻工位的照明灯和车窗透进来的自然光都会让背光边缘产生额外的灰度平台。我的建议是把视觉测量工位整个用遮光罩围起来虽然丑但能根治环境光干扰。千万别指望算法去“智能”区分环境光算法永远只能处理没有被光学环境污染的图像。5.2 相机脏污自动监测与维护节奏相机镜头与光源表面会慢慢积灰尤其是有切削液雾气的环境中。灰一旦落在视野里的边缘位置会被算法当成真实边缘直接让测量结果跳变。我们上线第二个月就吃过这个亏连续出现同批次零件全部偏大0.06mm一开始以为是设备精度问题后来用放大镜一看镜头上有一颗约0.2mm的屑粒正压在测量特征附近。从此我们把相机脏污监测做成了自动任务每天开机先采集一张灰度均匀的标准块图像计算图像中高灰度突变的斑点数超过3个就弹窗提醒维护人员擦拭镜头。千万不要让操作员凭感觉定期擦靠自觉的事基本都会忘。5.3 计量数据反过来对工艺和质量体系的长期价值在线计量系统跑通之后它最大的价值其实已经不是“检测”了而是给我们提供了一份长期、连续、全数的高质量数据资产。以前工艺部门调模具靠的是“感觉”总是先做几十件量一量再调现在他们可以直接在系统里看测量值的时间序列图判断哪个时间段的模具磨损速度最快。我们用这个趋势数据反推刀具更换周期把原先定时定量换刀具的方式改成了“按照尺寸趋势预警换刀”单批次刀具综合成本节约了将近18%。这部分收益虽然不直接算在“计量效率”的账上却是整个视觉质量保障系统最让人惊喜的副产品——计量不只是“把关”它正在成为产线自我调节的踏实依据。
阅读完成 · 觉得有帮助?
咨询建站