说实话,现在满大街都在说AI质检,但真正跑通产线的项目屈指可数。不是算法不行,是成像和机械基础太烂。我搞了二十几年机械设计,后来一头扎进自动化检测设备,最深的感触是:AI只是决策终端,前面是从光到电的整个链路,任何一环瘸腿,结果都是灾难。今天分享几个真实教训。
先聊相机:像素不是万能的
很多采购一上来就喊“我们要一亿像素”,我真想拍桌子。分辨率只是基础,关键看你要识别的缺陷有多小。有一个简单的估算公式:水平像素数 = 视场宽度 ÷ 最小缺陷尺寸 × 2~3。这2~3倍是为了让缺陷在图像中至少覆盖2~3个像素,否则任何算法都难以稳定识别。
举个例子,检测手机中框上的划痕,划痕宽度0.02mm,视场需要覆盖50mm。那么水平像素至少是 50 ÷ 0.02 × 2 = 5000。一台2000万像素相机水平分辨率约5472,勉强达标。但如果你还要求同时分辨颜色偏差,那就要更高的位深和色彩还原能力,而这不是像素能解决的。这时候很多人忽略了一个参数——动态范围。金属高光面,反光区和暗部同时出现在视野里,动态范围不够,高光一片死白,暗部漆黑一片,再牛的AI也白瞎。
顺便说一句,判断相机的动态范围、信噪比这些指标,别只看官方宣传页,最好参考EMVA 1288标准的实测值。同一款相机,不同采样率下的动态范围差得离谱。我们踩过坑:某相机号称动态范围75dB,实际在高帧率下只有58dB,导致阴影里的微小缺陷全部淹没在噪声里。
还有镜头,别贪便宜用普通C口镜头。做精密检测,推荐远心镜头,尤其当视场深度需要覆盖不同高度的物体时。远心镜头能消除透视误差,但体积大、价格高。如果物体是平面,也可以用工业定焦镜头。这里有个公式算焦距:f = (传感器尺寸 × 工作距离) ÷ 视场宽度。注意单位统一,实际选型时还要留10%余量,因为镜头边缘畸变会影响测量精度。
光源设计:这里的坑深不见底
我敢打赌,现场调试时间有一半花在调光上。光源设计没什么金科玉律,但几个原则要牢记:低角度照明突出凹凸缺陷,适合划痕、压伤;高角度照明适合检测颜色和污渍;同轴光给镜面表面。但实际场景往往要组合使用。
举个例子,拉丝铝表面上的细微滤痕,普通白光压根看不出来。我们试过条形光、同轴光,最后用红外偏振光,以30°掠射角打过去,缺陷在图像里变成一条清晰的暗线。这里的关键是把偏振方向调成与拉丝纹路垂直,才能抑制背景反射。这是我花了三个晚上反复试验才摸出来的。
另一个血泪教训是光源稳定性。实验室里调好的亮度,上了产线不到一周衰减了20%!因为车间电压波动大,再加上光源老化。所以必须用恒流驱动,并且机械设计上给光源散热预留空间。否则亮度漂移会直接改变图像灰度分布,算法之前学好的阈值全部失效。
来看一张示意图,对比同一凹陷在不同照明角度下的成像效果。凹陷深度只有0.05mm,低角度光把它放大成可见的阴影,高角度光却几乎让它隐形。选错光源,缺陷就在你眼前溜走了。

机械结构要和算法“联姻”
很多机械工程师把相机当成传感器往架子上一装就完事,太天真。相机的位置、运动控制、振动隔离都会影响最终图像质量。正确的流程是:先做光学仿真,确定相机视野、工作距离和运动控制方案,再设计机械结构。
我们做过一个轴类零件检测项目,轴旋转,相机静止。这里有个匹配关系:曝光时间必须足够短,否则运动模糊会淹没小缺陷。轴直径30mm,转速300rpm,表面线速度约0.47m/s。如果曝光1ms,目标移动0.47mm,而你要找的裂纹宽度只有0.1mm,那图像就是拖影。解决方法是用频闪光源,把曝光压到100μs以下,同时相机同步触发。机械上还得考虑振动:如果机架固有频率和旋转频率接近,图像边缘会像毛边一样,算法判定边界时必然出错。
在多相机系统里,同步也是问题。我记得有个项目用了8个相机,最初用软件触发,结果帧率一高就出现不同步,图像间错位达几十毫秒。后来全部改成硬件触发,PLC统一发信号,问题马上解决。这里推荐遵守GigE Vision标准,并采用单独的触发线,而不是依赖网络命令。
另外,机架热变形或长期振动会让相机位置漂移。机械设计时要留出调节螺纹孔或滑槽,方便定期用标定板校位。我见过一个工厂,相机装在半固定铝型材上,半年后图像坐标偏了十几个像素,AI模型全跟着偏了。后来换了铸铁基座,加装温度补偿销,才算稳住。

一个真实项目:环境光差点毁了所有
某厂让我们做玻璃盖板的缺陷检测,demo阶段准确率99%,上了产线一个月,误判率飙升到30%。我们排查了半天,发现万恶之源是环境光——厂房窗户透进来的自然光在玻璃表面形成移动的反光条纹,而且随着天气和时间变化。算法的训练数据都是在固定光源下拍的,从没见过这种干扰,于是误判。
解决办法很粗暴:搭一个密闭检测暗室,用不透明材料做遮光罩,内壁涂黑,装上固定角度的LED光源,再用偏振相机滤除残余反光。这样环境光影响降到最低,误判率才回落。这个经历告诉我:AI模型再聪明,也敌不过恶劣的成像环境。 机械设计时必须考虑环境光的隔离,这不是可选项,而是必选项。
标准化:我们缺的不是AI,是工程纪律

现在行业里每个人都想用AI,但AI检测系统的性能验证方式还很原始。我习惯用标准缺陷样件和GR&R分析(量具重复性和复现性)来评估整套系统。别只盯着算法输出的准确率,得做卡方检验,看不同时段、不同批次下的检测结果是否稳定。这跟机械测量里做MSA(测量系统分析)是一个道理。
另外,标注格式、图像存储、接口协议都没有统一标准。如果你做集成商,尽量采用成熟的机器视觉软件框架,比如Halcon或OpenCV,并遵循GigE Vision和GenICam标准,减少后期维护成本。机械接口方面,建议统一采用ISO标准的快换法兰和定位销,方便不同产线间快速切换。
最后说一句:AI外观检测不是魔法。它需要光学、机械、算法、软件四方协同,而我们最擅长的机械部分,恰恰是决定成败的地基。别让算法工程师天天为你的模糊图像发愁。