硬件选型与成像系统:工业相机、镜头、光源与打光方案

做视觉检测,第一步不是写算法,而是搞定成像系统。我见过太多项目,算法调得再好,图像拍出来一团模糊,或者反光把缺陷全盖住了——那基本就废了。说白了,成像质量决定了检测的上限。算法只能在下限之上做文章。

这一章,我就把工业相机、镜头、光源和打光方案这四块掰开揉碎讲清楚。全是实战里摸爬滚打出来的经验。

1. 工业相机选型:别只看像素

很多人一上来就问:“我要多少万像素的相机?”其实像素只是起点。真正决定相机能不能用的,是传感器类型、帧率、接口和靶面尺寸。

1.1 传感器类型:CCD vs CMOS

现在工业领域,CMOS 已经占了主流。CCD 在低噪声上有优势,但 CMOS 在帧率、功耗和成本上全面胜出。除非你拍的是极弱光场景(比如荧光检测),否则我建议直接选全局快门的 CMOS。

关键点: 一定要选全局快门(Global Shutter),不是卷帘快门(Rolling Shutter)。卷帘快门拍运动物体时,图像会扭曲,缺陷位置都算不准。

我在一个锂电池极片检测项目里,客户用了卷帘快门的相机,结果极片在高速运动下,图像里的划痕都变形了。换了全局快门后,问题立刻解决。

1.2 分辨率与靶面尺寸

分辨率决定你能看到多小的缺陷。但靶面尺寸决定了视野和景深。同样 500 万像素,1/1.8 英寸的靶面和 2/3 英寸的靶面,镜头选型完全不同。

应用场景 推荐分辨率 靶面尺寸 典型缺陷大小
PCB 焊点检测 500万~1200万 2/3" 或 1" 0.1mm~0.5mm
金属表面划痕 200万~500万 1/1.8" 或 2/3" 0.2mm~1mm
食品包装密封 500万~800万 1/1.8" 0.3mm~2mm
大尺寸玻璃面板 1200万以上 1.1" 或更大 0.05mm~0.2mm
我的习惯: 先算视野和最小缺陷尺寸,再反推分辨率。公式很简单:视野宽度 ÷ 最小缺陷像素数(一般取 3~5 个像素)= 单像素精度。然后乘以相机长边像素数,就是所需分辨率。

1.3 帧率与接口

产线节拍决定了帧率。比如每分钟检测 60 个产品,每个产品拍 2 张图,那帧率至少需要 2fps。但实际要考虑触发延迟和传输时间,我一般留 30% 余量。

接口方面,现在主流是 GigE Vision 和 USB3 Vision。GigE 传输距离长(100米),适合分布式系统;USB3 速度快但距离短(5米以内)。我个人的偏好:能用 GigE 就用 GigE,布线方便,抗干扰也强。

2. 镜头选型:焦距、光圈与畸变

镜头是相机的“眼睛”。选错了,再好的相机也白搭。

2.1 焦距计算

