双目测距中基于三角形原理的视差与深度计算原理(上)
扫描二维码
随时随地手机看文章
在计算机视觉领域,双目测距技术通过模拟人类双眼的视觉机制,实现了对三维空间中物体距离的精准测量。其核心原理基于三角形几何关系,通过计算左右摄像头成像的视差来推导物体深度。本文将详细阐述这一过程的底层逻辑,包括三角形模型的构建、视差的产生机制、视差图的遍历计算以及深度信息的推导原理。
双目测距的三角形模型构建
人类双眼之所以能感知物体远近,是因为左右眼观察同一物体时存在视角差异,这种差异被称为视差。双目测距系统正是利用这一原理,通过两个平行放置的摄像头(基线)模拟双眼,形成一个以基线为底边、以物体为顶点的三角形结构。
设两个摄像头的光心分别为 O₁和 O₂,间距为基线长度 B(通常在系统标定阶段精确测量)。当观察空间中某点 P 时,P 在左摄像头成像平面上的投影为 P₁,在右摄像头成像平面上的投影为 P₂。此时,O₁、O₂和 P 构成一个等腰三角形,其中 O₁O₂为基线 B,P 到基线所在平面的垂直距离即为目标深度 Z。同时,P₁和 P₂在成像平面上与各自主点(光学中心在成像平面的投影)存在水平偏移,这两个偏移量的差值便是视差的核心来源。
摄像头的焦距 f(单位为像素)是连接二维成像与三维空间的关键参数。根据针孔成像模型,物体在成像平面上的投影尺寸与物距成反比,即 Z = f × 物高 / 像高。在双目系统中,这一关系被扩展到左右视差的计算中,形成深度与视差的反比例关系。
视差的产生与数学表达
视差(Disparity)的本质是同一物体在左右两幅图像中成像位置的水平偏差。在理想的平行双目系统中(左右摄像头光轴完全平行),视差仅体现为水平方向的位移,垂直方向的偏差可忽略不计(通过系统标定消除)。
设左摄像头成像平面上 P₁的横坐标为 Xₗ,右摄像头成像平面上 P₂的横坐标为 Xᵣ(以各自主点为原点),则视差 d 的定义为:
d = Xₗ - Xᵣ
这一公式的物理意义是:物体距离越近,左右像点的水平偏差越大(视差越大);物体距离越远,视差越小。当物体位于无穷远处时,视差趋近于 0。
从三角形相似原理出发,可推导出视差与深度的定量关系。在 O₁O₂P 构成的三角形中,O₁P₁和 O₂P₂均平行于深度方向 Z,因此形成两个相似三角形:△PO₁O₂与△PP₁P₂。根据相似比关系:
B / Z = d /f
整理后可得深度计算公式:
Z = B × f /d
这一公式揭示了双目测距的核心规律:深度 Z 与基线 B、焦距 f 成正比,与视差 d 成反比。这也是遍历视差图计算深度的理论基础。