跳转至

FoundPose: Unseen Object Pose Estimation with Foundation Features

会议: ECCV 2024
arXiv: 2311.18809
代码: 有 (evinpinar.github.io/foundpose)
领域: 人体理解 / 物体姿态估计
关键词: 6D位姿估计, DINOv2, 基础模型, 无训练, 模板匹配

一句话总结

FoundPose 利用冻结的 DINOv2 基础模型提取 patch 描述子,通过 bag-of-words 模板检索和 kNN 匹配建立 2D-3D 对应关系,无需任何任务特定训练即可实现未见物体的 6D 位姿估计,在 BOP 基准上显著超越现有 RGB 方法。

研究背景与动机

问题定义

6D 物体位姿估计(3D旋转 + 3D平移)是空间 AI 的核心问题,在机器人操作和混合现实中有重要应用。本文聚焦于基于模型的未见物体位姿估计:假设有 3D 网格模型可用,但没有足够预算进行大规模数据集渲染和网络训练。

现有方法的不足

早期经典方法(手工特征匹配、模板匹配):可处理未见物体,但精度有限

深度学习方法(MegaPose、GigaPose、GenFlow):精度高但需要在海量任务特定数据(数百万张合成图像、数千个不同物体)上预训练,数据集生成代价大

现有无训练方法(ZS6D、PoMZ):ZS6D 使用最后一层 ViT 特征建立对应关系,精度显著低于 FoundPose;PoMZ 需要 RGB-D 输入

核心动机

视觉基础模型(如 DINOv2)经自监督训练后具有强大的泛化能力。作者发现 DINOv2 中间层的 patch 描述子同时携带位置信息语义信息,能够跨越合成-真实域差距建立可靠的 2D-2D 对应关系。这是一个关键洞察:浅层特征偏位置信息,深层特征偏语义信息,中间层(第18层)提供了最佳平衡——当语义信息因物体对称性或缺少纹理而模糊时,位置信息能确保几何一致的匹配。

方法详解

整体框架

FoundPose 采用经典的"渲染-匹配-求解"范式,但以 DINOv2 特征替代传统手工特征:

  1. 离线建模阶段:渲染物体 3D 模型的 RGB-D 模板,提取 DINOv2 patch 描述子并注册到 3D 空间
  2. 在线推理阶段:裁剪查询图像 → bag-of-words 模板检索 → patch 匹配建立 2D-3D 对应 → PnP-RANSAC 求解位姿 → 特征度量精细化

关键设计

1. 模板表示与 3D 注册

给定纹理映射的 3D 物体模型,渲染 \(n\) 个 RGB-D 模板,覆盖 \(SO(3)\) 旋转群。对每个模板提取 \(14 \times 14\) 像素的非重叠 patch 描述子 \(\{\mathbf{p}_{t,i}\}_{i=1}^{m}\),经 PCA 降维到 \(d\) 维:

