2. 3D视觉基础

3D视觉定位系统的核心是获取物体在三维空间中的精确坐标。本章将系统讲解深度相机的主流工作原理、点云数据的基本概念,以及坐标系与刚体变换的数学基础。这些知识是后续搭建四相机系统、进行手眼标定与点云配准的基石。

2.1 深度相机工作原理

深度相机通过主动或被动方式测量场景中每个像素对应的深度值(Z轴距离)。目前工业与机器人领域主流的深度相机技术分为三类:双目立体视觉、结构光和飞行时间(ToF)。

2.1.1 双目立体视觉

双目立体视觉模拟人眼,使用两个水平放置的相机从不同视角拍摄同一场景,通过三角测量原理计算深度。

  • 原理:左右相机拍摄图像后,通过立体匹配算法找到对应像素点,利用视差(disparity)与基线距离(baseline)计算深度。
  • 优点:成本低、室内外均可使用、分辨率较高。
  • 缺点:对纹理依赖性强、计算量大、弱光或重复纹理场景下匹配困难。
关键公式:深度 Z = (f × B) / d,其中 f 为焦距,B 为基线长度,d 为视差。

2.1.2 结构光

结构光技术向场景投射已知图案(如红外散斑、条纹光栅),通过分析图案的变形来恢复深度信息。

  • 原理:投影仪发射编码光斑,相机捕获变形图案,利用三角法计算每个像素的深度。
  • 优点:在室内近距离(0.1–5m)精度高、纹理无关、适合静态场景。
  • 缺点:受环境光干扰大、室外效果差、远距离精度下降。

2.1.3 飞行时间(ToF)

ToF相机通过测量光脉冲从发射到返回的时间差来计算距离。

  • 原理:发射调制红外光,传感器接收反射光,通过相位差或直接计时计算深度。
  • 优点:帧率高、远距离(可达数十米)、算法简单、弱光环境表现好。
  • 缺点:分辨率较低、多机干扰、边缘精度不如结构光。
技术类型 测距范围 精度 帧率 环境光敏感度 典型应用
双目立体 0.1–20m 中等(mm–cm) 低–中 低 室外导航、AGV
结构光 0.1–5m 高(亚mm–mm) 低–中 高 人脸识别、3D扫描
ToF 0.1–50m 中等(mm–cm) 高(30–100fps) 中 机器人避障、手势识别
选型建议:四相机系统通常采用结构光或ToF相机作为主深度传感器,双目立体作为辅助或室外备份。若场景为室内高精度定位(如工件抓取),优先选择结构光;若需要高速动态场景(如传送带跟踪),优先选择ToF。
深度相机技术分类与对比 双目立体视觉 结构光 飞行时间(ToF) 三角测量 左右相机视差 纹理依赖 编码光斑变形 投影+相机三角 高精度近距离 光飞行时间 相位差/直接计时 高帧率远距离 四相机系统选型策略 主深度:结构光(室内高精度)或 ToF(高速动态) 辅助:双目立体(室外/大范围)

2.2 点云数据概念

点云(Point Cloud)是3D视觉中最基础的数据形式,由空间中大量离散的三维坐标点组成,每个点通常包含XYZ坐标和附加属性(如RGB颜色、反射强度、法向量等)。

2.2.1 点云的基本属性

  • 几何信息:每个点的 (x, y, z) 坐标,表示在相机坐标系或世界坐标系下的位置。
  • 属性信息:RGB颜色(来自彩色相机对齐)、反射强度(来自ToF或激光雷达)、法向量(局部表面方向)。
  • 密度与分辨率:点云密度取决于深度相机的分辨率与视场角,通常以每平方米点数(pts/m²)衡量。

2.2.2 点云的数据结构

在工程实现中,点云通常以以下格式存储和传输:

格式 说明 典型文件扩展名
PCD Point Cloud Library 原生格式,支持二进制/ASCII .pcd
PLY 多边形文件格式,支持顶点与面片 .ply
LAS/LAZ 激光雷达标准格式,支持分类与强度 .las / .laz
XYZ 纯文本格式,每行 x y z [r g b] .xyz
注意:在四相机系统中,每个相机输出的点云位于各自的相机坐标系下。必须通过标定与刚体变换将所有点云统一到同一世界坐标系,才能进行后续的拼接与定位。

2.3 坐标系与刚体变换基础

3D视觉定位系统的核心数学工具是坐标系变换。理解不同坐标系之间的关系,以及如何通过刚体变换(旋转+平移)将一个坐标系下的点映射到另一个坐标系,是搭建多相机系统的必备知识。

2.3.1 常用坐标系

  • 世界坐标系:全局参考系,通常固定在机器人基座或工作台面上。
  • 相机坐标系:以相机光心为原点,Z轴指向场景前方。
  • 图像坐标系:以像素为单位的2D坐标系,原点在图像左上角。
  • 机器人坐标系:以机器人基座或工具末端为原点。

2.3.2 刚体变换数学表示

刚体变换由旋转矩阵 R(3×3)和平移向量 t(3×1)组成,将点 P 从坐标系A变换到坐标系B:

P_B = R * P_A + t

在齐次坐标下,变换可写为4×4矩阵形式:

| P_B |   | R   t | | P_A |
|  1  | = | 0   1 | |  1  |

其中 R 是正交矩阵(RTR = I),t 是平移向量。刚体变换保持点之间的距离和角度不变。

2.3.3 旋转的三种表示方式

表示方式 参数数量 优点 缺点
旋转矩阵 9 直观、易于组合 冗余、需满足正交约束
欧拉角(RPY) 3 参数少、物理意义明确 万向锁问题
四元数 4 无万向锁、插值平滑 不够直观
工程实践:在四相机标定与点云配准中,推荐使用四元数表示旋转,避免万向锁问题;在调试与可视化时,可转换为欧拉角便于理解。
坐标系与刚体变换关系图 世界坐标系 全局参考系 相机坐标系 光心为原点 机器人坐标系 基座/工具末端 R₁, t₁ R₂, t₂ 点云数据(PCD/PLY) 每个点包含 XYZ + 属性(RGB/强度/法向量) 统一坐标系下的融合点云 P_world = R * P_camera + t

2.4 本章小结

  • 深度相机三大技术(双目立体、结构光、ToF)各有优劣,需根据场景精度、距离、帧率要求选型。
  • 点云是3D视觉的基本数据载体,理解其结构与格式是后续处理的前提。
  • 坐标系与刚体变换是多相机系统标定与数据融合的数学基础,必须熟练掌握旋转矩阵、欧拉角、四元数的表示与转换。
下一阶段准备:掌握本章基础后,第3章将进入四相机系统的硬件选型与搭建实战,包括相机安装布局、同步触发设计、以及标定板的选型与制作。