HOLD论文深度解析:无需先验类别的3D手-物交互重建

HOLD论文深度解析:无需先验类别的3D手-物交互重建

引言

想象一下:你随手拿起手机,拍下一段自己握杯喝咖啡的视频——然后计算机就能从这段视频中重建出你的手和杯子完整的三维模型。不需要提前扫描杯子,不需要告诉计算机”这是一只杯子”,甚至不需要任何3D标注数据。

这正是CVPR 2024论文《HOLD: Category-agnostic 3D Reconstruction of Interacting Hands and Objects from Video》所实现的目标。

核心问题:如何从单目RGB视频中,同时重建出与未知物体交互的3D手部姿态和物体表面?

为什么重要:人类每天与上百种不同的物体交互。理解这些交互的3D几何结构,对AR/VR、机器人模仿学习、人机交互等领域至关重要。然而,现有方法要么需要预先扫描的物体模板(实际中不可行),要么只能在少数几个训练过的物体类别上工作。

HOLD的核心贡献

  1. 首个类别无关的联合手-物3D重建方法
  2. 组合式神经隐式模型(Compositional Implicit Model)实现手和物体的分离重建
  3. 利用手-物交互约束(接触、遮挡)联合优化姿态和形状
  4. 无需任何3D标注数据,仅从2D视频即可超越全监督基线方法

Background

问题难点

从单目视频重建手和物体之所以困难,有三个核心挑战:

  1. 深度模糊:单目视频丢失了深度信息,手和物体在3D空间中的前后位置难以确定
  2. 遮挡严重:手握持物体时,大面积的遮挡使得两者都只能看到部分表面
  3. 物体未知:不假设物体类别意味着无法利用任何形状先验

现有方法的局限

方法类别 代表工作 局限
基于模板 CPF, H+O 需要物体预扫描,无法泛化到新物体
类别受限 DiffHOI 仅支持6个物体类别(瓶子、杯子等),泛化到新类别时效果急剧下降
手持扫描 BundleSDF, HHOR 假设手部固定不动(刚性握持),忽略了手部姿态变化
基于模板的交互 Hasson et al. 使用全监督训练,受限于有限的3D标注数据集

前置知识

理解HOLD需要熟悉以下概念:

  • MANO模型:手部参数化模型,包含姿态参数θ(关节角度)和形状参数β(手部尺寸)
  • 神经隐式曲面(Neural SDF):用神经网络表示三维曲面的符号距离函数
  • 体渲染(Volume Rendering):NeRF中使用的可微分渲染技术
  • 逆线性混合蒙皮(Inverse LBS):将变形后的空间点映射回标准空间

核心方法

整体流程

HOLD采用三阶段流水线架构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
输入:单目RGB视频


阶段1:姿态初始化
├── 手部姿态 → 现成手部回归器
├── 物体姿态 → SfM(运动恢复结构)
└── 尺度对齐 → 接触 + 投影优化


阶段2:HOLD-Net 预训练 (100 epochs)
├── 手部神经隐式场 (MANO驱动)
├── 物体神经隐式场 (刚性变换)
├── 背景场 (NeRF++)
└── 联合体渲染 → RGB + 分割监督


阶段3:姿态精修
├── 接触约束(指尖到物体表面最近点)
├── 掩码约束(SoftRasterizer体渲染)
└── 联合优化手物相对姿态


阶段4:HOLD-Net 完全训练 (200 epochs,从零开始)


输出:逐帧3D手部 + 物体表面

阶段1:姿态初始化

手部:使用现成的手部姿态估计器(基于Transformer的回归器 [30])为每一帧预测MANO参数 θ, β, R_h, t_h。

物体:这一步更复杂,因为物体是未知的:

  1. 用SAM分割网络 [25] 提取每帧的物体掩码
  2. 生成”只有物体”的图像(将手部区域遮掉)
  3. 用HLoc [46,47] 做SfM,恢复物体的稀疏点云和每帧位姿 R_o, t_o
  4. 由于SfM重建的点云尺度不确定,需要额外优化一个全局尺度参数 s

尺度对齐:最小化接触距离 + 2D重投影误差,联合优化手部和物体的平移参数。

阶段2:HOLD-Net

这是方法的核心创新——组合式神经隐式模型。

手部模型

1
2
f_h: R³ → R × R³
x ↦ (d, c)
  • 输入:标准空间中的3D点
  • 输出:到手部表面的符号距离 d 和颜色 c
  • 由MANO参数驱动:观察空间中的点通过逆LBS映射回标准空间