焦距决定了视野大小。公式是:焦距 = 工作距离 × 靶面宽度 ÷ 视野宽度。举个例子:工作距离 300mm,靶面宽度 6.4mm(1/1.8" 传感器),视野宽度 100mm,那焦距 ≈ 19.2mm。选 20mm 或 25mm 的镜头都行。

注意: 工作距离不是随便定的。要考虑机械安装空间、光源位置、以及操作人员的安全距离。我曾经在一个项目里,为了省空间把工作距离压到 50mm,结果光源根本放不进去,最后只能重新设计支架。

2.2 光圈与景深

光圈越大(F 值越小),进光量越大,但景深越浅。工业检测里,我们通常需要大景深,因为产品表面可能有起伏。我一般从 F8 开始试,如果亮度不够,再开大光圈或补光。

你想想看,如果产品表面有 0.5mm 的高度差,景深不够的话,边缘就模糊了。缺陷检测最怕的就是边缘模糊——算法会把模糊当成缺陷,或者漏掉真正的缺陷。

2.3 畸变与远心镜头

普通镜头在视野边缘会有畸变,测量类项目必须用远心镜头。远心镜头能保证图像放大倍率一致,边缘和中心一样清晰。代价是贵、体积大、工作距离固定。

我记得有个项目,客户用普通镜头测量手机中框的尺寸,边缘误差达到 0.1mm。换了远心镜头后,误差降到 0.01mm 以内。所以,做测量就别省镜头的钱。

3. 光源选择:颜色、角度与类型

光源是成像系统的灵魂。打光打好了,缺陷自己就“跳”出来了;打不好,算法累死也找不到。

3.1 光源颜色

不同颜色的光对不同材质有不同效果。基本原则:

  • 红色光(620-750nm): 穿透性强,适合透明或半透明物体,能抑制表面纹理。
  • 蓝色光(450-495nm): 波长短,散射强,适合高反光表面(如金属、玻璃),能凸显细微划痕。
  • 绿色光(495-570nm): 介于红蓝之间,适合 PCB 和电子元件。
  • 白色光: 通用,但反光表面容易过曝。
实战技巧: 检测金属表面的划痕,用蓝色光。检测透明塑料内部的杂质,用红色光。我做过一个案例,用红色光拍透明瓶子的气泡,对比度直接翻倍。

3.2 光源角度

角度决定了阴影和反光的位置。常见的有:

  • 高角度照明(30°~60°): 适合平面检测,能均匀照亮表面。
  • 低角度照明(10°~30°): 适合凸显凹凸和划痕,阴影明显。
  • 同轴照明: 光路与镜头同轴,适合高反光表面,能消除阴影。
  • 背光照明: 光源在物体后方,适合轮廓检测和尺寸测量。

我遇到过最头疼的情况是:一个金属零件表面有轻微压痕,用高角度光根本看不出来。后来换成低角度蓝色光,压痕的阴影立刻显现。所以,打光角度一定要现场试,别光看理论。

3.3 光源类型

类型 特点 适用场景
环形光源 均匀、无阴影 PCB、字符识别
条形光源 方向性强 划痕、边缘检测
同轴光源 消除反光 镜面、玻璃
背光源 高对比度轮廓 尺寸测量、毛刺
点光源 高亮度、小光斑 微小缺陷、光纤

4. 打光方案设计实战

打光方案没有标准答案,但有套路。我总结了一个“三步法”:

  1. 分析缺陷特征: 缺陷是凸起还是凹陷?是颜色变化还是形状变化?是表面还是内部?
  2. 选择光源类型和角度: 根据缺陷特征,选能最大化对比度的方案。
  3. 现场调试优化: 调整光源亮度、角度、工作距离,直到图像满足要求。

举个例子:检测手机玻璃盖板的划痕。划痕是凹陷的,深度很浅。用低角度蓝色光,让划痕产生阴影;同时用同轴光消除玻璃表面的反光。最终图像里,划痕是黑色的,背景是均匀的灰色,对比度极高。

核心原则: 打光的目的是让缺陷和背景的灰度差最大化。灰度差越大,算法越简单,检测越稳定。

下面这张图是我常用的打光方案决策流程,帮你快速定位选型方向。

打光方案决策流程图 打光方案决策流程图 缺陷特征分析 缺陷类型:表面 / 内部 / 轮廓 表面缺陷 内部缺陷 轮廓缺陷 低角度 + 蓝色光 高角度 + 红色光 背光照明 现场调试优化 核心原则:让缺陷与背景的灰度差最大化

5. 避坑指南:我踩过的那些坑

做硬件选型,光看 datasheet 是不够的。有些坑,只有实际干过才知道。

  • 别迷信高像素: 像素高不代表图像好。传感器噪声、镜头分辨率、光源均匀性都会影响最终效果。我见过有人用 2000 万像素相机,结果镜头分辨率跟不上,图像反而比 500 万像素的还模糊。
  • 光源控制器别省: 便宜的控制器电流不稳定,光源亮度会波动,导致图像灰度值每天都不一样。算法阈值就得天天调。我吃过这个亏,后来一律用恒流控制器。
  • 注意散热: 工业现场温度高,相机和光源长时间工作会发热。发热会导致图像噪声增加,甚至相机死机。选型时一定要看工作温度范围,并加装散热片或风扇。
  • 预留机械接口: 相机和镜头的接口要匹配。C 口、CS 口、F 口,别买错了。我有个同事,买了 C 口镜头配 CS 口相机,结果装不上,多花了 200 块买转接环。
曾经有一次: 我在一个汽车零部件检测项目里,选了一款性价比很高的相机和镜头。结果现场调试时发现,光源的频闪和相机的帧率不匹配,图像出现明暗条纹。折腾了两天才找到原因——光源的 PWM 频率太低。后来换了高频光源,问题才解决。所以,光源和相机一定要联调,别分开测试。

硬件选型没有捷径,但有了这套方法论,至少能少走弯路。记住:成像系统是视觉检测的基石,花时间在这上面,值得。