PolarNet

本文提出了 PolarNet,一种基于点云的语言引导机器人操作网络,基于 PointNext 架构 [17],以高效编码点云输入。通过多模态 Transformer,在中间层将编码后的点云与语言指令融合,预测 7-DoF 的 action。


目标是学习一个视觉策略 π(atOt)\pi(a_t | O_t),其中 ata_t 是动作,OtO_ttt 时间的观察空间,包括:

  1. 语言指令 (x1,,xNx)(x_1, \cdots, x_{N_x})xix_i 是 token 化的单词
  2. KK 个摄像头的 RGB 图像 {IrgbkRH×W×3}k=1K\{I_{rgb}^{k} \in \R^{H\times W \times 3}\}_{k=1}^{K}
  3. 对齐的深度图像 {IdepkRH×W}k=1K\{I_{dep}^{k} \in \R^{H \times W}\}_{k=1}^{K}

Point Cloud Inputs

将深度图像中的每个像素投影到 3D 世界坐标系中,每个像素的 RGB 颜色可以附加到对应的 3D 点上,为每个摄像头生成一个点云 VtkRH×W×6V_{t}^{k} \in \R^{H\times W \times 6},每个点由 XYZ 坐标和 RGB 颜色组成。

将它们合并为一个统一的点云。为了减少冗余,使用 Open3D [52] 对合并后的点云进行均匀下采样,每个体素保留一个点。同时定义了一个覆盖桌面上方工作空间的 3D 边界框,用于裁剪点云,仅保留物体和机器人手臂的点。最终得到的点云 VtV_t

实验证明,下面 4 种输入特征均有助于性能提升,其中颜色尤为重要:

  1. XYZ 坐标
  2. RGB 颜色
  3. 法向量:已被证明在避障任务中有效 [45]。
  4. 相对于操作桌面的高度

Model Architecture

采用 CLIP 模型 [8] 的语言编码器对语言指令进行标记化和编码。冻结 CLIP 的参数,并添加一个线性层以生成语言嵌入。

X^=(x^1,,x^Nx)=WxCLIP([x1,,xNx])\hat{X} = (\hat{x}_1, \cdots, \hat{x}_{N_x}) = W_x \text{CLIP}([x_1, \cdots, x_{N_x}])

使用 PointNext 编码器 [17] 对点云 VtV_t 进行编码,PointNext 编码器由 LeL_e 个 Set Abstraction (SA) 模块组成,用于分层抽象点云特征。每个 SA 模块包含以下步骤

  1. 子采样层:用 FPS 采样 NvlN_v^l 个点
  2. 分组层:为每个采样点找到邻居点,即距离 rlr^l 之内的点
  3. MLP
  4. Max Pooling

假设查询点 ii 在第 ll 层的坐标为 pilp_i^l,输入特征 vilv_i^l,则

vil+1=MaxPoolj:(i,j)N{MLP([vjl;(pjlpil)/rl])}v_i^{l+1} = \text{MaxPool}_{j:(i, j) \in N} \{\text{MLP}([v_j^l; (p_j^l - p_i^l)/r^l])\}

每个 SA 模块将点的数量减少一半,同时将特征维度增加一倍。我们将编码后的点云表示为 VtLeV_t^{L_e}

用多层 Transformer 架构 [53] 将点云特征与语言嵌入融合。首先为点云特征添加位置编码和正弦位置嵌入。

v^i0=WvviLe+WppiLe+Es(t)\hat{v}_i^0 = W_v v_i^{L_e} + W_p p_i^{L_e} + E_s(t)

然后在每一层 Transformer 中,依次执行:

  1. Self-Attention
  2. 点云到语言的 Cross-Attention
  3. Feedforward Network

Attn(Q,K,V)=Softmax(WQQ(WKK)Td)WVVV^l=Attn(V^l,V^l,V^l),V^l=Attn(V^l,X^,X^)V^l+1=LayerNorm(W2GeLU(W1V^l))\text{Attn}(Q, K, V) = \text{Softmax}\left(\frac{W_Q Q (W_K K)^T}{\sqrt{d}}\right) W_V V \\ \hat{V}_l' = \text{Attn}(\hat{V}_l, \hat{V}_l, \hat{V}_l), \quad \hat{V}_l'' = \text{Attn}(\hat{V}_l', \hat{X}, \hat{X}) \\ \hat{V}_{l+1} = \text{LayerNorm}(W_2 \text{GeLU}(W_1 \hat{V}_l''))

对于位置预测,由于是连续值,直接回归可能导致训练困难且性能不佳 [54],故使用 PointNext 生成点云上的热图 HRNv×1H \in \R^{N_v \times 1} 和 每个点的偏移量 RNv×3\R^{N_v \times 3},最终预测位置为:

a^txyz=i=1NvHi(pi+Δi)\hat{a}_t^{xyz} = \sum_{i=1}^{N_v} H_i (p_i + \Delta_i)

对于旋转和开合状态,由于其离散性,直接通过以下公式预测:

a^tq,a^to=MLP([MaxPool(VtLe);MaxPool(V^tL)])\hat{a}_t^q, \hat{a}_t^o = \text{MLP}([\text{MaxPool}(V_t^{L_e}); \text{MaxPool}(\hat{V}_t^L)])

最终损失函数为:

L=1NTτD[t=1TMSE(a^txyz,atxyz)+MSE(a^tq,atq)+BCE(a^to,ato)]L = \frac{1}{|N T|} \sum_{\tau \in D} \left[\sum_{t=1}^T \text{MSE}(\hat{a}_t^{xyz}, a_t^{xyz}) + \text{MSE}(\hat{a}_t^q, a_t^q) + \text{BCE}(\hat{a}_t^o, a_t^o)\right]