3. 镜头与光源适配

镜头和光源,说白了就是机器视觉系统的「眼睛」和「灯光」。我见过太多项目,算法调得再好,硬件选型一塌糊涂,最后照样出不了活。今天咱们就聊聊这两个核心部件的适配逻辑。

3.1 镜头焦距与视场角计算

选镜头,第一件事就是算焦距。公式其实很简单:

焦距 f = (工作距离 WD × 传感器靶面尺寸 H) / 视场宽度 FOV

举个例子。我去年做的一个锂电池极片检测项目,要求视场宽度 200mm,工作距离 300mm,用的是 2/3 英寸传感器(靶面宽 8.8mm)。算下来:

f = (300 × 8.8) / 200 = 13.2mm

所以我选了 12mm 的镜头,实际视场稍微大一点,留了点余量。

个人习惯:我一般会多算一步视场角。水平视场角 AOV = 2 × arctan(H / (2f))。这个值决定了你能不能把整个目标拍全。

这里有个坑——畸变。短焦镜头畸变大,长焦镜头畸变小。我做 PCB 检测时,用 8mm 镜头拍大板子,边缘的焊盘都变形了,算法死活识别不准。后来换成 16mm 镜头,问题解决。

焦距范围 典型应用 畸变程度 我踩过的坑
4-8mm 大视野、近距离 高 边缘失真,测量不准
12-25mm 通用工业检测 中等 工作距离受限
35-75mm 高精度、小视野 低 景深变浅,对焦要求高
注意:千万别只看焦距。光圈、景深、接口类型(C/CS 口)都得匹配。我曾经买了个 CS 口镜头,结果相机是 C 口,差了 5mm 垫圈,折腾半天。

3.2 光源类型选择策略

光源选型,我把它分成三类:环形、条形、同轴。每种都有自己的脾气。

3.2.1 环形光源

环形光,说白了就是一圈 LED 围在镜头周围。它最大的优点是均匀,适合检测表面纹理、字符、划痕。

我记得有个项目检测手机玻璃盖板的划痕。用环形光 45 度打,划痕在暗场下特别明显,算法一抓一个准。但要注意角度——角度太小,反光太强;角度太大,光都散掉了。

3.2.2 条形光源

条形光适合大面积、长条状的物体。比如检测 PCB 板上的焊锡缺陷,用两条条形光从两侧打,焊点会形成高亮反射,虚焊、少锡一目了然。

我做过一个案例:检测金属管材的表面缺陷。用环形光打,反光太乱。换成条形光从侧面低角度照射,缺陷的阴影被拉长,对比度直接翻倍。

3.2.3 同轴光源

同轴光,光路和镜头光轴重合。它适合检测高反光、镜面物体,比如晶圆、镜片、金属铭牌。

为什么?因为同轴光能消除杂散光,让图像更「干净」。我做晶圆划痕检测时,用环形光打,背景全是亮的,划痕根本看不清。换成同轴光,划痕在暗背景下变成亮线,效果立竿见影。

光源类型 适用场景 优势 劣势
环形 表面纹理、字符、划痕 均匀、安装方便 高反光物体效果差
条形 大面积、长条状物体 方向性强、可组合 均匀性不如环形
同轴 高反光、镜面物体 消除杂光、对比度高 价格贵、光效低

3.3 打光方案设计

打光方案,说白了就是让缺陷和背景形成最大对比度。我总结了四种常用手法:

  1. 明场照明:光源和相机同侧,适合检测表面平整度、颜色差异。
  2. 暗场照明:光源从侧面低角度打,适合检测划痕、凹凸、纹理。
  3. 背光照明:光源在物体背面,适合检测轮廓、尺寸、通孔。
  4. 多角度组合:多个光源从不同方向打,适合复杂表面。

我做过一个最典型的案例——检测轴承滚珠的表面缺陷。滚珠是球面,反光特别复杂。试了环形光、条形光,效果都不行。最后用了四路条形光 + 暗场方案:四个方向各打一束光,滚珠表面的划痕在暗场下形成高亮线条,背景是黑的。算法处理起来,信噪比极高。

核心原则:打光不是为了「照亮」,而是为了「区分」。让缺陷亮、背景暗,或者反过来,总之要让它们不一样。

嗯,这里还要提一个我踩过的坑——光源频闪。有一次做高速检测,用的 LED 光源,结果图像出现明暗条纹。查了半天,发现是光源驱动频率和相机帧率不匹配。后来换了高频驱动电源,问题解决。

3.4 知识体系总览

下面这张图,是我自己总结的镜头与光源适配决策流程。你照着走,基本不会跑偏。

镜头与光源适配决策流程 镜头与光源适配决策流程 检测需求输入 镜头选型 光源选型 焦距计算 视场角验证 畸变检查 环形/条形/同轴 明场/暗场/背光 频闪与均匀性 方案验证与优化 迭代直到缺陷对比度满足要求
我的建议:别一上来就买最贵的。先用模拟软件跑一遍,或者拿手头的光源试拍几张。我习惯用「光路仿真 + 实物验证」两步走,省了不少冤枉钱。

好了,镜头和光源的适配逻辑就聊到这儿。记住一句话:硬件选型不是选择题,而是匹配题。把需求、环境、成本都摆到桌面上,答案自然就出来了。