\[\mathbf{p}_{t,i} = \phi_d(\mathbf{p}'_{t,i}), \quad \phi_d: \mathbb{R}^r \mapsto \mathbb{R}^d\]

每个 patch 描述子关联一个 3D 位置 \(\mathbf{x}_j\)(通过深度通道和相机内参从 2D 投影到 3D),形成模板表示 \(T_t = \{(\mathbf{p}_{t,j}, \mathbf{x}_j) | j \in M\}\)

设计动机:将 DINOv2 描述子注册到 3D 空间,使得 2D patch 匹配可直接转化为 2D-3D 对应关系,无需额外的深度估计网络。

2. Bag-of-Words 模板检索

为高效地从数百个模板中找到与查询最相似的少数几个,将 DINOv2 patch 描述子集成到经典的 bag-of-words 框架中:

  • 对所有模板的 patch 描述子进行 \(k\)-means 聚类,获得视觉词汇表
  • 每个模板用 TF-IDF 加权的 bag-of-words 向量表示:\(b_i = (n_{i,t}/n_t) \log(N/n_i)\)
  • 推理时计算裁剪图像的 bag-of-words 向量,用余弦相似度检索 \(h\) 个最相似模板

核心优势: - 比 MegaPose 的 render-and-compare 粗估计快 15倍 - 仅需 800 个模板(vs MegaPose 的 90K+),内存占用低 25倍 - 余弦相似度对遮挡鲁棒——被遮挡物体的可见部分仍贡献有效视觉词汇 - 软分配(soft-assign)减轻量化误差

3. 基于中间层 DINOv2 的 Patch 匹配

对检索到的每个模板,通过 kNN 搜索将查询 crop 的 patch 描述子匹配到模板描述子,建立 2D-3D 对应关系 \(C_t = \{(\mathbf{u}_i, \mathbf{x}_i)\}_{i=1}^{m}\)

关键发现:使用 DINOv2 ViT-L 第 18 层(共 23 层)的描述子效果最佳。浅层到深层,特征从位置信息主导逐渐变为语义信息主导: - 第 13 层:物体不同侧面有明显不同颜色(强位置信息) - 第 23 层:整个物体趋于同一颜色(强语义信息) - 第 18 层:在对称/无纹理物体上,位置信息能消歧语义模糊的对应关系

4. 特征度量精细化 (Featuremetric Refinement)

粗位姿通过 PnP-RANSAC 从 2D-3D 对应关系估计。由于 patch 较大(14×14 px),2D 中心与 3D 投影之间存在偏差。通过 Levenberg-Marquardt 优化最小化特征度量误差进行精细化:

\[(\mathbf{R}_r, \mathbf{t}_r) = \arg\min_{(\mathbf{R}, \mathbf{t})} \sum_{(\mathbf{p}_i, \mathbf{x}_i) \in T_t} \rho\left(\mathbf{p}_i - \mathbf{F}_q\left(\pi(\mathbf{R}\mathbf{x}_i + \mathbf{t})/s\right)\right)\]

其中 \(\rho\) 是 Barron 鲁棒损失函数,\(\mathbf{F}_q\) 是查询特征图(双线性插值采样),\(\pi\) 是 2D 投影函数。

设计动机:类似经典光度对齐,但在 DINOv2 特征空间操作,使模板 patch 对齐到查询图中的最优位置,有效补偿粗采样导致的偏差。

损失函数 / 训练策略

FoundPose 不需要任何训练——完全依赖冻结的 DINOv2 权重。离线建模阶段仅需: - 渲染 800 个模板(约 25° 角间距) - 提取 patch 描述子并计算 PCA(从所有模板的有效 patch 描述子计算 top-256 分量) - 计算 k-means 聚类中心(2048 个视觉词汇) - 整个建模过程 < 5 分钟(1 GPU)

实验关键数据

主实验

在 BOP 基准 7 个数据集上的 Average Recall (AR) 对比(无精细化情况):

方法 LM-O T-LESS TUD-L IC-BIN ITODD HB YCB-V 平均 AR 需要训练
FoundPose 39.6 33.8 46.7 23.9 20.4 50.8 45.2 37.2
GigaPose 29.9 27.3 30.2 23.1 18.8 34.8 29.0 27.6
GenFlow 25.0 21.5 30.0 16.8 15.4 28.3 27.7 23.5
MegaPose 22.9 17.7 25.8 15.2 10.8 25.1 28.1 20.8

加上 MegaPose refiner(5 假设精细化):

方法 平均 AR 时间(s)
FoundPose + Feat. + MegaPose 59.6 20.5
GigaPose + MegaPose 57.9 7.3
GenFlow + GenFlow 57.1 20.9
MegaPose + MegaPose 54.7 47.4

消融实验

不同 backbone/层级对粗位姿估计精度的影响:

特征提取器 LM-O T-LESS TUD-L 平均 AR 说明
DINOv2 ViT-L layer 18 39.6 33.8 46.7 37.2 最佳中间层
DINOv2 ViT-L layer 23 23.2 22.8 31.2 23.5 最后层,语义过强
DINOv2 ViT-S layer 9 34.0 31.6 42.7 34.0 小模型中间层
SAM ViT-L layer 23 2.2 12.8 9.2 10.7 不适合位姿估计
Dense SIFT 3.2 2.6 6.5 7.6 经典手工特征

模板检索方式消融:

检索方式 平均 AR 说明
Bag-of-Words (本文) 37.2 鲁棒、高效
CLS token 匹配 18.2 对遮挡敏感
CLS token + 黑色背景 25.1 有改进但仍不足
Top 模板位姿直接使用 17.7 检索质量验证

关键发现

  1. DINOv2 中间层描述子是关键:第 18 层 vs 第 23 层带来 +13.7 AR 的巨大提升,证明位置-语义平衡的重要性
  2. 无训练超越有训练:FoundPose 无需任何训练即超过 GigaPose(+9.6 AR)、GenFlow(+13.7 AR)、MegaPose(+16.4 AR)
  3. 特征度量精细化有效:+5 AR(单假设),与 MegaPose refiner 互补
  4. 内存效率极高:每物体仅 234MB(vs OSOP/Nguyen 的 5.6GB,低 25 倍)
  5. 分割质量是瓶颈:使用 GT mask 时 AR 提升 +6~19 分

亮点与洞察

  1. 范式启发:证明了冻结基础模型 + 经典几何方法的组合可以超越端到端训练方法,为"不训练也能用"提供了强有力的证据
  2. 中间层特征的价值:不同于通常使用最后一层特征的做法,发现中间层特征在位姿估计中更优,因为它兼具位置感知和语义理解能力
  3. Bag-of-Words 的回归:2003 年的经典文本检索技术在 2024 年与视觉基础模型结合后焕发新生
  4. 合成-真实域泛化:DINOv2 的自监督训练使其 patch 描述子天然跨域一致,无需显式的域适应

局限与展望

  1. FoundPose 依赖 CNOS 提供的分割 mask,mask 质量是主要误差来源
  2. 仅支持 RGB 输入,未利用深度信息(与 FoundationPose 等 RGB-D 方法无法直接比较)
  3. Patch 粒度较粗(14×14 px),精确定位依赖精细化步骤
  4. 对高度对称物体(如圆柱体)仍存在挑战
  5. 未探索更高效的基础模型(如蒸馏模型)对速度的提升潜力

相关工作与启发

  • DINOv2 的特征层分析可迁移到其他需要精确空间对应的任务(如光流、深度估计)
  • Bag-of-Words + 基础模型特征的组合思路可用于其他检索任务
  • 特征度量对齐框架可扩展到动态物体跟踪场景

评分

  • 新颖性: ⭐⭐⭐⭐ — 将基础模型特征与经典几何方法巧妙结合,中间层特征的发现具有启发性
  • 实验充分度: ⭐⭐⭐⭐⭐ — 7 个数据集全面评估,丰富的消融实验涵盖特征层级、检索方式、各种参数
  • 写作质量: ⭐⭐⭐⭐⭐ — 逻辑清晰,动机充分,可视化出色(特征 PCA 可视化非常直观)
  • 实用价值: ⭐⭐⭐⭐⭐ — 无需训练、低内存、高精度,实际部署价值极高

相关论文