StableHand: Quality-Aware Flow Matching for World-Space Dual-Hand Motion Estimation from Egocentric Video
Introduction

Egocentric Video(第一人称视频)通常由佩戴在人头部的相机拍摄,是实现具身智能(Embodied AI)和机器人模仿学习(Imitation Learning)的重要数据来源。
为了完整理解这类视频中的操作意图并监督机器人策略学习,模型需要同时恢复:
- 世界空间下的 4D 手部运动(World-Space 4D Hand Motion);
- 手腕轨迹(用于追踪机器人的末端执行器);
- 手指关节姿态(用于指定精确的接触和抓取姿态)。
该任务被称为 World-Space Dual-Hand Motion Estimation。模型需要为视频中的每一帧恢复双手在统一全局坐标系下的三维平移和旋转姿态。
例如,在“使用剪刀”或“打开笔记本电脑”的双手交互视频中:
- 桌面和物体在全局坐标系中保持静止或遵循物理规律运动;
- 相机随人的头部发生剧烈移动,导致双手频繁离开视野;
- 双手与物体发生持续交互,导致单手或双手被严重且不对称地遮挡;
- 每个视频帧都对应一个全局三维手部状态。
该任务主要面临以下问题:
- 视野外丢失(Out-of-View):第一人称相机经常伴随快速旋转,双手经常长时间离开相机视野(Missing-hand spans)。
- 严重遮挡(Severe Occlusions):持续的手-物交互(Hand-Object Interactions)会导致不对称的严重遮挡,双手的观测质量差异巨大。
- 观测质量异质性(Heterogeneous Quality):现成的手部姿态估计器会产生大量噪声。手腕的全局漂移误差通常在十毫米级,而手指关节的误差在毫米级。现有方法通常统一地以带有噪声的观测作为条件,忽略了这种解剖学组件(手腕/手指)和左右手之间的尺度差异。
- 缺乏时序先验:基于 SLAM 的管线直接将相机坐标系下的手部姿态通过 SLAM 位姿转换到世界坐标系,在长时缺失手部的情况下会发生灾难性的轨迹漂移。
现有生成式或序列级方法通常统一地依赖视觉特征,而没有显式地考虑每一帧、每一个解剖学组件的观测可靠性。
本文提出 StableHand,这是一个质量感知(Quality-Aware) 的 Flow-Matching 框架,用于从第一人称视频中合成世界空间的双手 4D 运动。
核心思想:
- 核心洞察:精确的世界空间手部运动估计,与每一帧手部观测的质量紧密耦合。高质量的通道应当被保留,低质量的通道应当被重建。
- 质量通道分解:将手部观测分解为四个独立的质量通道(左手手腕、左手手指、右手手腕、右手手指)。
- 质量网络预测:训练一个专门的质量网络,从观测参数、置信度 flag 和相机位姿中预测物理误差,并转换为质量信号。
- 质量感知的 Flow-Matching:通过逐通道前向调度、质量调整的速度目标、DiT 的 AdaLN 调制以及感知质量的 ODE 初始化,将质量信号自然融入生成过程。
- 统一生成:保留高质量的观测,同时利用学习到的双手运动先验(Bimanual Motion Prior)重建不可靠的观测。
- 合成扰动分类学(Synthetic Perturbation Taxonomy):设计了 5 种数据增强策略,模拟上游估计器的各种失败模式,强制模型在低质量区域学习先验。
StableHand 在 HOT3D 和 ARCTIC 两个第一人称基准上进行了评测,在所有报告指标上取得 SOTA,将 W-MPJPE 降低了 20%~25%。(存疑)
Method

