3、双目相机硬件选型与搭建

做双目视觉这么多年,我最大的感触是:算法再牛,也救不了烂硬件。很多朋友一上来就调算法、跑匹配,结果发现视差图全是噪点——其实问题出在相机选型上。今天咱们就聊聊硬件选型那些事。

3.1 相机传感器:CCD vs CMOS

先说传感器。CCD和CMOS之争,在工业界已经吵了十几年了。我个人习惯是:静态场景用CCD,动态场景用CMOS

特性 CCD CMOS
灵敏度 高(尤其低光) 中等
噪声 较高(但现代工艺已改善)
帧率 一般(30fps左右) 高(可达1000fps+)
功耗
成本
全局快门 原生支持 需选型支持

核心建议:双目系统必须选全局快门(Global Shutter)的传感器。卷帘快门(Rolling Shutter)在拍摄运动物体时会产生果冻效应,左右图像时间不一致,视差计算直接崩掉。

我记得有一次项目,客户非要省钱用卷帘快门的CMOS。结果拍一个快速移动的机械臂,左右图像差了2ms,视差图直接糊成一团。后来换了全局快门的IMX264,问题瞬间解决。嗯,有些钱真不能省。

3.2 镜头参数:焦距、视场角、光圈

镜头选型,说白了就是三个参数:焦距、视场角、光圈。它们互相牵制,你得根据应用场景做取舍。

3.2.1 焦距与视场角

焦距越短,视场角越大,看得越宽但远处细节越差。焦距越长,视场角越小,看得越远但视野窄。公式很简单:

视场角(FOV) = 2 * arctan(传感器尺寸 / (2 * 焦距))

举个例子:

  • 6mm镜头配1/2英寸传感器 → FOV约60°(适合室内近距离)
  • 12mm镜头配1/2英寸传感器 → FOV约30°(适合室外远距离)

我的经验:室内机器人导航,我一般选6-8mm焦距。室外自动驾驶,12-16mm更合适。你想想看,如果焦距选太短,远处物体在图像里就几个像素,视差精度根本不够。

3.2.2 光圈

光圈影响进光量和景深。光圈越大(F值越小),进光越多但景深越浅。双目系统我建议:光圈别开太大

为什么?因为双目需要左右图像都清晰。光圈F2.8以上,景深太浅,稍微有点安装误差,左右图像清晰度就不一致了。我一般用F4-F8之间,景深够用,进光量也还行。

避坑指南:我曾经在户外项目用了F1.4的大光圈镜头,结果中午阳光强烈,图像过曝严重。后来加了ND滤镜才勉强能用。所以户外场景,建议选带可调光圈的镜头,或者直接配ND滤镜。

3.3 基线距离与视差的关系

基线距离,就是左右相机光心之间的距离。这个参数直接影响视差范围和测距精度。

核心公式:

深度 Z = (焦距 f * 基线 B) / 视差 d

从公式能看出:

  • 基线越长 → 相同视差下,测距越远
  • 基线越短 → 近距离精度高,但远距离视差太小

我整理了一个参考表:

应用场景 推荐基线 有效测距范围
室内机器人(0.5-5m) 6-12cm 0.3-10m
自动驾驶(5-100m) 30-60cm 2-150m
无人机避障(1-20m) 10-20cm 0.5-30m
近距离测量(0.1-2m) 3-6cm 0.05-5m

注意:基线不是越长越好。基线太长,左右图像重叠区域变小,匹配难度增加。而且近距离物体可能只出现在一侧图像中,根本没法匹配。我见过有人把基线拉到1米,结果近距离物体直接出画——这就是典型的过犹不及。

3.4 双目相机同步触发机制

双目系统最核心的问题之一:左右图像必须同时采集。如果左右图像有时间差,运动物体就会出现位置偏差,视差计算全错。

同步触发有三种常见方式:

  1. 硬件同步(推荐):用同一根触发线连接两个相机,同时触发曝光。精度可达微秒级。
  2. 软件同步:通过软件指令同时触发。精度受系统调度影响,一般几毫秒到几十毫秒。
  3. PTP时钟同步:通过IEEE 1588协议同步时钟,适合分布式系统。

硬件同步的接线方式:

主相机(Master): 触发输出 → 从相机(Slave): 触发输入
两个相机共用同一个时钟源(如FPGA或MCU产生PWM信号)

我的习惯:只要条件允许,我一定用硬件同步。软件同步看起来方便,但实际项目中,系统负载一高,触发延迟就飘了。有一次在AGV项目里用软件同步,结果机器人转弯时左右图像差了15ms,视差图直接废掉。后来改成硬件同步,问题再没出现过。

另外,曝光时间也要保持一致。我建议:左右相机设置完全相同的曝光参数,包括曝光时间、增益、白平衡。否则左右图像亮度不一致,匹配算法会很难受。

3.5 知识体系总览

下面这张图,是我整理的双目硬件选型核心逻辑:

双目相机硬件选型核心逻辑 双目系统硬件选型 传感器类型 镜头参数 基线距离 同步触发 CCD CMOS 焦距 视场角 光圈 短基线 长基线 硬件同步 软件同步 PTP同步 选型核心:场景决定参数,参数决定硬件

这张图把四个核心要素串起来了。你选型的时候,就按这个逻辑走:先定场景,再定传感器,然后选镜头和基线,最后搞定同步。每一步都有取舍,但方向对了,后面调试就轻松很多。


总结一下:双目硬件选型没有万能方案。我做了这么多年,每个项目都得重新算一遍。但核心原则不变:全局快门、合适焦距、匹配基线、硬件同步。把这四点抓牢了,你的双目系统就成功了一半。

专注资料整理