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。
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 | 无万向锁、插值平滑 | 不够直观 |
工程实践:在四相机标定与点云配准中,推荐使用四元数表示旋转,避免万向锁问题;在调试与可视化时,可转换为欧拉角便于理解。
2.4 本章小结
- 深度相机三大技术(双目立体、结构光、ToF)各有优劣,需根据场景精度、距离、帧率要求选型。
- 点云是3D视觉的基本数据载体,理解其结构与格式是后续处理的前提。
- 坐标系与刚体变换是多相机系统标定与数据融合的数学基础,必须熟练掌握旋转矩阵、欧拉角、四元数的表示与转换。
下一阶段准备:掌握本章基础后,第3章将进入四相机系统的硬件选型与搭建实战,包括相机安装布局、同步触发设计、以及标定板的选型与制作。