2. RGB-D传感器基础
RGB-D传感器是机器人三维视觉系统的“眼睛”。它同时输出彩色图像(RGB)与深度图像(Depth),使机器人不仅能“看见颜色”,还能“感知距离”。理解深度相机的工作原理、主流测距技术的差异、数据特点以及选型与标定需求,是后续点云处理、三维重建、抓取与导航的基础。
一、深度相机的工作原理
深度相机的核心任务是获取场景中每个像素到相机的距离。根据测距方式不同,主流方案可分为三大类:结构光、飞行时间(ToF)和双目立体视觉。它们最终都将深度信息与RGB图像对齐,形成RGB-D数据。
无论采用哪种技术,深度相机通常包含以下关键环节:
- 发射/成像单元:主动投射红外光斑或激光脉冲,或使用双目摄像头被动成像。
- 深度计算单元:通过三角测量、相位差或飞行时间计算每个像素的深度值。
- RGB-D对齐:将深度图与彩色图进行空间配准,使同一像素同时具有颜色和距离。
- 输出接口:通过USB、GigE等接口输出深度图、彩色图及内参。
核心公式:对于结构光与双目,深度 Z 与视差 d 成反比:Z = f·B / d,其中 f 为焦距,B 为基线。视差越小,深度越大,精度随之下降。
二、结构光与ToF技术对比
结构光通过投射已知图案(如散斑、条纹)到物体表面,利用图案形变计算深度。其优点是近距离精度高、分辨率高,适合室内静态场景;缺点是易受强光干扰,远距离精度下降快。
ToF(飞行时间)通过测量光脉冲从发射到返回的时间差计算距离。其优点是响应快、适合动态场景、中远距离表现稳定;缺点是分辨率通常低于结构光,且易受多路径干扰和背景光影响。
| 对比维度 | 结构光 | ToF |
|---|---|---|
| 测距原理 | 三角测量 + 图案形变 | 光脉冲飞行时间 |
| 近距离精度 | 高(毫米级) | 中等 |
| 远距离表现 | 下降明显 | 较稳定 |
| 动态场景 | 较弱 | 较强 |
| 强光干扰 | 敏感 | 较敏感 |
| 典型设备 | Kinect v1、RealSense D435 | Kinect v2、Azure Kinect |
三、RGB-D数据特点
RGB-D数据并非简单的“彩色图+深度图”,它具有以下显著特点:
- 深度图存在无效值:黑色区域表示无法测距,常见于反光、透明、吸光材质或超出量程。
- 深度与彩色分辨率不一致:深度图通常为640×480或更低,彩色图可达1920×1080,需对齐。
- 深度噪声随距离增大:误差通常与距离平方成正比,远距离点云更稀疏。
- 视场角不匹配:深度相机与RGB相机FOV不同,边缘区域可能只有深度或只有彩色。
- 时间同步要求高:动态场景中RGB与深度帧需硬件同步,否则产生运动伪影。
实用提示:处理RGB-D数据时,先检查深度图有效像素比例。若有效比例低于60%,说明场景中存在大量反光或透明物体,需调整曝光或更换ToF设备。
四、常见设备选型与标定需求
选型需综合考虑量程、精度、分辨率、帧率、接口、功耗和成本。以下是常见设备及其适用场景:
| 设备 | 技术 | 量程 | 适用场景 |
|---|---|---|---|
| Intel RealSense D435i | 结构光/双目 | 0.3–3 m | 近距离抓取、室内导航 |
| Azure Kinect DK | ToF | 0.5–5.5 m | 人体追踪、中距离重建 |
| Orbbec Astra Pro | 结构光 | 0.6–8 m | 成本敏感型机器人 |
| Kinect v2 | ToF | 0.5–4.5 m | 教学与算法验证 |
标定需求是RGB-D应用不可跳过的一步。标定内容包括:
- 内参标定:获取焦距、主点、畸变系数,用于去畸变和三维重建。
- 外参标定:确定RGB相机与深度相机之间的旋转和平移矩阵,实现像素级对齐。
- 深度对齐:将深度图重投影到彩色相机坐标系,生成对齐后的RGB-D图。
- 手眼标定:若相机安装在机械臂上,还需标定相机与末端执行器的变换关系。
# 使用OpenCV进行RGB-D对齐的典型流程
1. 读取彩色图与深度图
2. 使用内参对深度图去畸变
3. 将深度图反投影为三维点云
4. 利用外参将点云变换到彩色相机坐标系
5. 重投影得到与彩色图对齐的深度图
6. 保存对齐后的RGB-D数据对
常见误区:很多初学者直接使用未标定的RGB-D数据做点云融合,导致彩色与深度错位、点云重影。务必先完成内参、外参和深度对齐标定,并定期复检。
五、案例与复盘
在一个典型的机器人抓取场景中,使用RealSense D435i采集工作台上的零件。初始点云出现明显分层,原因是深度图与彩色图未对齐。通过执行外参标定并启用align_depth_to_color后,点云重影消失,抓取成功率从62%提升至91%。
复盘要点:
- 结构光适合近距离高精度,ToF适合中远距离动态场景,选型前先明确量程与精度需求。
- 深度图无效值必须预处理,否则会污染点云和后续分割。
- 标定不是一次性工作,温度变化、碰撞、镜头清洁后都需复检。
- RGB与深度的时间同步在动态场景中比空间对齐更易被忽视。
掌握RGB-D传感器的基础原理、数据特点与标定流程,才能为后续的点云滤波、配准、分割和三维重建打下可靠基础。