4. 深度感知与点云处理

在机器人6D位姿估计与抓取任务中,深度感知是连接“看见物体”与“操作物体”的关键桥梁。RGB图像提供纹理与颜色,而深度信息给出真实尺度与空间位置。只有把深度数据组织成点云,并经过滤波、配准、分割与特征提取,才能为后续的位姿求解和抓取规划提供稳定、可计算的几何基础。

一、深度感知的两类主力传感器

RGB-D相机与激光雷达是机器人系统中最常见的深度来源,但它们的成像机理、数据组织和适用场景差异明显。

  • RGB-D相机:典型代表包括结构光相机与飞行时间(ToF)相机。结构光通过投射编码图案并观察形变恢复深度,近距离精度高,适合室内抓取;ToF通过测量光脉冲飞行时间获得深度,帧率高,但易受多路径干扰。RGB-D相机输出对齐的彩色图与深度图,深度图可逐像素反投影为有序点云。
  • 激光雷达:通过旋转或固态扫描发射激光束,测量回波时间得到距离。机械式激光雷达视场大、测距远,适合室外导航与建图;固态激光雷达体积小、寿命长,逐渐用于近距离感知。激光雷达输出的是无序或按扫描线组织的三维点,密度随距离增加而下降。

核心区别:RGB-D相机提供“像素级有序深度”,适合稠密点云与纹理融合;激光雷达提供“大范围稀疏三维点”,适合全局环境感知与远距离定位。抓取任务中,桌面级操作常用RGB-D,移动抓取平台则常采用RGB-D与激光雷达融合。

二、从深度图到点云:坐标变换与组织

深度图转点云的核心是针孔相机模型。已知像素坐标 (u, v)、深度值 d、相机内参矩阵 K,可反投影得到相机坐标系下的三维点:

X = (u - cx) * d / fx
Y = (v - cy) * d / fy
Z = d

其中 fx、fy 为焦距,cx、cy 为主点。若深度图与彩色图已对齐,还可将RGB值赋给对应点,形成彩色点云。激光雷达则通常直接输出三维点,需通过外参标定变换到机器人基座或世界坐标系。

点云的组织方式直接影响处理效率。有序点云保留图像网格结构,便于邻域查询;无序点云常用KD-Tree或Octree建立空间索引。实际工程中,PCL、Open3D等库都提供了从深度图生成点云以及空间索引构建的接口。

三、点云滤波:去噪、降采样与范围裁剪

原始点云往往包含噪声、离群点和冗余数据,直接配准或分割会显著降低精度与速度。常用滤波方法如下:

滤波方法 作用 典型参数 适用场景
直通滤波 按坐标范围裁剪 x/y/z 最小最大值 去除背景与远处干扰
体素栅格滤波 降采样,保持形状 体素边长 leaf_size 加速后续配准与分割
统计滤波 去除离群点 邻域点数 k、标准差倍数 消除飞点与稀疏噪声
半径滤波 去除孤立点 半径 r、最少邻点数 保留稠密结构
双边滤波 平滑深度图 空间与颜色权重 RGB-D深度图预处理

工程建议:先直通滤波裁剪工作空间,再体素降采样,最后统计滤波去离群点。体素边长通常取目标最小特征尺寸的1/5~1/10,过大会丢失细节,过小则加速有限。

四、配准:把多帧点云对齐到同一坐标系

配准的目标是求解两个点云之间的刚体变换,使它们在同一坐标系下重合。配准分为粗配准与精配准两个阶段。

  • 粗配准:在未知初始位姿时,使用FPFH、SHOT等特征描述子建立对应点,再通过RANSAC或SAC-IA求解初始变换。适合多视角拼接与物体识别。
  • 精配准:在已有较好初值的前提下,使用ICP(迭代最近点)及其变体(Point-to-Plane ICP、GICP)最小化对应点距离,逐步优化变换矩阵。
# Open3D 精配准示例
reg = o3d.pipelines.registration.registration_icp(
    source, target, max_correspondence_distance=0.02,
    init=initial_transform,
    estimation_method=o3d.pipelines.registration.TransformationEstimationPointToPlane())
print(reg.transformation)

配准质量常用均方误差、内点比例和变换矩阵的收敛性评估。若初值偏差过大,ICP容易陷入局部最优,因此粗配准不可省略。

五、分割与特征提取:从场景中分离目标

分割是把点云划分为若干具有物理意义的子集。抓取场景中,最常用的是平面分割与聚类分割。

  • RANSAC平面分割:拟合桌面、地面等大平面,将其移除后保留物体点云。参数包括距离阈值和迭代次数。
  • 欧式聚类:根据点间距离将剩余点云聚成独立物体,参数为聚类容差和最小/最大点数。
  • 区域生长:依据法线、曲率等几何一致性合并邻域点,适合分割复杂曲面。

分割后,需要提取能描述物体几何与位姿的特征。常用特征包括:

  • 法线:估计局部表面朝向,是点对特征与ICP的重要输入。
  • FPFH / SHOT:描述局部几何分布,用于粗配准与物体识别。
  • 点对特征(PPF):描述两点间的距离、法线夹角等关系,是6D位姿投票算法的核心。
  • VFH / CVFH:全局或视点相关特征,用于快速物体检索与位姿初值估计。

常见误区:直接对原始点云做ICP而不做滤波和分割,会导致背景点参与匹配,位姿结果漂移;法线估计时邻域半径选择不当,会使法线方向混乱,进而影响PPF和配准精度。建议先降采样、去离群点,再估计法线,并检查法线朝向一致性。

六、典型抓取场景中的处理链路

以“桌面抓取杯子”为例,完整链路如下:RGB-D相机采集对齐的彩色图与深度图;裁剪工作空间并降采样;统计滤波去除飞点;RANSAC分割桌面并移除;欧式聚类得到杯子点云;估计法线与FPFH特征;与模型库粗配准后ICP精配准;输出6D位姿并送入抓取规划。激光雷达场景中,则先做地面分割与聚类,再对目标点云做配准与特征提取,最后与视觉结果融合。

深度感知与点云处理链路 RGB-D相机 彩色图 + 深度图 有序点云 激光雷达 三维点云 大范围稀疏点 点云预处理 直通滤波 → 体素降采样 → 统计滤波 坐标变换 / 外参标定 配准 粗配准:FPFH + RANSAC 精配准:ICP / GICP 分割 RANSAC平面分割 → 欧式聚类 区域生长 / 目标点云提取 特征提取 法线 · FPFH · SHOT · PPF · VFH 6D位姿输出 旋转 + 平移 抓取规划输入 关键参数 体素边长 · 距离阈值 聚类容差 · 邻域半径 质量检查 内点比例 · 均方误差 法线一致性 · 聚类完整性

整条链路中,每一步都会影响最终位姿精度。深度图质量决定点云基础,滤波与分割决定目标是否干净,配准决定坐标系是否统一,特征提取决定位姿求解是否稳定。工程实践中,应把每一步的参数与可视化结果纳入调试流程,而不是只关注最后的位姿数值。