引言
在增强现实 (AR)、虚拟现实 (VR) 和机器人技术飞速发展的世界中,理解人类的运动至关重要。当相机固定在三脚架上静止不动时,我们在追踪身体和手部方面已经做得相当不错了。但现实世界是动态的。在自我中心 (Egocentric) 场景中——比如佩戴智能眼镜或 GoPro——相机是随你移动的。
这这就产生了一种混乱的运动混合。如果视频中的手看起来向左移动,实际上是手真的在向左移,还是用户的头向右转了?
将手部的运动与相机的运动解耦是计算机视觉中的一个巨大挑战。大多数现有方法通过假设相机静止或完全忽略手部的全局位置来简化问题。这导致了“深度模糊 (depth ambiguity) ”,即系统失去了对手部距离远近的感知,从而产生抖动且不真实的动画。
Dyn-HaMR 应运而生。

如上图所示,Dyn-HaMR (Dynamic Hand Mesh Recovery,动态手部网格恢复) 是一种新方法,旨在从移动相机拍摄的单目视频中恢复4D 全局手部运动 (3D 形状 + 时间) 。通过结合同步定位与建图 (SLAM) 和先进的运动先验,它有效地将相机的轨迹与手部复杂的交互分离开来。
在这篇文章中,我们将拆解 Dyn-HaMR 的流程,探索它如何将混乱的移动相机镜头转化为平滑的、基于真实世界坐标的 3D 手部重建。
背景: 动态重建的挑战
在深入探讨该方法之前,我们需要了解为什么这项任务对标准算法来说如此困难。
1. 深度模糊与弱透视
大多数单相机 (单目) 重建方法使用“弱透视”相机模型。它们估计的是手部相对于相机坐标系的姿态,但往往难以确定手在 3D 世界中的确切位置。由于缺乏深度参考,靠近相机的小手看起来与远处的大手一模一样。
2. 运动纠缠
在自我中心视频中,像素运动是两个因素的总和:
- 物体运动: 手在空间中的移动。
- 自我运动 (Ego-Motion) : 相机在空间中的移动。
如果不了解相机的路径,算法就无法准确重建手部的全局轨迹 (它在现实世界中的路径) 。
3. 遮挡与交互
手是非常灵活的。手指会相互交叉,双手会进行交互 (双手交互) 。在这些交互过程中,手指会从视野中消失 (遮挡) ,导致标准追踪器失效或产生物理上不可能的形状,例如手指互相穿模。
Dyn-HaMR 流程
研究人员提出了一个三阶段的优化流程来解决这些问题。目标是接收输入视频并输出一个全局轨迹,其中手和相机都正确地定位于世界坐标系中。

第一阶段: 初始化与生成式补全
第一步是获取手部姿态的“初稿”。系统接收输入视频并应用最先进的 2D 和 3D 追踪器 (具体使用了 ViTPose 和 HaMeR 等工具) 。
然而,原始追踪数据通常充满噪声。快速移动会导致运动模糊,交互会导致遮挡,从而造成检测丢失。如果追踪器丢失了几帧手部数据,生成的动画就会出现断裂和故障。
为了解决这个问题,Dyn-HaMR 使用了 生成式补全 (Generative Infilling) 。 研究人员利用 手部运动先验 (Hand Motion Prior, HMP) ——一个在有效手部运动数据上训练的机器学习模型。如果追踪器在几帧内丢失了手部视野,生成模型会“构想 (hallucinates) ”出一个合理的运动来填补空白,确保序列在时间上是平滑的。
在这个阶段,我们得到了一系列手部姿态,但它们是相对于相机的,而不是相对于世界的。
第二阶段: 4D 全局运动优化
这是发生解耦的核心创新点。目标是计算出每一帧的 世界到相机 (World-to-Camera) 变换 (\(\bm{C}_t\))。
集成 SLAM
系统使用 DPVO (Deep Patch Visual Odometry) , 一个鲁棒的 SLAM 系统,来估计相机的运动。SLAM 通过观察静态背景元素来弄清楚相机是如何在空间中移动的。
尺度问题
SLAM 系统非常擅长确定相机路径的形状,但它们存在“尺度模糊”。SLAM 可能会告诉你向前移动了“10 个单位”,但它不知道这“1 个单位”是毫米还是米。然而,手部重建模型是在公制尺度 (毫米) 下工作的。
为了弥合这一差距,Dyn-HaMR 优化了一个 世界尺度因子 (\(\omega\))。这个变量会对 SLAM 轨迹进行缩放,使其与手部的物理尺寸相匹配。
世界坐标 (\(^w\)) 和相机坐标 (\(^c\)) 之间的关系定义为:

这里,\(\mathbf{R}\) 是旋转,\(\tau\) 是源自 SLAM 的平移。项 \(\omega\) 缩放相机的平移以匹配手部的世界坐标。
优化目标
系统通过最小化总能量函数 (\(E_I\)) 来求解全局轨迹:

