光照!光照!还是光照!
搞过现场的人都知道,视觉系统最怕的就是光。不是怕暗,是怕不一致。早上太阳斜射进来,下午车间顶灯闪几下,都可能让检测结果跳水。我们吃过最大的亏就是在一条冲压线上,用传统算法做表面缺陷检测,结果一到换班时间,合格率曲线就抖得跟心电图似的——后来才发现,是晚班工人觉得灯太晃眼,关了半边。
这让我想起一个经典问题:
问:视觉系统在工业现场最怕什么?
答:粉尘、振动、温度漂移,但排第一的还是光照扰动。很多人上来就调算法参数,其实应该先趴下来看光源。现在靠谱的方案都会在光学设计上砸钱——偏振片、漫射板、多角度频闪,甚至把整个检测工位做成暗室。我见过最夸张的是一条精密零件线,每个相机配了三组光源,分时点亮,合成一张无影图像。当然成本也飞起,但比起漏检一个缺陷赔出去的钱,还是划算的。
传统视觉 vs. 深度学习,真的非要二选一?
这事儿得从三年前说起。我们用传统算法做焊缝检测,规则写了上千行,换一种焊丝就得重新调阈值,把人折磨得够呛。后来跟风上了深度学习,缺陷分类准是准了,但解释性差,产线师傅不信那个黑盒子,每次停机都得我举着热力图解释半天。而且你知道最讽刺的是什么吗?——深度学习模型在检测未知缺陷时,反而比传统方法更保守,因为它没见过。而传统算法虽然死板,但至少逻辑透明。
所以现在我们的策略很“功利”:能用传统视觉搞定的,绝不碰深度学习。比如尺寸测量、简单有无判断,几十行代码加个背光源就稳如狗。而碰到纹理杂乱、缺陷形态千变万化的场景(比如铸件砂眼、布匹疵点),再祭出卷积神经网络。有时候甚至两者混合——传统算法做初筛,深度学习做复判,兼顾速度和精度。这种“脏活累活”在顶会论文里看不到,但产线认。
问:那到底怎么选?给个粗暴的判断标准呗。
答:如果缺陷特征能用少于5条规则描述清楚,用传统视觉;如果需要你盯着图看三秒才能决定是不是缺陷,上深度学习。另外还得算经济账:传统视觉部署快,但后期维护规则可能会让你怀疑人生;深度学习初始样本标注累,但模型迭代起来后维护成本低。各有各的痛。
3D视觉的“真香”与“真贵”
这两年3D视觉在工业界热得发烫,尤其是机器人引导。我们用结构光相机做无序抓取,一开始觉得酷毙了——料框里乱七八糟的工件,点云一扫,路径一规划,机械臂下去就捡起来。但用着用着就发现,点云质量太吃工件表面材质了。黑色反光件直接吸光,透明件更是一场灾难。有一次抓取率突然掉到70%以下,排查了两天,最后发现是因为上一道工序的切削液残留,在点云上形成了一层“幽灵”噪点。
还有速度问题。产线节拍要求越来越高,有些场景下3D成像加算法处理要300毫秒以上,根本跟不上。后来我们被迫用上了GPU加速和边缘计算,把一部分推理放到相机端。说实话,现在工业视觉的竞争,一大半是算力部署的竞争——你把模型压缩到多少毫秒、能不能在嵌入式板卡上跑动、散热怎么解决,这些都是落地时的真功夫。
最近有个趋势挺有意思:事件相机开始进入工业检测。这东西只捕捉亮度变化,天生抗运动模糊,适合高速场景。我们试过在每分钟跑200米的带材表面缺陷检测中用它,传统线扫相机在加速段会拉长变形,事件相机输出却纹丝不动。只是生态还不太成熟,算法库少,得自己写不少底层代码。
把视觉系统塞进老旧产线,完全是另一种折磨
很多文章爱谈技术前沿,但工业视觉的落地往往卡在非技术因素上。比如要在一条20年前设计的产线上加装检测工位,空间只有巴掌大,还得避开原有的液压管路;或者PLC是老型号,通讯协议不支持TCP/IP,只能走I/O硬接线,好几个像素级的检测结果硬是压缩成一个OK/NG信号,心疼得我直嘬牙花子。这时候什么深度学习、3D点云都使不上劲,你得先解决机械改造和自动化集成。更头大的是产线工人的接受度。我们曾经在一个装配站上线视觉防错系统,自动识别漏装零件,结果工人觉得被监视,抵触情绪很大。后来跟班组长喝了好几顿酒,才磨出一个折中方案:工位屏幕不显示“不合格”,而是用黄色笑脸提醒“可能忘了什么哦”,数据也只做统计不上传考核。这事儿教会我,工业视觉的结尾永远是人。
所以回到开头那个话题——计算机视觉在工业里到底算什么?它既不是包治百病的神器,也不是实验室里的玩具。它是一套需要跟光学、机械、电气、甚至人性打交道的系统工程。每一个落地的项目背后,都有几箱被拧烂的螺丝、几十个被删掉的版本、和无数次想砸相机的冲动。但每当看到产线上那颗小小的镜头,像一只不知疲倦的眼睛,在油污和噪声中精准地拦住一个又一个缺陷,还是忍不住跟同事说一句:值了。
免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:工业计算机视觉(CV):产线上那些让人又爱又恨的“眼睛” https://www.dachanpin.com/a/tg/65931.html