3D Reconstruction of Objects in Hands without Real World 3D Supervision¶
会议: ECCV 2024
arXiv: 2305.03036
代码: 无(有项目主页)
领域: 3D视觉 / 手持物体重建 / 弱监督学习
关键词: hand-object reconstruction, visual hull, shape prior, occupancy network, synthetic-to-real
一句话总结¶
提出HORSE框架,通过从野外视频中提取多视角2D mask监督(以手部姿态作为物体姿态代理)和从合成3D形状集合中学习2D切片对抗形状先验,训练occupancy网络从单张RGB图像重建手持物体3D形状,在不使用任何真实世界3D标注的情况下,在MOW数据集上超越使用3D监督的方法11.6%。
背景与动机¶
手持物体的3D重建对AR/VR和机器人学习至关重要,但现有方法依赖图像与3D形状的配对数据进行训练。收集这类真实世界配对数据极其困难:视觉扫描设备要求物体完全可见(被手遮挡时不满足),合成逼真的手-物交互本身就是开放性问题,人工对齐模板形状既昂贵又不精确。因此现有数据集物体种类少(HO3D仅10类,DexYCB仅20类),导致训练出的模型在野外场景遇到新物体时泛化能力差。
然而,互联网上存在大量野外视频展示手-物交互(如EPIC-Kitchens、Ego4D),以及大规模合成3D形状集合(如ShapeNet)。这两类数据各有局限——视频有真实交互但无3D标注,形状集合有3D几何但缺乏真实手部抓取——核心动机在于如何融合利用这两类间接3D线索来突破3D监督的瓶颈。
核心问题¶
如何在没有真实世界3D监督的条件下,训练一个从单张RGB图像重建手持物体3D形状的模型?需要解决两个关键子问题:(1) 如何从无3D标注的野外视频中提取有效的3D学习信号?(2) 如何补偿手部遮挡导致的形状不完整性?
方法详解¶
整体框架¶
输入:单张RGB图像 → FrankMocap估计手部姿态参数(关节姿态\(\theta_a\)、全局旋转\(\theta_w\)、弱透视相机\(\theta_c\))→ ResNet-50提取全局特征和pixel-aligned局部特征 → 结合手部关节坐标系下的3D点表示 → Occupancy网络\(\mathcal{F}\)预测每个3D采样点的占据值 → Marching Cubes提取mesh。
训练阶段联合使用三个信号源:VISOR野外视频提供多视角2D mask监督、ObMan合成数据集提供3D形状先验和3D直接监督。
关键设计¶
-
2D Mask引导的3D采样(Visual Hull监督): 利用VISOR视频中同一物体的多视角帧\(\{I_1,...,I_n\}\)及其分割mask\(\{M_1,...,M_n\}\)。关键假设是人抓取刚性物体时手和物体刚性运动,因此手部姿态可作为物体姿态的代理。用FrankMocap估计各帧手部6DoF姿态来配准不同视角。在手坐标系中采样3D点,若一个点投影到所有视角的物体mask内(且不在手部mask内、不属于MANO手顶点),则标记为占据;否则标记为非占据。采用拒绝采样策略(最多50轮)确保正负样本平衡。这本质上是训练时的visual hull算法,但测试时只需单张图像。
-
2D切片3D判别器(形状先验): Visual hull无法恢复被手遮挡的部分。为此引入对抗训练框架,用ObMan中2500+手持物体的3D形状训练判别器\(\mathcal{D}\)。创新点在于用2D切片代替3D体素作为判别器输入:在手坐标系原点采样过原点的2D平面,随机旋转使其非轴对齐,在平面上均匀采样点获取occupancy值构成2D截面图。这样做的好处是:(a) 计算效率高(无需采样\(64^3\)个点),(b) 训练中见到不同随机切片,能学到细粒度形状区分(如球体截面总是圆形,圆柱体截面多为椭圆)。
-
Wild Objects in Hands数据集构建: 从VISOR数据集中筛选手-物接触的刚性物体交互片段。先用接触标注选出14768条轨迹,人工过滤保留单手刚性物体操作的604段视频,再通过FrankMocap的不确定性估计(5个平移增强版本的标准差)自动过滤手部姿态不准确的帧,最终保留473段视频、覆盖144个物体类别,是现有数据集的4倍量级。
损失函数 / 训练策略¶
总损失:\(\mathcal{L}_{\mathcal{F}} = \lambda_v \mathcal{L}_{\text{visual-hull}} + \lambda_c \mathcal{L}_{\text{consistency}} + \lambda_f \mathcal{L}_{\text{adv}}^{\mathcal{F}}\)
- \(\mathcal{L}_{\text{visual-hull}}\):交叉熵损失,用多视角mask生成的占据标签监督
- \(\mathcal{L}_{\text{consistency}}\):跨视角一致性损失,最小化同一3D点在不同视角输入下的预测差异
- \(\mathcal{L}_{\text{adv}}\):LSGAN形式的对抗损失,判别器区分ObMan真实形状切片和预测形状切片
训练设置:先在ObMan预训练,然后联合训练ObMan:VISOR=1:2的比例,batch=64,lr=1e-5,4×A40 GPU,\(\lambda_v=\lambda_c=1\),\(\lambda_f=\lambda_d=0.25\),\(\mathcal{F}\)和\(\mathcal{D}\)交替训练(\(\mathcal{F}\)训2步/\(\mathcal{D}\)训1步)。
实验关键数据¶
| 数据集 | 方法 | F@5↑ | F@10↑ | CD(mm)↓ |
|---|---|---|---|---|
| MOW (物体泛化) | AC-OCC (ObMan 3D) | 0.095 | 0.179 | 8.69 |
| MOW (物体泛化) | AC-SDF (ObMan 3D) | 0.108 | 0.199 | 7.82 |
| MOW (物体泛化) | AC-SDF (ObMan+HO3D+HOI4D 3D) | 0.095 | 0.193 | 7.43 |
| MOW (物体泛化) | DDFHO | 0.094 | 0.166 | 3.06 |
| MOW (物体泛化) | HORSE (Ours) | 0.121 | 0.220 | 6.76 |
| HO3D (物体泛化) | AC-SDF (ObMan) | 0.17 | 0.33 | 3.72 |
| HO3D (物体泛化) | HORSE (Ours) | 0.20 | 0.35 | 3.39 |
| HO3D (视角泛化) | GF (HO3D 3D) | 0.12 | 0.24 | 4.96 |
| HO3D (视角泛化) | HORSE (Ours) | 0.23 | 0.43 | 1.41 |
消融实验要点¶
- 损失函数贡献:\(\mathcal{L}_{\text{visual-hull}}\)是最关键的(单独使用从0.095→0.111 F@5),\(\mathcal{L}_{\text{consistency}}\)单独效果有限但与visual hull组合后提升明显(0.117),\(\mathcal{L}_{\text{shape-prior}}\)在此基础上继续提升(0.121)
- 2D切片 vs 3D体素判别器:2D切片(F@5=0.121)优于所有3D体素分辨率(10³→32³,F@5从0.120→0.104),3D采样越密反而越差,因为大量点在物体外
- 采样策略:拒绝采样(0.117)远优于均匀采样(0.093);加入手部mask负样本(0.117 vs 0.113)有帮助
- 手部姿态过滤:自动过滤低质量姿态很关键(过滤后0.213→0.234 F@5),使用GT手部姿态仅小幅提升(0.243)
- Occupancy vs SDF:弱监督场景下occupancy比SDF更稳定(SDF回归连续值在弱监督下不稳定)
- 增加3D监督数据反而掉点:AC-SDF加入HO3D/HOI4D的3D标注后MOW泛化性能下降,因为这些数据集物体种类太少导致过拟合
亮点¶
- 手部姿态作为物体姿态代理是非常巧妙的洞察——利用刚性抓取的假设,将SfM失败场景(物体特征点少)转化为已解决问题(手部姿态估计),简单但有效
- 2D切片判别器避免了3D体素判别器的计算开销和采样不平衡问题,同时通过随机旋转切面获得了更好的细粒度形状判别能力
- 证明了一个反直觉的结论:增加有限的实验室3D标注数据不如增加多样性更高的弱监督野外数据,144类对<20类的多样性优势压倒了监督质量的劣势
- 整个流程不需要任何真实世界3D标注,大幅降低了数据收集门槛
局限与展望¶
- 手部姿态不准确时采样点无法覆盖整个物体,导致部分区域缺失——未来可联合优化手部姿态和物体形状
- 野外视频通常不提供360°视角,visual hull只能覆盖可见角度,对背面重建依赖形状先验
- 刚性假设限制了适用范围:柔性物体(如毛巾、面团)或手内操作(in-hand manipulation)场景不适用
- 形状先验来自ObMan的合成物体集,可能对特殊形状物体的先验不够——可以用更大规模的3D数据集(如Objaverse)
- 测试时仍依赖FrankMocap准确估计手部姿态和相机参数
与相关工作的对比¶
- vs AC-SDF [Ye et al. CVPR 2022]: AC-SDF用配对3D监督训练SDF网络,HORSE改为occupancy + 间接2D监督。HORSE在物体泛化上全面优于AC-SDF(即使AC-SDF用了更多3D标注数据集),关键差异在于训练数据的多样性而非监督精度。
- vs DDFHO [Zhang et al. NeurIPS 2023]: DDFHO在CD指标上优于HORSE(3.06 vs 6.76),但F-score低(0.094 vs 0.121)。DDFHO用条件方向距离场,重建精度更集中但覆盖率不足。
- vs HO/GF [Hasson/Karunratanakul]: 这些方法用全3D监督在HO3D上训练,但HORSE无需HO3D的3D标注就超越它们,得益于更强的特征表示(pixel-aligned + 手关节特征)和更多样化的训练数据。
启发与关联¶
- 2D切片判别器的思路可推广到其他需要3D形状先验的场景(如NeRF正则化、3DGS形状约束)
- "手部姿态作为物体姿态代理"的核心思想可扩展到其他human-object interaction场景,如全身姿态估计中利用身体姿态推断接触物体的位置。
评分¶
- 新颖性: ⭐⭐⭐⭐ 手部姿态代理+2D切片判别器是巧妙的工程创新,但核心思想(visual hull + GAN先验)并非全新
- 实验充分度: ⭐⭐⭐⭐ 消融实验全面覆盖了各设计选择,多个评估设置(物体泛化/视角泛化)令人信服
- 写作质量: ⭐⭐⭐⭐ 逻辑清晰,动机阐述充分,图示直观
- 价值: ⭐⭐⭐⭐ 为弱监督手持物体重建提供了实用框架,但CD指标上不如DDFHO,实际部署仍依赖手部姿态估计器精度