让我们分解这个方程中的关键项:
- \(\mathcal{L}_{2d}\) (重投影损失): 确保当我们把 3D 手部投影回 2D 图像时,它与视频像素相匹配。
- \(\mathcal{L}_{smooth}\): 确保手部不会在帧之间抖动或瞬移。
- \(\mathcal{L}_{cam}\): 保持相机轨迹与 SLAM 预测一致。
重投影逻辑如下图所示,其中 3D 关键点被映射到 2D 图像坐标:

通过最小化这种能量,系统有效地将手部锁定在 3D 世界中的正确位置,并与相机的移动保持一致。
第三阶段: 交互优化
在第二阶段之后,我们有了一个不错的全局轨迹,但手部看起来可能仍然有些不自然。手指可能会交叉,或者关节可能会以不可能的角度弯曲。第三阶段使用生物学和物理约束来改进交互。

如上图 3 所示,如果没有这个阶段,我们可能会看到手指互相穿插 (上方路径) 。经过优化 (下方路径) ,手部在物理上变得合理了。
目标函数
改进过程最小化了一个新的能量函数 (\(E_{II}\)):

这包括三个关键的新项:
1. 先验损失 (\(\mathcal{L}_{prior}\)): 这强制运动保持“可能性”,依据是学习到的手部运动先验 (HMP) 。它会对神经网络认为不自然的动作进行惩罚。

2. 生物力学损失 (\(\mathcal{L}_{bio}\)): 这强制执行解剖学规则。它可以防止骨骼拉伸 (骨骼长度一致性) ,并阻止关节弯曲超过其物理极限。

3. 穿透损失 (\(\mathcal{L}_{pen}\)): 这计算左手和右手网格之间的距离。如果一只手的顶点位于另一只手内部,这个损失就会增加,从而将双手推开,直到它们刚好接触。

实验与结果
研究人员在多个具有挑战性的数据集上验证了 Dyn-HaMR,包括 H2O (双手操作物体) 和 HOI4D (自我中心交互) 。他们将自己的方法与 HaMeR、ACR 和 IntagHand 等最先进 (SOTA) 的方法进行了比较。
定性结果
视觉比较最能清楚地说明差异。在下图中,请看 Dyn-HaMR (Ours) 和 HaMeR 之间的对比。

注意代表地面真值世界坐标系的方格地板。
- Dyn-HaMR (Ours): 手部是接地的 (grounded) 。轨迹平滑且连贯。
- HaMeR: 重建受到“重影 (ghosting) ” (显示抖动的多个半透明手部) 和深度位置错误的影响。因为 HaMeR 没有考虑相机运动,所以全局轨迹很混乱。
这种优势在全局轨迹图中进一步可见。在下方的图 6 中,HaMeR 的“原始 (Original) ”轨迹 (锯齿状、彩色的线条) 与地面真值 (GT) 相比非常不稳定。Dyn-HaMR 的轨迹则紧密跟随 GT 的平滑路径。

定量结果
数据支持了视觉效果。下表显示了在 H2O 数据集上的结果。

这里的关键指标是 G-MPJPE (全局平均关节位置误差) , 以毫米为单位。
- ACR: 113.6 毫米误差。
- HaMeR: 96.9 毫米误差。
- Dyn-HaMR (Ours): 45.6 毫米误差。
与领先的竞争对手相比,Dyn-HaMR 将全局定位误差减少了一半以上。 Acc Err (加速度误差) 也显著更低 (4.2 对比 9.21) ,表明运动更加平滑,抖动更少。
处理交互
该方法在双手接触或交叉的复杂交互场景中也表现出色。

在上图中,请注意网格 (蓝色和粉色) 如何处理双手的紧握,而没有明显的穿模问题,保持了准确的手腕和手指对齐。
下方的消融实验 (表 6) 证明了不同组件的必要性。移除生物力学约束 (w/o bio. const.) 或生成式补全 (w/o gen. infill.) 会导致准确性明显下降 (误差数值更高) 。

结论
Dyn-HaMR 代表了 3D 人类理解向前迈出的重要一步。通过认识到现实场景中的相机很少是静止的,作者构建了一个正面解决“运动纠缠”问题的系统。
主要收获:
- 解耦是关键: 如果不明确建模相机的运动 (SLAM) 以及相机与手部之间的尺度差异,就无法重建准确的世界空间运动。
- 先验至关重要: 在单目视频中,由于遮挡,数据经常丢失。使用学习到的先验 (HMP) 和生物学约束允许系统以物理上合理的方式填补空白。
- 优化行之有效: 虽然端到端神经网络很流行,但这篇论文展示了多阶段优化流程的力量,它融合了几何洞察 (SLAM) 与深度学习预测 (2D/3D 姿态) 。
这项技术对 VR 化身具有令人兴奋的意义,因为追踪用户的手部 (来自移动的头显相机) 是主要的输入方式,同时也适用于通过观看自我中心视频来训练机器人模仿人类的灵巧性。通过建立 4D 全局网格恢复的新基准,Dyn-HaMR 为真正的动态数字交互铺平了道路。
](https://deep-paper.org/en/paper/2412.12861/images/cover.png)