刚入行那会儿,我以为机器视觉就是买个相机,接个软件,万事大吉。结果呢?第一个项目就卡了两个月——现场光线一变,系统直接瞎掉。💢 后来才知道,这行最深的学问,根本不在算法,而在你对物理世界的理解。机器视觉,说白了,是用硅基的眼睛和大脑,去模拟碳基的判断。但工业现场,从来不讲道理。
说实话,我挺反感那些把机器视觉吹上天的文章。什么“赋予产线智慧之眼”——真到产线蹲过坑的就知道,灰尘、油污、振动,哪一样不让你怀疑人生?不过话说回来,当你真正啃下一块硬骨头,那种爽感,又是真金白银换不来的。❗
你以为的精度,其实都是假象
先抛个观点:很多项目死在“像素精度”上。客户张口就要0.01mm,你算算视场,传感器像素根本不够。然后呢?销售为了订单啥都敢应,回头让技术变魔法。😂 我就遇到过,检测手机外壳划痕,要求识别宽度0.02mm的细纹——现场光照角度稍微偏5度,划痕就隐身了。最后怎么解决的?改用同轴光加偏振片,把表面反光压下去,再搭配亚像素边缘提取算法,才勉强达标。

这里有个误区:很多人觉得分辨率越高越好。其实不然。分辨率上去,数据量爆炸,处理速度断崖式下跌。而且镜头解析力跟不上,也是白搭。我现在的习惯是,先做光学实验,拿实物打光,不同波长、不同角度试一轮——很多时候,光的波长比像素数更重要。比如红外光能穿透某些油墨,紫外能让荧光材料显形。这些物理特性,才是视觉的灵魂。
那个让我半夜惊醒的误判

有一回,系统在仓库存放了三个月,运到客户那里,突然良率暴跌。远程排查三天,毫无头绪。飞到现场一看——哭笑不得:工厂的日光灯管换了一批,色温变了!我们的算法依赖颜色特征做分类,而CCD相机对色温极其敏感。从那以后,我再也不敢轻视环境光。⚠️ 要么用单色光主动照明,把环境光压到可忽略;要么在算法里加入动态白平衡,并定期用标准色卡校准。但后者复杂得多,不是万不得已,别碰。
说到这,想起一个同行。他做药瓶标签检测,用了深度学习。训练集里全是蓝色瓶盖,上线后出现绿色瓶盖,网络直接判定为缺陷。这就是数据偏差的经典翻车。所以现在我强调:训练数据必须覆盖最大变异,包括光源退化、季节变化、批次差异。宁可在采集端多花工夫,也别指望后期调参能救场。
问:选工业相机,到底看什么?
问:老师傅常说“相机是眼睛”,但我采购时参数一堆,什么靶面、帧率、接口,到底怎么选不踩坑?
答:别上来就看像素。先定传感器类型:CCD还是CMOS?现在CMOS在速度和成本上碾压,但CCD在弱光均匀性上仍有优势。再根据被检物体的运动速度,算曝光时间和帧率。如果物体高速移动,必须用全局快门,卷帘快门会拉成“果冻效应”。接口的话,USB3.0足够多数场景,但线缆超过5米得用GigE或Camera Link。至于靶面,记住:相同分辨率下,大靶面意味着更高的感光能力和动态范围。我一般让工程师先拿实物试拍,用同一款镜头,不同相机对比,肉眼看不出区别的,就别为参数溢价买单。

问:深度学习与传统算法,到底怎么选?

问:现在深度学习火得很,是不是可以彻底替代传统图像处理了?我之前用边缘检测、模板匹配,感觉越来越吃力。
答:千万别被忽悠瘸了。深度学习擅长处理高波动性、强干扰、难以建模的场景,比如自然纹理缺陷、字符变形识别。但它的黑箱性、数据需求、硬件成本,都是大坑。实际上,我见过的靠谱产线,八成还是传统算法为主,深度学习打辅助。传统算法好比一把精确的卡尺,速度快,可解释性强,调参有物理意义;深度学习像一位老匠人,经验丰富但偶尔打盹。一个典型的混合架构:先用传统方法快速定位ROI、滤除噪声,再用轻量CNN做分类。既稳又准。👌
三句话,救过我的项目

入行快十年,有三句话让我少走很多弯路。
- “光学是上限,算法是下限”:光源没打好,图像没对比度,任你算法上天也没用。某次检测透明塑料件上的小气泡,试了环形光、背光都不行,最后用低角度暗场照明,气泡如星斗闪烁。
- “标定不是一次性的事”:机械振动、温度变化,都会让相机偏移。我在关键工位装了激光测距,每次触发前自动微调对焦和位姿。
- “人不该成为视觉链上的传感器”:如果设计还得依赖人工复判,那系统就不算成功。我要求最终漏检率<0.1%,过杀率<5%,否则绝不签字验收。💡
这几年有个趋势:机器视觉正从“检测”走向“测量与引导”。比如机械手动态抓取,需要3D视觉实时重构点云,计算抓取点。这又牵扯出结构光、ToF、双目立体等方案的选择。唯一不变的是:应用场景决定技术路线。别追潮流,先泡在产线,闻闻机油味,听听老师的抱怨——那里才有真需求。
说到底,机器视觉是一点一滴磨出来的手艺。它不像互联网产品,能快速迭代。可能半年才能稳定一个工艺窗口。但正因如此,它才值得被尊敬。写完这篇,我打算再去调调那个反光的镀铬件缺陷检测——嗯,第四次了,这次换个紫外光源试试。祝我好运吧。🤞