1
x = (Σ w_i(x') · B_i)⁻¹ x'

其中 B_i 是MANO关节的骨骼变换矩阵(由正向运动学从θ推导),w_i(x’) 是每个变形点基于K近邻MANO顶点的蒙皮权重。

物体模型

1
2
f_o: R³ × R³² → R × R³
(x, z_o) ↦ (d, c)
  • 输入:标准空间点 + 每帧潜在编码 z_o(32维)
  • z_o用于建模物体外观变化(姿态变动、遮挡、阴影等)
  • 观察空间到标准空间的映射是简单的刚性变换:
1
x = (sR_o)⁻¹ · (x' − t_o)

背景模型

使用NeRF++ [70] 的反转球体参数化处理无限场景,加上每帧潜在编码 z_b 处理动态背景。

组合式体渲染

关键步骤:

  1. 对每一条光线,独立为手部、物体、背景采样点
  2. 分别映射到各自的标准空间,查询SDF和颜色
  3. 将手部和物体的采样点按深度排序合并
  4. 体渲染公式累积所有点的颜色和透明度
  5. 最终颜色 = 前景颜色 + (1 - 前景透明度) × 背景颜色

模型还额外渲染了模态掩码(amodal mask)和分类概率(手/物体/背景),用于分割监督。

损失函数

总损失由5项组成:

1
L = L_rgb + λ_segm · L_segm + λ_sdf · L_sdf + λ_sparse · L_sparse + λ_eikonal · L_eikonal
损失项 作用
L_rgb 渲染颜色与输入图像的L1损失
L_segm 多类分割损失(SAM掩码作为伪标签)
L_sdf MANO形状先验(Loop细分后的MANO网格提供SDF监督)
L_sparse 远离手/物体表面区域的密度稀疏性约束
L_eikonal SDF梯度的正则化(

阶段3:姿态精修

这一步骤是解决深度模糊的关键。

初版HOLD-Net只经过了100个epoch的预训练,获得了粗略的物体形状。在此基础上:

  1. 接触损失

    1
    L_contact = Σ_i min_j ||V_tips^i − V_o^j||

    将手部指尖顶点 V_tips(来自 [17] 定义的手指集合)拉向最近的物体表面顶点

  2. 掩码损失:用SoftRasterizer [31] 渲染手部和物体的模态掩码,与SAM分割结果对齐

这一阶段联合优化 {R_h, t_h, R_o, t_o, β, s}。效果显著——手物相对姿态的Chamfer距离从 122.1 降至 11.3,提升超过10倍!

阶段4:完全训练

使用精修后的姿态,从零开始重新训练HOLD-Net(200 epoch),避免预训练阶段不准确姿态带来的伪影。

实验

定量结果

与SOTA方法对比(HO3D数据集):

指标 Ours iHOI DiffHOI 差距
MPJPE [mm] ↓ 24.2 38.4 32.3 -8.1
CD [cm²] ↓ 0.4 3.8 4.3 -3.4
F10 [%] ↑ 96.5 75.8 68.8 +20.7
CDh [cm²] ↓ 11.3 41.7 43.8 -30.4

注:iHOI和DiffHOI均使用3D标注数据训练,HOLD仅使用2D视频输入。

泛化能力(按DiffHOI训练类别划分):

类别分组 指标 DiffHOI Ours
DiffHOI已见类别 CD [cm²] ↓ 1.3 0.4
DiffHOI未见类别 CD [cm²] ↓ 6.5 0.3

DiffHOI对未见类别的物体重建质量急剧下降(CD从1.3恶化到6.5),而HOLD保持了一致的优异表现。

与手持扫描方法对比:

指标 Hampali et al. Ours
CD [cm²] ↓ 1.4 0.5
F5 [%] ↑ 57.4 84.3
F10 [%] ↑ 79.9 94.4

消融实验

变体 MPJPE ↓ CD ↓ F10 ↑ CDh ↓
不含手部建模 - 0.41 95.9 -
不含姿态精修 24.6 0.55 94.2 122.1
完整方法 24.2 0.38 96.5 11.3

两个关键发现:

  1. 联合手物建模减少了手部遮挡区域的伪影(CD从0.41降至0.38)
  2. 接触约束姿态精修将手物相对位置从严重错位(CDh=122.1)修正到接近真实(CDh=11.3)

定性结果

HOLD在以下场景均表现出色:

  • 静态相机(实验室环境)
  • 移动相机(第三人称)
  • 第一人称视角(头戴相机)
  • 不同光照和背景条件(室内/户外)
  • 独特形状物体(乐高杯、电钻等)

关键启示

  1. 物理约束 > 数据量:接触约束提供了极强的几何信号,足以弥补缺乏3D标注数据的问题。CDh从122.1降至11.3就是最好的证明。

  2. “1+1>2”的组合效应:联合重建手和物体的效果优于分别重建——手部帮助推断物体被遮挡的区域,物体帮助确定手部的深度位置。

  3. 无监督优化范式的可行性:HOLD展示了在不依赖大规模3D标注数据的情况下,通过精心设计的损失函数和优化流程,可以超越全监督方法。

  4. 类别无关是关键突破:从DiffHOI的对比可以清楚看到,类别先验对未见类别的泛化有严重限制。HOLD的工作方式更接近真实世界需求——只需一段视频,无需预定义类别。

局限与未来方向

作者指出的局限

  • 薄壁/无纹理物体:SfM初始化依赖特征点匹配,对薄壁或无纹理物体效果不佳
  • 物体罕见区域:仅靠RGB监督难以重建物体上很少被观察到的部分

个人补充

  • 计算开销大:每个序列约30小时(A100),难以实用化部署
  • 评估范围有限:仅在HO3D一个数据集上做了定量评估
  • 流水线复杂:三阶段流程涉及多个现成组件(SfM、分割、手部回归器),工程耦合度高

未来方向

  • 引入扩散先验(Diffusion Priors)改善物体罕见区域的建模
  • 使用无检测器SfM(如LoFTR)增强对无纹理物体的鲁棒性
  • 扩展到双手与物体的交互场景
  • 降低计算开销,探索视频级网络而非逐帧优化

个人思考

HOLD最令我兴奋的地方在于它的方法论哲学:与其在有限的3D数据上训练一个泛化能力有限的黑箱模型,不如设计一个能充分利用物理约束(接触、遮挡、一致性)的优化框架。这种”模型驱动+数据驱动”的结合,在数据稀缺的场景下具有重要启示意义。

一个有趣的问题是:如果结合DiffHOI的数据驱动先验和HOLD的物理约束优化,能否做到更好的效果? 作者在局限部分提到了diffusion prior的整合方向,这正是我在关注的研究前沿。

参考文献