AI产品外观缺陷智能检测:从算法到落地的工程实践

说实话,干了这么多年机械设计,以前听到“AI质检”总觉得是IT圈的事。直到去年接手一条产线,被几个外观缺陷搞得焦头烂额——划痕、凹坑、脏污,人工目检漏检率居高不下,客户投诉一封接一封。那时候才真正意识到,这玩意儿不是玩概念,是能救命的。

今天不聊虚的,直接讲怎么把AI外观缺陷检测落到实际产线上。你可能已经看过无数篇讲原理的文章,但真正的坑,往往在细节里。

一、别急着上算法,先把成像搞定

很多人一上来就调模型、训数据,结果效果烂得一塌糊涂。我跟你讲,90%的缺陷检测问题都出在成像上,而不是算法。

去年我们做一个手机中框的检测项目,表面是阳极氧化铝,轻微划痕在常规光源下根本看不出来。后来换成了暗场照明——低角度环形光,让光线贴着表面掠射,划痕的散射光才能被相机捕捉到。就这么一个改动,检出率直接从67%干到96%。

所以,第一步,先搞清楚你的缺陷是什么物理特性。是反光的?还是吸收光的?是三维形变还是颜色差异?

选相机也不简单。面阵还是线阵?分辨率要多少?我们算一下:假设产品宽度200mm,要检测0.1mm的缺陷,至少需要2000像素——实际上你还要考虑鲁棒性,建议缺陷尺寸占3~5个像素,所以至少得5000像素宽的相机。别省这个钱,后期返工更贵。

还有镜头。畸变是个大坑,尤其是广角。记得用远心镜头或者做畸变标定——不然你的坐标定位会偏,缺陷位置报不准,后端的机械臂根本没法跟。

工业相机镜头畸变标定板图
工业相机镜头畸变标定板图

嗯,说到标定,不得不吐槽一下。很多人买来设备就急着跑,连一个基本的标定都不做。结果缺陷位置误差几毫米,复检机制直接失效。我的建议是,至少每周做一次畸变和光度标定,尤其是现场振动大的环境。

二、算法选型:传统视觉 vs 深度学习?

别整天“深度学习yyds”。我见过太多项目,用传统算法几毫秒就能搞定,非要去跑神经网络,把整个工站的节拍拖死。

给大家一个参考:如果你的缺陷是稳定的、可量化的——比如固定的划痕方向、固定的黑点大小,用传统视觉(halcon、opencv)就够了。滤波、阈值分割、形态学,一套下来又快又稳,而且不需要打标数据。

但如果是纹理表面、缺陷形态千变万化,比如布匹的毛刺、皮革的痘痘,那没办法,得上深度学习。我们之前做过一个铸件气孔检测项目,气孔形状不规则,灰度对比度极低,传统算法根本分不清气孔和正常组织。后来用了U-Net做语义分割,把像素级缺陷标出来,才算解决。

不过说真的,深度学习不是万能药。训练数据得几百张甚至上千张,而且缺陷样本特别难收集——产线平时良品率97%,哪来那么多缺陷?我们当时用了一个土办法:人为制造缺陷。拿针戳、拿砂纸磨,甚至用PS在图像上合成缺陷。数据标注更是磨人,两个工程师标了整整两周。你得盯着每一张图,把缺陷边缘勾出来,真的眼都快瞎了。

网络结构方面,如果你不是搞算法研究的,别自己造轮子。用现成的ResNet、EfficientNet做分类,或用YOLO做检测就够了。关键是调参——学习率、batch size、数据增强策略,这些才是真正影响效果的地方。我们当时试过在YOLOv5上增加一个注意力模块,确实提升了2%的召回,但推理时间也涨了30%。这个权衡看你自己的节拍要求。

深度学习缺陷检测网络结构图
深度学习缺陷检测网络结构图

三、工程化落地:那些没人告诉你的细节

算法在实验室跑得好好的,一上产线就拉胯,这种案例还少吗?

首先是环境光干扰。车间里的自然光、旁边工位的照明灯,都会让你的成像不稳定。最有效的办法——加个遮光罩,物理屏蔽。别嫌丑,管用。

然后是振动。产线上设备一启动,整个工作台都在抖。相机架和产线之间一定要加隔振垫,或者干脆把相机装在独立支架上。我们有一个项目,就是因为没考虑振动,图像边缘一直发虚,换了N种算法都救不回来,最后发现是固定相机的螺丝松了半圈……

还别忘了通讯协议。检测结果得发给PLC或者机械臂,是走Ethernet/IP还是Profinet?丢包怎么办?建议采用“结果缓存+重传机制”,不然偶尔丢一次信号,你的分拣机构就可能把良品打进废料箱。

更重要的是,你的检测系统得能“自解释”。产线工人不懂深度学习,当屏幕上红色框框出现的时候,他得能明白为什么会被判NG。所以你要输出缺陷的位置、类别、置信度,甚至缺陷图像裁剪。这样才能赢得现场人员的信任。说实话,很多AI项目死在“黑箱”上——工人不信任你,偷偷调阈值,最后还是靠人工。

四、一个真实的案例:从95%到99.5%的折磨

去年做的一个汽车密封圈外观检测项目,要求检测毛边、缺胶和杂质。初始系统检出率95%,听起来还行吧?但客户要求是99.5%,否则就不付款。

这0.5个百分点,差点把我们逼疯。

翻来覆去加样本、调参数,效果一直卡在98%左右。后来发现,问题不在算法,而在产线的来料一致性——密封圈在注塑机上脱模位置有偏移,导致每颗料的光照角度都差那么一点。我们的成像系统是固定光源,这哪受得了?

最后解决办法是:加一个机械定位结构,把密封圈每次压到一个固定的夹具里,再拍照。就这么一个机械小改动,检出率直接飙到99.7%。你看,搞来搞去,问题还是出在机械上——咱们工程师的价值就在这儿。

五、验收标准和避坑指南

五、验收标准和避坑指南
五、验收标准和避坑指南

说到验收,一定要把指标定义清楚。有误检率(False Positive)漏检率(False Negative)——通常在制造业,漏检比误检更致命。客户会跟你抠这几个数字的定义,别含糊。

还有,测试集怎么来?不能只用厂里那几条道。建议从不同生产批次、不同设备、不同操作工生产的样品中抽取,还要模拟不同季节的光照和温湿度。我们当时吃过亏,夏天车间温度35度,相机热噪声大,图像噪点增多,误检率翻倍。后来加了风扇和水冷板才好。

对了,别忘了考虑算法推理时间。如果你的产线节拍是2秒一个,那么从图像采集到输出结果,必须在1.5秒内完成。这里还包括了图像传输、预处理、推理和结果通讯。用GPU?差点忘了说,工控机的GPU一定要选工业级,别贪便宜用游戏卡——之前有人工控机在40度环境下烧了。

……好了,越写越多,先说这些吧。其实AI外观检测没有你想的那么神秘,也没有那么万能。它是一套系统工程,算法、光学、机械、电气,哪一块缺了都不行。如果你正在上这个项目,给你一条忠告:先把成像和机械结构搞稳定,再谈AI。不然,就算你训练出100%的模型,那也是沙滩上盖房。

下次有机会,再聊一聊数据标注的那些奇葩事。回见!

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:AI产品外观缺陷智能检测:从算法到落地的工程实践
文章链接:https://m.yqhljx.com/list_9/1136.html