你以为上了视觉系统就高枕无忧?哈。天真。上周我蹲在车间,盯着屏幕上的红色NG标记,头皮发麻——明明人眼一看就没问题,它偏报错。更气人的是,有些划痕肉眼都费力,漏检了,质检员一脸“我早说这玩意儿不靠谱”的表情。缺陷检测这行,水太深。
硬件选型:相机和光源的锅,别全甩给软件
搞缺陷检测,十次翻车八次死在硬件上。尤其是光源。很多工程师上来就整个环形光,无脑怼,后果就是:灰尘、油渍、甚至产品表面正常的纹理,全给你判成缺陷。产线一跑,报警停不下来。
我吃过亏。有次做金属零件表面划痕检测,环形光下,划痕和加工刀纹搅在一起,人眼分不清,机器更是瞎。后来换了低角度条光,斜着一打,划痕瞬间凸现,刀纹淡到可以忽略。记住:光的入射角决定什么特征被放大。还有偏振片,对付反光,简直是神器。

相机呢?分辨率不是越高越好。你算笔账:检测精度0.1mm,视野100mm,横向至少1000像素,考虑到边缘畸变和对比度,翻个倍,2000万像素起步吧。但帧率就下来了。高速产线?别盲目追高像素,像元尺寸和快门速度的匹配,才是关键。卷帘快门拍运动物体?重影让你怀疑人生。
算法:深度学习不是银弹,它有时候连铁弹都不算
自从卷积神经网络火了,缺陷检测圈就开始迷恋“AI替代人工”。实话,我推过好几个深度学习项目,踩的坑比填的土还多。
数据不平衡,老大难。正常品成千上万,缺陷品一天捡不出十个。你拿这种集子去训,模型直接躺平——全判OK,准确率99%,实际漏检100%。可笑不?还有标注质量,外包团队标得那叫一个随心所欲,裂纹标成污点,坑孔标成划痕,模型不崩才有鬼。
最让我崩溃的是泛化。实验室精度99.5%,换卷新批次材料,表面反光率微变,误报瞬间飙到20%。工业场景,光照、振动、灰尘、油温,全是变量。你不可能穷举所有环境组合去训练。后来我们搞了在线难例挖掘,边跑边学,总算把误报压到5%以下,但开发周期翻了三倍。

问:标注了几百张图,模型还是乱抓,怎么办?
答:几百张?在工业界那就是闹着玩。最起码几千张,还得做数据增强——旋转、缩放、亮度抖动,模拟产线波动。更关键的是,你不要光标缺陷,正常样本也得标,尤其那些纹理复杂的背景,不然模型会把花纹当裂纹。别忘了负样本的重要性。还有,用分割别用检测框,缺陷边缘往往模糊,框不准,后续计算尺寸就失真。
问:传统算法还用不用了?感觉深度学习包打天下。
答:天真+1。很多简单场景,传统算法稳如老狗。比如测量尺寸、检测有无、计数,halcon那套还是快。深度学习擅长的,是复杂纹理、难以描述的非标缺陷,比如布匹破洞、陶瓷暗裂。有些项目,我们先用传统算法过一遍粗筛,再用AI精判,混合架构省钱省力。
产线落地:稳定才是王道,否则就是展览品

调试阶段爽,上线泪两行。环境光变化,上午下午窗边亮度不同,系统就抽风。我们给设备加了个外罩,里面恒定光源,顺带解决了一个大隐患:工人手电筒巡检时,手电光扫过视觉工位,直接触发一批误检。这你能想到?
振动更要命。冲压车间,地基都在抖。图像糊了,还检个啥。后来用减震基座,加外触发,定拍,不抖的时候才采图。还有灰尘,镜头一脏,图像出斑点,被判为缺陷——定期的自动对焦和吹气清洁,得写进工单。
这些年最大的领悟:缺陷检测,七分工艺,三分算法。工艺指的不是生产,是整个视觉系统的工程实现。相机支架能不能快拆?光源角度能不能快速调节?操作工能一键换型吗?别让一线觉得你的系统是“祖宗”,得求着供着。
前年我们上了一条线,检测PCB焊点,一开始良率乱跳,车间主任差点砸机器。后来发现是输送带速度不稳,导致图像拉伸,我们加了编码器追频,问题解决。但这事儿,项目经理和算法工程师都没预料到,只有天天泡产线的人才知道。
别指望一劳永逸。缺陷检测是死磕,是持续迭代。下次再有人跟你说“交钥匙工程”,你让他去车间住一周。