Contents — find the section you need
立体相机使用两个固定距离(基线)的镜头拍摄同一场景,然后通过三角测量法,利用左右图像之间的视差来计算距离。单目相机无法仅凭单张图像确定绝对距离,而立体相机可以直接根据两个视点之间的几何关系计算距离,从而更容易保证距离精度,无需依赖额外的假设(例如,假设路面是平面的)。它广泛应用于自动驾驶车辆的前向监控、机器人导航和工业三维测量。
配备 EyeSight 的车辆 (斯巴鲁 WRX S4)
立体摄像头单元:Intel RealSense D435图片:斯巴鲁 WRX S4 2.0GT-S EyeSight (DBA-VAG) 前视图 (Tokumeigakarinoaoshima, CC BY-SA 4.0) / Intel Realsense 深度摄像头 D435 (Marc Auledas, CC BY-SA 4.0), Wikimedia Commons. D435 不是 EyeSight 组件;它是一个具有两个视点的摄像头单元的物理示例。
原理:基线长度带来权衡
视差 d(左右图像中同一点的像素偏移)、焦距 f 和基线(两个镜头之间的距离)B 之间的关系为:
其中 Z 是到物体的距离。如该公式所示,距离 Z 与视差 d 成反比——近处物体的视差较大,而远处物体的视差趋近于零。更长的基线B 提高了灵敏度(距离变化引起的视差变化量),从而提升了远距离测量精度。反之,更长的基线意味着当物体过于靠近时,两个镜头的视野将不再重叠,这会延长最小可测量距离(近距离极限)。这意味着立体相机设计存在一个固有的权衡,即在“优先考虑远距离”和“优先考虑近距离”之间进行权衡,而这种权衡的核心在于基线长度。由于它是一种被动的、基于可见光的方法,不像主动深度相机那样(不使用红外投影仪),因此在户外强光下,它通常比激光雷达或主动深度相机工作得更稳定。
图片:Epipolar geometry (Arne Nordmann, CC BY-SA 3.0 / GFDL), Wikimedia Commons.
目前存在许多用于计算左右图像视差(立体匹配)的算法,但半全局匹配 (SGM) 是一种经典的、应用广泛的方法。该方法由德国航空航天中心 (DLR) 的 Heiko Hirschmüller 于 2005 年提出。它用大约八个方向的一维扫描线优化来近似解决本质上的二维优化问题,从而以接近局部方法的计算成本实现了接近全局方法的精度。许多计算机视觉库(包括 OpenCV)都实现了 SGM,并且在 FPGA 和 GPU 上也得到了广泛的硬件实现。基于深度学习的立体匹配(例如,使用 CNN 进行成本聚合的方法)在精度方面越来越优于 SGM,但 SGM 系列算法仍然具有一定的潜力。在计算能力有限的嵌入式应用中,仍可继续使用。
主要产品规格对比
| 产品 | 基准 | 深度范围 | 分辨率/帧速率 | 备注 |
|---|---|---|---|---|
| Stereolabs ZED 2i(2.1mm 焦距型号) | 12cm | 0.3–20m | HD720 下 60fps,最高可达 2K (2208x1242) | 3m 内误差小于 1%,15m 内误差小于 5% |
| Stereolabs ZED 2i(4mm 焦距型号) | 12cm | 1.5–35m | HD720 下 60fps,最高可达 2K (2208x1242) | 3m 内误差小于 1%,15m 内误差小于 5% |
| Luxonis OAK-D | 7.5cm | (中距离) | — | 板载 Myriad X VPU 可同时处理 AI 推理和立体深度信息。该产品于 2020 年 7 月在 Kickstarter 上发起众筹,从 650 多位支持者处筹集了约 130 万美元,并已投入量产。 |
| Luxonis OAK-D LR(远距离) | 15 厘米 | 最远约 30 米 | — | 基线长度是标准 OAK-D 的两倍,优先考虑远距离精度。 |
| Intel RealSense D435/D435i | 约 50 毫米 | 约 0.3–10 米(取决于环境条件) | 最高支持 1280x720 @ 90fps(深度) | 可使用主动式红外图案投影仪辅助,也可单独使用被动式立体成像。D435i 为 6 轴 IMU 版本。 |
| e-con Systems TaraXL | 60 毫米 | 约0.5–3米 | WVGA (752x480),最高60fps | 针对NVIDIA Jetson平台优化,内置6轴IMU。左右两侧均采用安森美半导体MT9V024传感器 |
ZED 2i(2023年发布)是一款专为户外机器人设计的立体相机,提供两种不同焦距的镜头型号,可满足近距离优先(2.1mm型号,最小距离0.3米)和远距离优先(4mm型号,最远距离35米)两种应用场景。两款镜头均采用12厘米基线,这也是ZED 2i测距特性的基础。Luxonis的OAK-D是一款嵌入式设备,将立体深度相机与AI推理芯片(Intel Movidius Myriad X VPU)集成于一体,凭借其巨大的成功,迅速实现了量产。 2020 年 Kickstarter 众筹活动。其远程版本 OAK-D LR 将基线扩展至 15 厘米——这是对上文所述“更长基线提升远程精度”原理的直接产品设计应用。英特尔 RealSense D435/D435i 和 e-con Systems 的 TaraXL 是基于被动立体视觉的混合设计,但可以添加红外投影或惯性测量单元 (IMU),适用于近距离机器人和无人机应用。
案例研究:斯巴鲁 EyeSight 的演变——从双眼到三眼
斯巴鲁的“EyeSight”是目前应用时间最长的立体摄像头实际应用案例。第一代 EyeSight 于 2008 年推出,采用双立体摄像头以 3D 方式捕捉前方道路,并利用精确的距离测量(这是单目摄像头难以做到的)来识别障碍物,以此作为预碰撞制动等安全功能的基础。经过不断改进,截至 8 月,EyeSight 的全球累计安装量已超过 500 万台。 2022年
最新一代EyeSight系统已发展为“三眼”配置,在传统的双立体摄像头基础上增加了一个广角单目摄像头。由于双立体摄像头的视野有限,新增的广角单目摄像头可以增强驾驶员的周边感知能力,例如十字路口的横向来车。“EyeSight X”更进一步,将立体摄像头的周围环境感知与GPS和高精度3D地图数据相结合,从而在高速公路上实现有条件的自动驾驶(L2级)。这是一个将立体摄像头自身的测距能力与外部信息(GNSS和地图数据)融合,从而提供单摄像头无法实现的先进驾驶辅助功能的实际案例。
EyeSight的创始人后来创立了自己的立体视觉公司
领导第一代EyeSight(“立体测距成像仪”)开发的工程师是斯巴鲁的首席工程师实吉圭二。他的团队是世界上第一个将立体测距成像技术应用于全球的团队。为了推广一款仅使用立体摄像头即可检测车辆、行人、骑行者和摩托车的驾驶辅助系统,Saneyoshi 于 1998 年离开斯巴鲁,之后在东京工业大学担任教授,继续从事立体视觉技术的研究,直至 2017 年初。2016 年 5 月,他创立了自己的公司 ITD Lab,致力于推进立体视觉技术的发展。这在业内堪称一段非同寻常的职业生涯:一项诞生于汽车制造商的技术,由其发明者本人将其发展成为一家独立的专业公司。
英特尔 RealSense 的发展历程也颇为戏剧性:2021 年,英特尔宣布停止生产多条产品线(L515、T26x 系列和 F45x 系列),这令整个行业感到不安,但 D400 系列立体深度摄像头本身仍在继续生产。2025 年,RealSense 业务从英特尔完全剥离,以独立公司的身份重新启动,并获得了来自英特尔的 5000 万美元 A 轮融资。一家专注于半导体领域的私募股权公司。这是一个立体深度相机产品线的案例,该产品线最初是一家大型半导体公司旗下的一个部门,为了响应市场需求,选择独立运营。
决定性能的参数
-
基线长度:这是最重要的参数,它决定了远距离精度和近距离测量下限(盲区)之间的平衡。如公式 Z = fB/d 所示,更长的基线 B 可以提高给定视差变化下的距离灵敏度。OAK-D LR 将标准 OAK-D 的基线长度增加一倍(至 15 厘米),从而达到 30 米的测量范围,这正是将这一原理直接应用于产品设计的结果。
-
深度范围:与 ZED 2i 的两种焦距型号一样,最佳范围会因使用场景(室内机器人与室外车辆)的不同而显著变化。
-
深度精度:正如 ZED 2i 的规格所示,误差率会随着距离的增加而增大。 (3米内精度低于1%,15米内精度低于5%)。需要高精度近距离测量的应用,例如避障,与只需大致了解远处环境的应用,对精度的要求有所不同。
-
视场角限制:立体相机只能测量两个镜头视场重叠区域的深度,因此其自身的视场角往往有限。最新的EyeSight系统增加了一个广角单目摄像头,正是为了弥补这一缺陷,而结合多个传感器几乎已成为实际应用中的必然选择。
-
基于可见光的固有缺陷:被动立体相机无法检测视差,并且在纹理(图案)不足的物体上会损失测距精度。在光滑的墙面或纯色地板上,使用红外图案投影的主动深度相机可能更具优势。
-
立体匹配的计算成本:在左右图像之间搜索对应点需要大量的计算资源,对于嵌入式设备而言,硬件加速几乎是必需的。因此,OAK-D配备了专用的硬件加速芯片。 VPU 和 RealSense D400 系列都搭载了专用 ASIC(视觉处理器 D4)——仅靠 CPU 难以实现实时处理。
-
是否集成 IMU:内置 6 轴 IMU 的产品,例如 e-con Systems TaraXL 和 Intel RealSense D435i,可以在处理深度信息时补偿摄像头自身的运动。对于移动机器人和无人机应用而言,这种集成通常是决定性因素。
单像素误差如何放大为距离误差
立体深度遵循 Z=fB/d。将视差不确定性 \sigma_d 转换为距离不确定性,得到:
对于 f=700\,\mathrm{px}、B=0.12\,\mathrm{m} 和 Z=2\,\mathrm{m},视差为 d=42\,\mathrm{px}。 0.5\,\mathrm{px} 视差误差随后会变成大约 2.4\,\mathrm{cm} 的距离误差。同样的 0.5\,\mathrm{px} 误差在 Z=10\,\mathrm{m} 处会增长到大约 0.60\,\mathrm{m},这就是为什么亚像素估计和更长的基线在远距离测量中至关重要。
但这并不意味着更长的基线总是最佳方案。在近距离测量中,两个图像场可能不再重叠,并且振动或温度相关的外部变化可能会产生影响。在实际应用中,应针对每个距离段分别报告重投影误差、视差置信度和遮挡区域。
一个像素的视差误差在远距离是否不那么重要?
范围?视差随距离减小,因此相同的视差误差会产生更大的范围误差。请同时考虑基线、焦距和工作范围。
参考资料
-
Luxonis OAK-D Kickstarter 项目活动](https://www.kickstarter.com/projects/opencv/opencv-ai-kit/faqs)
评论
请先登录。
暂无数据。