机器视觉外观检测:从选型到落地的踩坑实录与设计要点

摘要:结合工业视觉领域十年落地经验,拆解机器视觉外观检测项目中容易被忽略的核心设计要点,用真实项目案例聊聊选型、光源、算法调参环节的常见坑点,给有一定基础的中级工程师提供可落地的参考。

选型不是越贵越好:工业场景的适配陷阱

半年前接了一个汽车零部件厂的项目,给橡胶密封条做表面缺陷检测,要求识别出0.1mm以上的气泡、刮痕和杂质。

一开始对接的供应商上来就推8K线阵相机,说分辨率越高精度越好,一套下来报价近二十万。差点就签合同了。

我去车间转了一圈,密封条被测区域总宽度才120mm,生产线速度每分钟15米。算一下就知道,500万像素的面阵相机,配16mm定焦镜头,单像素精度就能做到0.08mm,完全满足要求,为什么要用线阵?

汽车密封条机器视觉外观检测现场图
汽车密封条机器视觉外观检测现场图

线阵相机适合连续运动的大面幅产品,比如几米宽的卷材、整卷钢板,你一个一百多毫米宽的小件,面阵相机一次曝光就能出图,成本只有线阵方案的三分之一,维护还方便。

很多人入门就踩这个坑,唯参数论,堆最贵的硬件,最后预算超了,效果还不一定好。按照GB/T 39112-2020《机器视觉 外观检测通用技术要求》,只需要根据最大可接受缺陷尺寸倒推单像素精度,一般遵循3倍准则:单像素精度要小于最大可接受缺陷尺寸的1/3,算出来需要多少分辨率就买多少,多一分都是浪费。

当然,也不能贪便宜买杂牌。相机暗电流不均匀,镜头畸变超标的话,后期调调到死。我们长期用几家大厂的工业级产品,稳定性真的差很多。

光源设计才是核心:90%的检测失败都出在这

说出来你可能不信,我见过的失败项目里,十个有九个是光源没选对,不是相机不行,也不是算法不行。

前年做手机不锈钢中框的划痕检测,一开始用了常见的环形无影光源,打光出来,划痕和表面油污的灰度差不到10个灰阶,算法根本分不出来,误检率干到22%,根本没法上线。客户天天催,头都大了。

后来翻了一堆资料,把光源换成低角度平行同轴光源,角度调到13度,再看图像,划痕直接黑成线,背景是均匀的亮灰色,灰度差直接干到80多。误检率直接降到0.8%。

不同光源下不锈钢划痕机器视觉检测对比图
不同光源下不锈钢划痕机器视觉检测对比图

说实话,很多刚做项目的工程师,把预算大部分砸在相机和算法上,光源只留了零头,这完全搞反了优先级。机器视觉外观检测,本质就是靠缺陷和背景的灰度差做分割,没有好的打光,再好的算法也白搭。

还有容易忽略的照度稳定性。国标要求光源照度波动不超过±5%,很多便宜的光源,用的是劣质驱动,用半年照度掉10%都不止,原来调好的阈值直接废了,工人天天要调参,烦都烦死。别省那点驱动的钱,选带恒流控制的,真的省心。

动态阈值:解决量产阶段的环境漂移问题

动态阈值:解决量产阶段的环境漂移问题
动态阈值:解决量产阶段的环境漂移问题

实验室调出来效果完美,一上线批量生产就出问题,这又是一个常见坑。

我之前碰过一个连接器外观检测的项目,实验室调试的时候误检率0.3%,上线入夏之后,误检率突然冲到6%,找了一周才找到原因:车间没有恒温,白天温度比实验室调试的时候高了8度,相机CMOS暗电流升高,整张图的平均亮度涨了7个灰阶,原来设的固定分割阈值,直接把合格的接触凸点当成了凹缺陷。

解决方法其实很简单,把固定阈值换成动态阈值,每次检测都取当前帧背景区域的平均亮度作为基准,自动上调或下调分割阈值,改完之后,误检率直接回到0.4%,再也没出问题。

不过话说回来,要是缺陷种类多,每种缺陷的样本又少,传统算法确实顶不住。现在小样本深度学习做得已经很成熟了,不用动辄几千张缺陷样本,几十张就能训出能用的模型,准确率比传统算法高不少,成本也没涨多少,适合复杂缺陷的检测场景。

别信那些吹端到端大模型的,工业场景哪来那么多缺陷数据?10万件产品出10件不良,数据不平衡,大模型泛化能力根本不行,落地十个九个拉胯,不如老老实实结合场景选方案。

干这行快十年了,最深的感受就是,机器视觉外观检测从来不是拼参数堆配置,是帮客户解决实际问题。多去车间待两天,摸清楚生产环境的各种干扰,比在办公室想破头有用。选对适配的方案,低成本也能出高稳定的结果。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:机器视觉外观检测:从选型到落地的踩坑实录与设计要点
文章链接:https://m.yqhljx.com/list_9/2269.html