One2Any: One-Reference 6D Pose Estimation for Any Object
ABSTRACT
由于依赖完整的 3D 模型、多视角图像,或仅在特定物体类别上进行训练,6D 物体位姿估计在许多应用中仍然具有挑战性。这些要求使得模型难以泛化到新物体——尤其是在既没有 3D 模型也没有多视角图像可用的情况下。为了解决这一问题,我们提出了一种新的方法 One2Any:它仅使用一张参考 RGB-D 图像与一张查询 RGB-D 图像,就能在不需要该物体 3D 模型、多视角数据或类别约束等先验知识的情况下,估计物体的相对 6 自由度(DOF)位姿。
我们将物体位姿估计视为一个编码—解码过程:首先,从单一参考视角中获取一个全面的参考物体位姿嵌入(ROPE),该嵌入编码了物体的形状、朝向与纹理信息。利用该嵌入,一个基于 U-Net 的位姿解码模块为新的视角生成参考物体坐标(ROC),从而实现快速且准确的位姿估计。这种简单的编码—解码框架使得我们的模型可以在任意成对(pair-wise)的位姿数据上进行训练,从而支持大规模训练,并展现出很强的可扩展性。在多个基准数据集上的实验表明,我们的模型对新物体具有良好的泛化能力,以更低的计算开销实现了当前最先进(state-of-the-art)的精度与鲁棒性,甚至可与那些需要多视角或 CAD 输入的方法相媲美。
1. Introduction
6D 物体位姿估计是计算机视觉中的一项重要任务,因为它在机器人、混合现实以及通用场景理解等领域具有广泛应用。然而,现有方法仍然在很大程度上受到泛化能力不足、运行速度有限以及输入条件严格等问题的制约。
现有的 6D 物体位姿估计方法可以根据其所需输入类型进行分类。在基于模型的方法中,推理阶段需要使用参考物体的完整 3D 模型来支持位姿估计;而多视角方法则使用大量(8–200 张)参考图像,以间接方式编码物体的 3D 形状。尽管这些方法效果良好,但在缺乏多视角数据或高质量 3D 模型的场景中并不实用,而这种情况在新颖或未见过的物体中非常常见。相比之下,直接进行绝对位姿回归的方法通过监督学习绕开了大量参考数据的需求,但通常缺乏对未见物体的泛化能力。
我们的目标是在仅给定一张参考 RGB-D 图像的情况下估计任意物体的位姿,这是当前方法面临的一种极具挑战性的设置。为了克服在稀疏视角条件下显式重建和 2D 匹配的局限性,我们提出学习一种基于参考编码的条件建模方式。近期在 3D 生成领域的进展表明,当在大规模数据集上进行训练时,潜空间扩散模型可以在位姿、深度及其他信息的条件约束下进行图像或 3D 生成。基于这一观察,我们提出了一种基于潜空间扩散架构的方法,该方法能够从单一参考视角中学习稳健且全面的条件表示,用于捕获物体的纹理、形状和朝向先验,从而进行位姿估计。
在本文中,我们将新物体位姿估计表述为一个条件位姿生成问题:即在给定一个未见物体的新视角时,在条件化的参考位姿空间中生成该物体的位姿。我们的模型由两个分支组成:一个实例编码分支,用于将给定的 RGB-D 参考图像编码为参考物体位姿嵌入(Reference Object Pose Embedding ROPE);以及一个物体位姿解码(Object Pose Decoding OPD)分支,它结合查询图像和 ROPE,从任意视角解码物体的位姿。
我们并未直接估计旋转和平移,而是引入了一种适合该架构的中间稠密表示。受归一化物体坐标空间(Normalized Object Coordinate Space NOCS)的启发,该方法使用一个规范的物体姿态来为同一类别内的物体定义 2D–3D 对应关系,我们通过定义参考物体坐标(Reference Object Coordinate ROC)来放宽对规范坐标系的要求,使其表示在参考相机坐标系下的归一化物体坐标。
图 1:在仅给定一张 RGB-D 图像作为未见物体的参考视角时,我们的方法估计该物体在查询图像中的位姿,并以参考图像为相对坐标。该方法能够有效应对大幅度的视角变化。
我们的模型基于一个预训练的潜空间扩散模型,并对其进行微调,使其在 ROPE 条件约束下输出 ROC。利用生成的 ROC 以及目标物体的深度信息,我们通过 Kabsch–Umeyama 算法高效地计算物体位姿。此外,为了实现更快的推理速度,我们绕过扩散过程,以前向传播的方式运行 U-Net,从而使得该方法能够实现接近实时的运行速度,并显著快于现有方法。
2. Related Works
新物体位姿估计根据所需输入的不同,可以划分为三种主要设置:基于模型的方法、多视角方法以及单视角方法。我们的方法属于第三类,即仅使用一张参考视图和一张查询视图来估计物体位姿。
Model-based novel object pose estimation
CAD 模型在位姿估计任务中被广泛使用。实例级方法在训练和测试阶段依赖同一个 CAD 模型,并利用 2D–3D 对应关系进行位姿估计。类别级方法(如基于 NOCS 的方法),学习一个归一化的规范空间,用于在同一物体类别内进行位姿对齐。然而,这类方法受限于特定实例或类别,对新物体的适应能力较弱。近期的一些工作通过'渲染—比较'策略来解决新物体位姿估计问题,在测试阶段从 CAD 模型生成多个视角。尽管这些方法效果显著,但其计算开销较大,而且为未见过的真实世界物体获取 CAD 模型仍然具有挑战性。
Multi-view novel object pose estimation
不依赖 CAD 模型的无模型方法近年来逐渐受到关注。这些方法转而使用多视角图像或视频序列作为监督信号来进行新物体位姿估计。OnePose、OnePose++ 和 Gen6D 等方法利用 RGB 视频序列进行运动恢复结构(SfM),重建未见物体的粗略 3D 结构,并估计查询图像中的位姿。RelPose++ 和 PoseDiffusion 通过引入捆绑调整(bundle adjustment)学习,将该思路扩展到稀疏视角场景。然而,这类方法计算开销较大,当参考帧数量少于 10 张时,性能会明显下降。
Single-view novel object pose estimation
仅依赖单一参考视角的单视角位姿估计是一项极具挑战性的任务。该类方法通常通过学习两张图像之间的特征匹配来估计相对位姿。例如,POPE 使用 DINOv2 特征来对新物体进行特征匹配。Oryon 通过引入文本提示进行目标检测,将文本与图像特征进行融合以提升匹配效果,但在遮挡和无纹理表面条件下仍然存在困难。NOPE 通过对可能的 3D 位姿估计一个概率分布来进行相对位姿预测,但在推理阶段需要考虑多种候选相对位姿,导致计算成本高昂。我们的方法通过学习连续的物体潜在空间来解决这些问题,避免了特征匹配的局限性,并实现了直接的位姿解码。
一些点云配准方法通过检测 3D 关键点或提取特征描述子来解决物体位姿估计问题。这些方法仅关注点云信息,无法充分利用图像中的 2D 信息。相比之下,我们的方法能够同时充分利用 RGB 图像和点云信息。
3. Method
3.1. Overview
我们将问题形式化为在仅给定一张参考 RGB-D 图像和一张查询 RGB-D 图像的条件下进行相对物体位姿估计,而不依赖 CAD 模型或多视角图像。给定一张参考 RGB-D 图像,其 RGB 图像为 $A_I \in \mathbb{R}^{W \times H \times 3}$,深度图为 $A_D \in \mathbb{R}^{W \times H}$,目标物体掩码为 $A_M \in {0,1}^{W \times H}$,我们的目标是预测目标物体在查询图像中的位姿 $[R|t]$,其中查询输入包括 $Q_I$、$Q_D$ 以及 $Q_M$,并且该位姿是相对于参考视图而言的。
我们的核心思想是学习一个参考物体编码器(Reference Object Encoder,ROE)$f_A$,其参数为 $\theta_A$,用于将参考输入 $A = [A_I, A_D, A_M]$ 嵌入到参考物体位姿嵌入(Reference Object Pose Embedding,ROPE)中。通过在大规模数据集上训练 $f_A$,得到的嵌入 $e_A$ 作为条件信息,引导物体位姿解码(Object Pose Decoding,OPD)模块为查询图像生成参考物体坐标(Reference Object Coordinate,ROC)图。
整体问题可以表示为: $$Y_Q = g(Q, f_A(A; \theta_A); \theta_Q)$$
网络结构如图 2 所示。OPD 模块包含一个编码器–解码器结构,用于提取查询图像特征并预测 ROC 图。该过程通过采用 U-Net 架构将 ROPE 与查询特征进行融合,从而进一步增强预测能力。
3.2. Reference Object Coordinate (ROC)
为了从参考视角构建 ROC,我们首先利用深度信息对像素坐标进行反投影,得到参考物体的部分点云 $P_A$: $$P_A = K^{-1} A_D [A_M = 1]$$
随后,我们对 $P_A$ 的齐次坐标施加一个缩放与平移变换 $S \in \mathbb{R}^{4 \times 4}$,从而得到 ROC: $$Y_A = S P_A$$
类似地,为了获得查询图像的 ROC 真值(ground truth),对于查询视角点云 $P_Q$,我们首先利用真实的相对位姿变换 $[R|t]$ 将查询点云变换到参考视角下,然后再施加相同的缩放和平移变换 $S$。 $$Y_Q = S ([R|t], P_Q)$$
ROC 映射的生成方式是:将 ROC 空间中的点映射到其对应的 2D 像素位置,并将这些点的位置以 RGB 数值的形式进行编码。
3.3. Reference Object Pose Embedding
在仅给定一张 RGB-D 参考图像的情况下,对查询 RGB-D 图像进行位姿预测是一项具有独特挑战性的任务。以往的方法通常依赖关键点特征匹配,但当两张图像中可见区域重叠较少或存在严重遮挡时,这类方法往往会失效。我们提出了一种替代方案,将参考图像编码为参考物体位姿嵌入(Reference Object Pose Embedding,ROPE),从而实现有效的物体位姿预测。
参考物体编码器 ROE 记为 $f(A; \theta_A)$,其输入为按通道拼接的张量 $A$,该张量由参考 RGB 图像、参考 ROC 映射以及物体掩码共同组成,用于提取潜空间编码。编码器通过三层带有残差连接的卷积层处理输入,并将生成的特征图划分为若干 patch,同时引入位置嵌入。这种条件化嵌入能够有效引导 ROC 映射的生成,即便在存在遮挡的情况下,也能保持对参考数据的高度一致性。
3.4. Object Pose Decoding with ROPE
物体位姿解码(Object Pose Decoding,OPD)模块 $g(Q, f; \theta_Q)$ 基于从参考图像中获得的 ROPE,对查询图像中的物体位姿进行解码。OPD 的整体结构采用了受 Stable Diffusion 启发的编码器–解码器架构。
为了更好地融合 ROPE 表示,我们引入交叉注意力(cross-attention)层来整合查询图像的信息。具体而言,我们使用文献中预训练的 VQVAE 模型对查询 RGB 图像 $Q_I$ 进行特征提取,以进一步提升模型的泛化能力。
该 U-Net 通过交叉注意力机制,将查询特征 $F_Q$ 与参考嵌入 $F_A$(即 ROPE)进行融合。更具体地说,在每一层交叉注意力中,查询特征 $F_Q$ 会与来自 $F_A$ 的键向量 $k$ 和值向量 $v$ 进行交互。 $$k = F_A \times W_k, \quad v = F_A \times W_v, \quad q = F_Q \times W_q$$
交叉注意力操作作用于 $q, k, v$ 之间: $$\text{Attention}(q,k,v) = \text{softmax}\left(\frac{qk^{T}}{\sqrt{d_k}}\right)v$$
最终得到的相对特征图 $F^{Q2A}$ 是通过 U-Net 架构中多层交叉注意力计算得到的结果。该结构使网络能够充分提取 ROPE 中蕴含的位姿与形状信息。
随后,解码器对 $F^{Q2A}$ 进行逐步细化并上采样,将其重建到原始图像的尺寸。该解码器由五个卷积层构成,并配备残差连接与双线性上采样,最终生成 ROC 映射 $\hat{Y}_Q$。
ROC map loss. 按照 NOCS 的做法,我们使用平滑 L1 损失(Smooth L1 Loss),以 ROC 真值映射 $Y_Q$ 对预测结果 $\hat{Y}_Q$ 进行监督,从而训练网络 ${f,g}$。
3.5. Pose Estimation from ROC Map
相对位姿 $[R|t]$ 通过计算预测的 ROC 映射 $\hat{Y}_Q$ 与查询视角点云 $P_Q$ 之间的变换关系获得。需要注意的是,参考相机位姿被设定为 $[I_3|0]$。
首先,我们使用参考 ROC 的缩放矩阵逆 $S^{-1}$,对预测的 ROC $\hat{Y}_Q$ 进行反缩放和平移,使其对齐到参考相机坐标系中。由此得到的点云 $\hat{P}_Q^A$ 表示查询物体在参考相机坐标系下的点云。随后,我们利用查询点云 $P_Q$,通过 Umeyama 算法计算查询坐标系与参考坐标系之间的位姿预测 $[\hat{R}|\hat{t}]$。 $$\hat{P}_Q^A = S^{-1}\hat{Y}_Q[Q_M=1]$$ $$[\hat{R}|\hat{t}] = \textbf{Umeyama}(P_Q,\hat{P}_Q^A)$$
4. Experimental Results
4.1. Training Details
(注:原文此处主要为图片展示,具体训练细节请参考官方代码库。)