Problem Definition
给定长度为 的第一人称视频 ,目标是恢复世界空间下双手的 4D 运动 。
每一帧单手状态定义为 ,包含世界坐标系下的 3D 手腕平移 、6D 手腕旋转 以及 45 维的 MANO 手指轴角姿态 。
现成的冻结手部估计器(如 WiLoR)提供相机坐标系下的观测 ,冻结的几何模型(如 DA3)提供相机位姿 。通过相机位姿将观测刚性变换到世界坐标系得到 。
Adaptive Quality Signal (自适应质量信号)
StableHand 定义了四个独立的质量通道 。这样做的目的是为了解耦手腕全局漂移(十毫米级)和手指关节误差(毫米级),以及处理双手遮挡的不对称性。
误差定义
手腕误差 结合了平移误差和旋转误差(乘以标准 MANO 手掌半径 mm);手指误差 在真实手腕坐标系下计算,从而隔离了手腕旋转带来的误差:
自适应缩放
为了确保不同数据集中最差的 20% 帧都能落入低质量区域 (),缩放 根据第 80 百分位数的误差自适应计算:
Quality Network (质量网络)
由于真实质量信号在推理时不可用,StableHand 训练了一个质量网络来预测物理误差 (mm),然后通过上述公式转换为 。直接预测物理误差可以跨越不同数据集的 差异进行统一训练。
架构设计
输入包含世界空间 MANO 观测 、二元置信度 flag 和相机位姿 。
- 引入可学习的
[geo]token 聚合轨迹级上下文。 - 使用带 RoPE 的时序自注意力编码器。
- 刻意排除冻结手部估计器的视觉特征 。消融实验证明,1280 维的 ViT 特征会增加输入冗余,在多数据集预训练时依赖特定数据集的特征,反而降低泛化能力。
训练损失
损失函数包含两部分:
- 对数空间 MSE 损失 ():监督误差的幅度。
- 1D Wasserstein-1 距离 ():对齐预测误差和真实误差的经验累积分布函数(CDF)。
单纯的 MSE 会使得预测分布向均值收缩,导致部署时的 校准失败。Wasserstein 损失提供了分布级别的对齐信号,确保部署时的质量分布形状与训练时一致。
Quality-Aware Hand Motion Generation (质量感知的手部运动生成)
StableHand 设计了一个条件 Flow-Matching DiT 网络。
Per-channel Forward Schedule (逐通道前向调度)
标准 Flow Matching 使用统一的标量噪声调度。StableHand 将其替换为质量驱动的逐通道调度:
- 当 (高质量)时,,速度目标 ,通道被冻结在观测值 。
- 当 (低质量)时,退化为标准 Flow Matching,从噪声中生成。
这使得单一的生成过程能够同时实现“锚定可靠观测”和“从先验重建不可靠观测”。
Training Objective (训练目标)
- Flow Matching Loss ():回归质量调整后的速度目标。
- Smoothness Loss ():二阶时序平滑正则化,抑制从噪声生成的通道的帧间抖动。
- Wrist Loss ():辅助手腕平移损失,平衡 3D 手腕和 45D 手指的维度差异。
Denoiser Architecture (去噪器架构)
使用 DiT (Diffusion Transformer),每帧 4 个 token。通过 AdaLN 调制,将时间步 和质量信号 注入网络:,使缩放比例与通道质量结构匹配。
Quality-Aware Inference Initialization (质量感知推理初始化)
推理时求解确定性 ODE 。起点初始化为:
这确保了高质量通道从观测附近开始,低质量通道从纯噪声开始,完美匹配训练时的前向过程。
Synthetic Perturbation Taxonomy (人工仿扰动数据)
为了让模型在低质量区域 () 充分学习先验,论文设计了 5 种数据增强策略,模拟上游估计器的失败模式:
- Gaussian noise:添加高斯噪声,模拟纹理背景下的回归噪声。
- Depth scaling:缩放腕部平移,模拟单目几何估计器的深度问题。
- Wrist-rotation jitter:添加手腕旋转抖动,模拟快速头部旋转下的追踪器混淆。
- Finger lock-in:在连续窗口内将手指姿态置零,模拟遮挡抓取时的关节失效。
- Per-hand dropout:在连续窗口内丢弃整只手,模拟手部长时间离开视野。
Experiment
Datasets and Metrics
- HOT3D:包含频繁的手部出视野和手-物遮挡,相机运动剧烈。
- ARCTIC:专注于双手操作铰接物体(如剪刀、笔记本),包含极其严重的持续手-物遮挡。
- 指标:PA-MPJPE(姿态对齐误差), W-MPJPE(世界空间轨迹漂移误差), WA-MPJPE, AccEr(加速度误差)。ARCTIC 额外报告 MRRPE(双手相对空间一致性)。
实验结果(定义不一致)
| 方法 | 类型 | PA-MPJPE | W-MPJPE | WA-MPJPE | AccEr |
|---|---|---|---|---|---|
| HaMeR-SLAM | SLAM-based | 9.07 | 295.32 | 73.90 | 13.81 |
| WiLoR-SLAM | SLAM-based | 8.60 | 171.24 | 54.34 | 12.30 |
| Dyn-HaMR | Native World | 8.64 | 86.78 | 40.47 | 5.46 |
| HaWoR | Native World | 8.65 | 71.89 | 30.20 | 7.80 |
| StableHand | Ours | 4.02 | 57.83 | 21.02 | 3.83 |
表 1:HOT3D 数据集上的世界空间手部运动估计结果 (mm)。
- 整体性能:StableHand 在所有指标上均取得最优。与最强开源基线 HaWoR 相比,W-MPJPE 降低了约 20%。
- SLAM 基线的失败:基于 SLAM 的方法(如 WiLoR-SLAM)由于缺乏时序先验,在长时缺失手部时发生灾难性漂移(W-MPJPE 高达 171.24 mm)。
- ARCTIC 结果:在包含严重双手遮挡的 ARCTIC 数据集上,StableHand 同样取得全指标 SOTA,W-MPJPE 降低 20%~25%,MRRPE 显著优于基线,证明了双手相对空间关系恢复的准确性。
消融实验
质量网络设计
- Wasserstein 损失:移除 会导致预测误差分布与真实分布不对齐,部署时的 校准失败,操作指标(gap-closed)从 98.5% 暴跌至 91.7%。
- 视觉特征排除:加入上游视觉特征 反而增加了输入冗余,跨语料库 Spearman 相关系数 下降 0.037,验证集误差 MAE 翻倍。
- 多数据集预训练:在 8 个数据集(1000万帧)上预训练的质量网络,其零样本泛化能力(如在 ARCTIC 上的 )远超仅在单一数据集上训练的模型。
ODE 步数扫描
在 2 到 50 步之间扫描 Euler ODE 步数:
- W-MPJPE 变化很小(< 9%)。
- AccEr(平滑度)在 20 步时基本收敛(从 13.97 降至 3.53 )。
- 最终选择 20 步 作为部署默认值,兼顾精度与平滑度。
缩放 的消融
W-MPJPE 随着固定 的增大而单调退化。较大的 会抹平高质量与低质量帧之间的对比度,使得逐通道前向调度失去梯度指引。自适应 能够根据数据集特性动态调整,取得最佳平衡。
Inference Efficiency (推理效率)
| 方法 | 每 Clip 耗时 (s) | 峰值显存 (GB) |
|---|---|---|
| Dyn-HaMR | 347.84 | 9.82 |
| HaWoR | 28.45 | 14.56 |
| StableHand | 27.29 | 10.32 |
StableHand 是前馈生成模型,无需逐 Clip 的优化循环。其核心 Flow-Matching 求解(20步 DiT)仅需 0.23 秒,质量网络推理 <0.01 秒,两者合计占总耗时不到 1%。主要瓶颈在于上游的 WiLoR 估计器和 DA3 几何模型。
Failure Cases & Zero-Shot Inference
- Failure Cases:当双手同时长时间离开视野,或者被物体完全遮挡导致双手质量通道同时降为 0 时,模型只能完全依赖先验生成“看似合理但错误”的轨迹。这揭示了当上游视觉流无法提供任何锚点时,纯生成模型的物理局限性。
- Zero-Shot In-the-Wild:在未经训练的 HD-EPIC 数据集(包含昏暗走廊、陌生室内场景)上进行零样本推理,StableHand 依然能恢复出空间连贯的世界空间双手轨迹,证明了质量感知条件机制的强大泛化能力。
Conclusion
StableHand 提出了一种全新的视角来解决第一人称视频中双手 4D 运动估计的难题。通过显式地建模观测质量的异质性(解耦手腕/手指、左手/右手),并将质量信号深度融入 Flow-Matching 框架,模型能够在“信任观测”和“依赖先验”之间找到完美的平衡。结合创新的 Wasserstein 分布对齐损失和合成扰动策略,StableHand 为未来的具身智能和机器人模仿学习提供了更加精准、鲁棒的世界空间手部动作监督信号。