3D 视觉与深度感知

核心 感知 kp-102 深度相机点云6D位姿抓取检测

一句话定义

3D 视觉把 2D 图像升级为空间几何(深度图、点云、6D 位姿),是机械臂"往哪儿伸、怎么抓"的信息来源。

为什么重要

  • 操作本质是三维问题:抓取位姿、插入对准、避障都需要深度。
  • 抓取检测(grasp detection)与 6D 位姿估计是"经典感知 → 学习式感知"过渡最成熟的两块,几乎所有操作流水线的第一站。
  • NeRF/3DGS 等新表示正在改变场景重建与 Sim2Real 的做法(real2sim,kp-402)。

前置知识

kp-101;线性代数(刚体变换)。

核心概念

深度获取四大原理:

  1. 双目立体视觉:两相机视差 → 三角测量。被动、低成本,弱纹理失效。
  2. 结构光:投射已知图案,形变解深度(Kinect v1、RealSense D 系列部分模式)。室内精度好,怕环境光干扰。
  3. ToF(飞行时间):测光往返时间(Kinect v2、LiDAR)。速度快、量程大,多径反射有噪声。
  4. 单目学习式深度:网络从单张图猜深度(MiDaS、Depth Anything 系)。免费但只有相对深度,尺度需外部锚定。

三维表示:点云(原始、无序)、体素/占据栅格(规则但内存大)、SDF/TSDF(隐式表面)、Mesh、以及神经场表示(NeRF、3D Gaussian Splatting)。

两大任务族:

  • 6D 位姿估计:已知物体模型,估计其 $\mathbf{R}, \mathbf{t}$。经典:Point-TD? (LineMOD 系);学习式:FoundationPose(2024,模型无关、支持 novel object)。
  • 抓取位姿检测:不知道物体是什么,直接从场景生成可抓位姿。GraspNet-1Billion(2020,亿级标注基准)、Contact-GraspNet(2021)、AnyGrasp(2023,实时鲁棒抓取)。

原理与机制

点云网络:PointNet(2017)证明可以对无序点集做置换不变的逐点 MLP + 对称池化;PointNet++ 加分层邻域采样捕捉局部结构。现代做法常把点云投影到多视角深度图用 2D 网络处理,或体素化后用 3D 卷积/稀疏卷积。

从深度到动作的典型流水线:

RGB-D ─► 去噪/裁剪(工作空间过滤) ─► 位姿估计 或 直接抓取检测
      ─► 选择最优抓取(可达性/碰撞过滤,[kp-202]) ─► 运动规划执行

尺度与坐标变换:深度图 → 相机系点云 → 通过外参变换到机器人基座系(手眼标定,kp-101)。这条变换链的标定误差直接进入抓取误差。

公式与图示

深度相机像素 $\mathbf{u}=(u,v)$ 反投影到相机坐标系:

$$\mathbf{p}_{cam} = Z(u,v)\cdot \mathbf{K}^{-1} \begin{bmatrix} u \\ v \\ 1 \end{bmatrix}, \quad \mathbf{K} = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix}$$

点云变换到机器人系:$\mathbf{p}_{base} = \mathbf{R}_{he} \, \mathbf{p}_{cam} + \mathbf{t}_{he}$,其中 $\mathbf{R}_{he}, \mathbf{t}_{he}$ 来自手眼标定。

双目深度:$Z = \dfrac{f \cdot b}{d}$,$f$ 焦距、$b$ 基线、$d$ 视差——基线越长深度越准、设备越大。

直观类比

  • 人类立体视觉:两眼视差就是生物双目相机;闭上一只眼接水杯会明显变难——深度知觉的重要性。
  • 点云是"空间撒芝麻":一把芝麻撒出茶杯的形状;点云网络的任务是从芝麻里读出杯壁在哪。

实例与案例

  • AnyGrasp 开源流水线:深度相机 → 点云 → 抓取网络 → 过滤不可行抓取 → MoveIt 执行,数小时内可搭建一个杂乱堆叠分拣 demo。
  • 仓储无序抓取:吸盘 + 深度图选择最高可达点,是电商仓自动化的主力,展示"够用的 2.5D"有时比完整 6D 更实用。
  • FoundationPose(2024):给一张物体 CAD 模型或几张照片,即可零样本估计 6D 位姿——位姿估计正在被基础模型化。

常见误区

  • 误区一:深度相机精度均匀。结构光/ToF 的误差随距离平方增长,边缘与反光表面有大空洞;关键决策要在有效深度区内做。
  • 误区二:抓取检测输出即终点。网络给出的抓取还要过运动学可达性、碰撞、夹爪宽度过滤(kp-202),过滤逻辑写不好,再准的检测也白搭。
  • 误区三:点云必须点云网络处理。很多 SOTA 方法直接吃多视角深度图(2D 卷积),工程上更省事。

自测题

  1. 四种深度获取原理各举一个适用/失效场景。
  2. 推导双目深度公式,并解释为什么基线小的深度相机近距离精度反而好。
  3. 描述从深度图到机械臂执行一次抓取的完整数据流。

与其他知识点的关系

延伸阅读

  • Qi et al., PointNet: Deep Learning on Point Sets, CVPR 2017。
  • Fang et al., AnyGrasp, T-RO 2023;Wen et al., FoundationPose, CVPR 2024。
  • Depth Anything(2024)系列——单目深度基础模型。

本节引用来源

  • Qi et al., PointNet, CVPR 2017
  • FoundationPose, CVPR 2024