❗ 真相是:大多数工厂要的缺陷检测,远没到炫技的程度。甚至,连一张像样的缺陷样品都凑不齐。
我不想谈什么“第四次工业革命”。太远。咱们聊点车间里实实在在的疼。
人工目检:一颗定时炸弹
十年前我在某电子代工厂,看到一条流水线末端坐着八个女工,每人手里捏着个小手电,翻来覆去照手机外壳。一天十小时,盯得眼泪直流。良率?全凭感觉。有一次客户投诉壳体内部有毛刺,追溯下去,出事那班的小姑娘前一天失恋,走神了。这能怪她吗?是个人都会累。
人眼的极限——说实话,对于小于0.1mm的微裂纹,检出率能稳定在80%就算烧高香。更别提一致性:早晨眼神好,下午就花了。我见过最离谱的案例,某螺丝厂用人工筛选,客户那边装配时发现混入了半截断钉,差点整批退货。之后厂长咬牙上了光学筛选机,不是觉得AI多先进,纯粹是被逼的。

不过话说回来,早期那种靠几个光电开关、纯基于灰度阈值的“笨”机器,反而比现在动辄上深度学习稳定。为什么?因为规则简单,没有“误把灰尘当裂纹”的困扰。可惜场景稍微复杂一点,它就直接罢工。
从传统算法到深度学习:不是替代,是互补

2016年我主导一条刹车盘铸造线改造,缺陷种类多达17种:气孔、缩松、裂纹、夹杂……传统Blob分析根本hold不住。当时尝试了Halcon的基于形状的匹配,加上纹理特征提取,勉强把过杀率压到15%以下。但每换一种产品,重新调参调到崩溃。
后来引入了一个轻量的CNN,才真正体会到什么叫“特征自动提取”的快感。但!注意了,这里有个巨坑:没有足够多、足够真的缺陷样本,深度学习就是个花瓶。
问:都说深度学习需要大量数据,现实中很多缺陷一年都见不到几次,怎么搞?
答:这问到了痛处。我的做法是“先人工造,再生产线采”。用记号笔在工件上画伪缺陷,用锉刀故意磕出痕迹,甚至用酸腐蚀模拟锈蚀坑。先让模型理解什么是异常,上线后开启“难例挖掘”——把误判的、漏判的图像自动存下来,人工标注后再回炉训练。三个月后,模型对真裂纹的召回率从60%拉到了92%。但前提是:你得有个懂工艺的人,而不是只会标框的实习生。
问:3D视觉是不是比2D更好?
答:看场景。如果是平面缺陷如划痕、脏污,3D反而添乱——激光线会把细微纹理平滑掉。但对于高度方向的缺陷,比如焊点高度、零部件装配间隙,3D轮廓仪是唯一解。我去年处理一个电池极片对齐度检测,用2D死活打不出稳定光,换成3D线激光后问题迎刃而解。❗但代价是成本翻三倍,节拍却慢了40%。所以得权衡。
系统集成:那些没人告诉你的碎渣事儿
你以为算法调好了就万事大吉?天真。光源角度偏5度,灰度值能差30个级。振动导致相机微动,图像模糊,检测框直接跑飞。我印象最深一次,某产线PM2.5超标,镜头上落了一层静电灰,良品疯狂被误剔,操作工以为机器抽风,差点一扳手砸了控制柜。后来加了气帘防护,定期自动清洁,才算消停。
还有就是通讯。视觉控制器和PLC的握手方案坑死人。拍完照到给出OK/NG信号,必须在150ms内,否则节拍跟不上。用TCP/IP经常有几十毫秒抖动,后来直接改走EtherCAT,配合硬件触发,延迟压到5ms以内。这些细节,没在现场熬过夜的人根本不会注意。

更头疼的是数据追溯。现在客户不只要求你把废品踢出来,还要知道这批缺陷的分布趋势,最好能自动生成SPC报表。于是又得接MES,得把图像和数据以时间戳匹配。存了半年图像,硬盘爆了三次——后来给服务器上RAID5,才发现钱花在存储上比算法还多。💡 这里面有个省钱技巧:只存缺陷图+每百个合格品中随机抽一张。足够做趋势分析了。
检测方案选型:别被厂商PPT忽悠

市面上视觉厂家千千万,每次展会都吹嘘“零漏检”。扯淡。我参与评估过不下15家,能打的没几个。建议带上自己产线上最恶心的缺陷样品去测试,当场看效果。注意:不是看demo,是接上真实的传送带,在正常光照、振动下跑一小时,统计误报率、漏报率。
一条铁律:如果某个缺陷靠人眼在静态下需借助放大镜才能看清,就别指望在线检测能100%抓出来。必须设定可接受的风险等级。
另外,算力平台别盲目追求GPU。有些简单的尺寸缺陷检测,一个几百块的嵌入式ARM板跑传统算法,稳定得一批,何必上工控机?
问:新项目启动,应该先上缺陷检测还是先做SPC过程控制?
答:我强烈建议先做过程控制。很多缺陷的根源是工艺参数漂移——比如注塑温度低了,熔接痕就多。把参数监控好了,缺陷自然就少。缺陷检测是最后一道防线,不能当救命稻草。否则容易陷入天天补漏的死循环。
写到这里忽然想起,前两天老周又给我打视频,背景里那台设备还在跑,他咧着嘴说:“我把所有误检图全重新标了,又训了24小时。现在它连我脸上的皱纹都能分出来不是裂纹了。” 车间里轰一声笑。我觉得,这才是真实的推进——没有魔法,只有死磕。