
# 视频扩散模型在手部运动重建中的惊人效果

王宇希 $^{1*}$、金承凯 $^{1*}$、刘宇飞 $^{2}$、欧阳文琪 $^{1}$、魏天一 $^{1}$、曾志伟 $^{1}$、黄思远 $^{2}$、沈志奇 $^{1,\dagger}$、潘星航 $^{1,\dagger}$

 $^{1}$南洋理工大学 $^{2}$上海交通大学

![Image](images/a9c6be084b9dcd10cd53e2338b4769c26c4dc96a44592ad9dccefc64f46e0a05.jpg)

![Image](images/d924f96ff44078654b1a7824832ced7ddefcc04d933ae115cbc4cc8de40486f7.jpg)

<div style="text-align: center;">Figure 1: ViDiHand satisfies all three target properties of 4D hand recovery. On the same egocentric input clip, the per-image baseline WiLoR [^19] is sensitive to detection dropouts and suffers from frame-wise pose flicker; the temporal baseline OmniHands [^14] reduces flicker through cross-frame attention but still struggles under heavy occlusion and large hand-object motion. ViDiHand extracts features from a hand-aware video diffusion model and recovers a coherent and accurate 4D trajectory for both hands, with stable identity and smooth motion through occlusion.</div>

## 摘要

从第一人称视角视频中重建4D手部运动面临两大瓶颈：基于图像的流程依赖检测器，而该检测器在严重遮挡情况下会失效；基于视频的方法则依赖仅从稀缺的手部姿态标注数据中学习到的时序模块，这类数据过于局限，无法建模运动、遮挡以及手与物体的交互。然而，视频生成模型恰恰需要隐式掌握这些知识，才能在互联网规模上合成连贯的视频。受此启发，我们提出了ViDiHand，它利用预训练视频扩散模型的表征来重建双手的4D姿态。我们通过手部叠加渲染目标对其进行调整，使其特征更适配手部数据，同时保留其世界先验知识。随后，解码器会从调整后的特征中恢复出具有度量尺度的姿态。该流程可直接作用于完整帧——无需检测器、无需填充器，也无需测试时优化。在ARCTIC、HOT3D和HOI4D数据集上，ViDiHand在大多数指标上的表现都显著优于现有方法，从而证明视频扩散模型是手部运动重建的强大新基石，也是为具身智能收集大规模自然场景数据的有效途径。项目页面：<https://vidihand.github.io>。

---

## 1 引言

从第一人称视角视频中重建4D手部运动是一项长期存在的挑战，尤其是考虑到现实世界人类活动中普遍存在遮挡现象。随着具身智能的兴起，对解决这一问题的需求日益迫切——第一人称视角视频为机器人学习提供了天然且可扩展的数据来源。近期的研究通过大量第一人称人类视频进行预训练，以实现灵巧操作[^35] [^12] [^9] [^29]，其中手部/腕部轨迹可作为模仿学习和策略学习的关键监督信息。因此，重建出的手部运动质量直接决定了基于大规模第一人称视频的策略学习效果，而这类数据中的密集标签往往十分稀缺。

然而，现有的手部恢复方法在处理交互复杂、遮挡严重的视频时表现不佳。基于图像的方法[^18] [^19] [^3] [^20] [^16]以图像预训练骨干网络为基础，依赖上游检测器来独立重建每一帧。在严重遮挡情况下，检测失败会直接导致重建失败。基于视频的方法试图通过两种方式解决这一问题，但两者都依赖从稀缺的手部标注数据中学习到的先验知识。一类方法[^31] [^6] [^14]在图像预训练骨干网络上添加跨帧注意力机制，但仅采用有限的手部姿态监督——这类数据过于局限，无法从零开始学习运动、遮挡和交互的动态规律。另一类方法[^4] [^32] [^34]引入了基于3D手部轨迹训练的习得运动先验或填充器，但这些方法脱离了周围场景和正在进行的交互，因此仍难以应对遮挡问题。这些局限性要求我们采用超越仅基于图像或仅基于手部数据的先验表征，转而捕捉手部所处视觉世界的底层几何结构、运动和交互信息。

事实上，这类表征在大规模视频生成模型中正变得越来越普遍。这些模型经过训练，能够在互联网规模上合成时间上和几何上连贯的视频，因此必须隐式地解决与4D手部重建相同的结构挑战：时空一致性、从2D观测中恢复3D几何信息，以及对遮挡内容的推理。已有研究表明，生成模型的内部特征能够支持多种视觉任务，包括点跟踪[^23]、密集预测[^7]以及3D场景感知[^10]。然而据我们所知，此前尚无研究利用这种丰富的先验知识来进行4D手部重建。

我们提出了ViDiHand，这是首个利用预训练的视频扩散模型从第一人称视频中重建4D双手运动的方法。我们没有将生成模型视为固定的特征提取器，而是通过手叠加渲染任务对其进行调整——该任务会将手部网格渲染到原始帧上。通过仅编辑手部区域同时重建场景的其余部分，这种调整能够引导模型的表征向手部感知的重建方向演进，同时保留其已有的先验知识。基于这些调整后的特征，双分支解码器会预测相对的3D手部关节运动以及各关节在2D图像平面上的位置，二者的结合能够将手部定位到实际尺寸尺度上。该流程可直接作用于完整视频帧，无需上游手部检测器、运动填充模块或测试时优化。

ViDiHand的性能优于以往的方法，在最具挑战性的手部重建基准测试中创造了新的最佳水平。在遮挡严重的ARCTIC [^5] 序列（图1）上，我们的方法实现了近乎完美的手部检测准确率。无需任何运动填充或测试时优化，ViDiHand生成的手部动作仍比以往所有方法都要平滑得多。在HOT3D的[^1] 广角鱼眼视频以及跨数据集HOI4D [^15] 基准测试中，ViDiHand在大多数指标上也均名列前茅。这些进步主要归功于视频生成先验——它首次将互联网规模的遮挡、时间连贯性和几何知识引入手部恢复任务中。我们认为这是4D手部重建领域范式转变的早期迹象：从依赖专门模块修补的以手部为中心的流程，转向借鉴于社区快速发展的强大生成模型的表征方式。

## 总结来说，我们的贡献如下：

- 手部运动重建的新范式。据我们所知，我们提出了首个利用预训练视频扩散模型从第一人称视频中重建4D双手运动的方法。该方法能够从蕴含手部、被操纵物体及场景丰富结构信息的内部表征中解码出高质量的手部运动。

- 手叠加渲染作为适配目标。我们发现手叠加渲染是调整视频扩散模型以适应手部重建的有效编辑目标，既能让模型的特征专门针对手部进行优化，又能保留其对世界的先验认知。

---

• 顶尖的性能表现。ViDiHand在几乎所有指标上均排名第一：它将检测误差率降低了高达$27\times$，预测抖动减少了至少$4\times$；根据我们的覆盖度感知协议，它将2D端点误差降低了高达$4\times$，且在三个基准测试中的3D姿态精度均居首位。这些结果展现了视频扩散模型在手部重建及具身智能领域可扩展数据收集方面的巨大潜力。

## 2 相关工作

单目手部重建。单目手部重建能够从RGB输入中恢复手部的3D姿态和形状，通常通过MANO [^21]模型进行参数化描述。基于图像的方法从单帧图像中估计手部参数：HaMeR [^18]证明，在异构的3D和2D关键点数据集上训练的基于ViT的回归器能显著提升对自然场景中数据的泛化能力。WiLoR [^19]在此基础上进一步扩展，采用在数百万张图像上训练的实时检测器-重建器耦合模型。Hamba [^3]用基于图的双向Mamba扫描机制取代了密集的ViT注意力机制，从而在减少标记数量的同时提升鲁棒性。WildHands [^20]通过考虑相机内参的位置编码来解决中心透视畸变问题，而InterWild [^16]则专注于双手交互场景。基于视频的方法试图通过各种时序建模手段来解决逐帧估计器带来的时序抖动、深度模糊以及检测失败等问题。一类研究引入了跨帧注意力层，在骨干网络层面融合相邻帧中的手部特征 [^31] [^14] [^6]。另一类研究则学习基于3D手部轨迹的生成式运动先验：HMP [^4]在测试时优化过程中拟合此类先验，Dyn-HaMR [^32]将其与基于SLAM的相机估计相结合，而HaWoR [^34]则将其用作前馈填充器。在所有这些方法中，重建流程仍然以图像为基础或以手部为中心，缺乏能够区分严重遮挡情况下手部姿态的场景、物体及交互上下文的共享表示。

视频扩散模型与扩散特征。视频扩散模型已从早期的像素空间VDM [^8]和潜空间SVD [^2]设计，迅速发展为包括CogVideoX [^30]和Wan系列 [^26]在内的大规模文本生成视频Transformer模型；如今它们已能在十亿参数级别、互联网规模下生成时序和几何上高度连贯的视频。与此同时，另一类研究致力于为这些模型添加可控生成功能：VACE [^11]为Wan2.1增加了统一的条件路径，支持图像修复、编辑以及基于参考的合成；而针对具身应用的任务特定系统则利用手部与身体线索来约束视频生成 [^27] [^28]。除了生成功能外，扩散模型的内部表征已被证明是强大的视觉先验。在图像领域，图像扩散模型已通过多种方式被应用于感知任务：Marigold [^13]将Stable Diffusion微调为深度预测器，Vision Banana [^7]把密集预测重新定义为图像生成任务，而DIFT [^24]则提取冻结的扩散特征用于语义对应计算。视频扩散特征更是将这一特性发扬光大：系统性对比表明，为视频训练的同种架构在空间和运动敏感任务上的表现始终优于为图像训练的对应模型 [^25]。基于此，近期研究分析了视频扩散Transformer如何在其注意力层中建立跨帧对应关系，并利用这些关系实现零样本点跟踪 [^33] [^17]、基于扩散特征骨干的监督跟踪 [^23]以及3D场景感知 [^10]。然而，此前尚无研究将视频扩散先验应用于手部重建。

## 3 方法

### 3.1 概述

我们的核心发现是：那些被训练用于生成涵盖各种真实场景的连贯视频的大规模视频扩散模型，其内部必须解决与4D手部恢复长期以来依赖外部模块解决的相同三个难题：即透过遮挡物生成内容、在连续帧中保持稳定的身份和空间位置，以及产生平滑的运动。ViDiHand能够直接从这种内部表征中，为双手提取每一帧的MANO参数和相机位移信息，且无需使用检测器、填充器或进行测试时优化，甚至能在完整帧上直接实现。

我们分两个阶段实现这一目标。首先，通过手部叠加渲染预训练任务来微调预训练的Wan2.1-VACE模型中仅VACE分支的部分[^11] [^26]，从而让该模型的世界先验专门适配手部特征，同时保留其对场景、物体及交互的先验知识（$\S$3.2）。随后，双分支解码器会从得到的表征中恢复出关节化的MANO姿态和图像空间坐标，这一过程通过闭式几何求解来实现（$\S$3.3）。$\S$3.4介绍了训练目标；图2则概括了整个流程。

---

![Image](images/d28940925240af29cf8635d8df44b234b8394fb6cff1a5c7cb2bf8f434bea571.jpg)

<div style="text-align: center;">Figure 2: ViDiHand pipeline. Top: the VACE branch is finetuned with hand-overlay rendering while the base DiT is frozen, producing a hand-aware video diffusion model. Middle: the dual-branch decoder reads from a single  $L^{*}=15$,  $\tau_{k}\approx0.7$ activation: a hand-token branch produces slot-aware summaries for articulated MANO pose, a parallel joint-heatmap branch produces 2D anchors and pooled descriptors for in-plane coordinates, mutual cross-attention couples them, and a mixed-projection head outputs MANO and depth while solving the in-plane translation in closed form against the heatmap. Bottom: at inference, the same activation is decoded in one VACE pass.</div>

### 3.2 感知手部的视频扩散模型

预训练的Wan2.1-VACE模型已经具备我们所需的先验知识，但这些知识与它对视觉世界的其他认知相互交织。因此，适配过程必须让表征与MANO手部几何结构绑定，同时保留其对场景、物体及运动的先验知识。

手部叠加渲染：我们仅对VACE分支进行监督，保持基础DiT模块冻结，让模型重新生成输入视频片段——在每个帧上，包括手部被物体完全遮挡的帧，都叠加半透明的渲染手部图层并采用Alpha混合处理。训练目标是常规的流匹配损失；此阶段不施加MANO参数的监督。我们采用两阶段课程学习策略：阶段1a渲染2D关节骨骼图层，让模型接触到MANO标注数据中不存在的以自我为中心的手部-物体运动模式；阶段1b则切换为MANO网格图层，使表征与解码器所需的MANO表面相匹配。通过强制模型在遮挡帧中生成连贯的图层，能促使模型维持每只手的3D状态，而非仅仅填充可见像素；只有VACE分支会被更新，基础DiT及其世界先验则保持不变（见表4）。

---

特征提取：与姿态相关的信号并非均匀分布在DiT层和去噪步骤中。在拥有13亿参数的Wan2.1-VACE模型的30个Transformer块中，第$L^*=15$层的激活状态既保留了足够的空间分辨率来定位关节，又具备足够的抽象程度来确定关节化姿态。沿着去噪轴，我们在$\tau_k \approx 0.7$处提取特征，其中$\tau_k$表示归一化的去噪步骤，范围从$\tau=0$（纯噪声）到$\tau=1$（完全去噪）；在此步骤中，潜变量尚未确定渲染图层的外观。提取到的特征$\mathbf{F} = \{F_\ell\}_{l=1}^{N_{lat}}$由每个81帧视频片段在DiT空间网格上的$N_{lat}=21$个潜变量帧激活值$F_\ell$组成。第3.3节中的解码器仅基于$\mathbf{F}$进行训练，无需通过扩散模型主干反向传播；这种选择$(L^\star, \tau_k)$已通过实验验证（见表2、表3）。

### 3.3 双分支手部解码器

具备手部感知能力的骨干网络会将其激活状态中隐含的每只手的三维状态存储起来，而要提取这些信息则需要一个能够适应两种结构迥异的表示方式的解码器。关节化的MANO姿态是手部的整体属性：任何一个关节的角度只有在考虑手部其余部分的情况下才能确定。相比之下，图像空间中的关节坐标则是局部的：每个关节都位于空间令牌网格上的某个位置，且与其他关节相互独立。若用单一回归器将两者压缩成一个令牌，就会混淆这两种结构不同的信息。因此，我们采用了两个并行分支：一个专门用于关节化姿态的手部令牌分支，另一个专门用于图像坐标的关节热图分支，并通过一个相互交叉注意力层将它们连接起来；混合投影头则将相机平移分解为回归得到的深度值和闭式求解的平面内位移（见图2中间部分）。

时空令牌化。每个特征$F_{\ell}$通过可学习的矩阵$W_{F}$投影为宽度为h的解码器特征，再添加三个可叠加的位置编码，从而生成时空令牌$X_{\ell}$。

 $$ \begin{array}{r}{X_{\ell}=\mathrm{L N}(F_{\ell}W_{F}^{\top})+P^{\mathrm{s p}}+P_{\ell}^{\mathrm{t m p}}+g_{\mathrm{r a y}}\big(\Gamma(K)\big),}\end{array} $$

其中LN代表层归一化，$P_{\ell}^{\mathrm{sp}}$和$P_{\ell}^{\mathrm{tmp}}$是可学习的空间/时间嵌入，$\Gamma(K)$是根据每个剪辑的内参K计算得到的相机光线方位角与仰角的正弦编码，$g_{\mathrm{ray}}$是一个将其映射到令牌宽度的小型MLP。这种射线空间嵌入使得单个解码器无需针对特定数据集进行定制，就能处理不同类型的相机内参。

手部令牌分支。两个可学习的槽查询通过堆叠的Transformer解码器层与$X_\ell$进行交叉注意力计算，生成$Q_\ell^{\text{hand}} \in \mathbb{R}^{2 \times h}$；查询行的设定固定了槽的身份，因此无需额外的手性分类器。每个查询会整合整个手部的证据，以确定完整的三维配置，这与关节化姿态的整体结构相匹配。

关节热图分支。一个$1\times1$卷积头将令牌$X_\ell$映射为各关节的逻辑图$\mathcal{H}_\ell$，再通过空间Softmax将其归一化为各关节的注意力权重$A_\ell$；这些权重会从令牌网格$\widehat{\mathbf{P}}_{\ell}^{\text{init}}$中提取出二维锚点$\mathbf{x}^{\text{grid}}$，并从令牌中得出聚合后的视觉描述符$Q_\ell^{\text{joint}}$。

 $$ A_{\ell}=\mathrm{s o f t m a x}(\mathcal{H}_{\ell}),\qquad\widehat{\mathbf{P}}_{\ell}^{\mathrm{i n i t}}=A_{\ell}\mathbf{x}^{\mathrm{g r i d}},\qquad Q_{\ell}^{\mathrm{j o i n t}}=A_{\ell}X_{\ell}. $$

每个关节坐标都直接锚定在扩散骨干网络用来组织视觉内容的空间令牌网格上，这与图像空间坐标的局部、逐关节特性相契合。

手部与关节的相互融合。这两个分支提供了互补的信息：手部令牌编码了每只手的关节化配置，而关节描述符则定位了图像中的每个关节。通过一个相互交叉注意力层，这些信息得以交换。

 $$ \begin{aligned}\widetilde{Q}_{\ell}^{\mathrm{h a n d}}&=\mathrm{L N}\big(Q_{\ell}^{\mathrm{h a n d}}+\mathrm{M H A}(Q_{\ell}^{\mathrm{h a n d}},Q_{\ell}^{\mathrm{j o i n t}},Q_{\ell}^{\mathrm{j o i n t}})\big),\\\widetilde{Q}_{\ell}^{\mathrm{j o i n t}}&=\mathrm{L N}\big(Q_{\ell}^{\mathrm{j o i n t}}+\mathrm{M H A}(Q_{\ell}^{\mathrm{j o i n t}},Q_{\ell}^{\mathrm{h a n d}},Q_{\ell}^{\mathrm{h a n d}})\big),\end{aligned} $$

其中$\mathrm{MHA}(q, k, v)$代表多头注意力机制；现在$\widetilde{Q}^{\mathrm{hand}}$携带了关节级别的图像证据（供MANO回归器使用），而$\widetilde{Q}^{\mathrm{joint}}$则包含了关节化姿态的上下文信息（用于优化二维锚点）。

混合投影头。相机平移包含两个结构差异明显的图像证据维度：深度$t^{z}$在单目条件下具有不确定性，无法从单个视角得到闭式解；而平面内位移$(t^{x}, t^{y})$在已知深度、关节位置和相机内参的情况下则易于求解。因此，

---

我们将平移过程拆分，仅回归深度值，而平面内位移则通过闭式方法求解。在将潜帧令牌上采样为视频帧t之后，一个MLP$h_{\mathrm{MANO}}$会回归出MANO方向、姿态、形状、对数深度以及屏幕上的概率值。

 $$ (\widehat{\mathbf{R}}_{t},\widehat{\mathbf{\Theta}}_{t},\widehat{\mathbf{B}}_{t},\widehat{\boldsymbol{\zeta}}_{t},\widehat{\mathbf{e}}_{t})=h_{\mathrm{M A N O}}(\widetilde{Q}_{t}^{\mathrm{h a n d}}),\qquad\widehat{\mathbf{t}}_{t}^{z}=\exp(\widehat{\boldsymbol{\zeta}}_{t}), $$

偏移量 MLP $h_{\text{off}}$ 会将热图锚点精确定位到 $\widehat{\mathbf{P}}_t^{\text{final}} = \widehat{\mathbf{P}}_t^{\text{init}} + h_{\text{off}}(\widehat{Q}_t^{\text{joint}})$。在可微分的 MANO 前向传播模型 $\widehat{\mathbf{J}}_t^{\text{can}} = \mathcal{M}(\widehat{\mathbf{R}}_t, \widehat{\mathbf{\Theta}}_t, \widehat{\mathbf{B}}_t)$ 给出的规范关节 $\mathcal{M}$ 以及固定的深度值 $\widehat{\mathbf{t}}_t^z$ 条件下，基于内参 $K = (f_x, f_y, c_x, c_y)$ 的针孔投影过程便得以确定。

 $$ \hat{u}_{j}=f_{x}\frac{X_{j}^{\mathrm{c a n}}+t^{x}}{Z_{j}^{\mathrm{c a n}}+\widehat{\mathbf{t}}_{t}^{z}}+c_{x},\qquad\hat{v}_{j}=f_{y}\frac{Y_{j}^{\mathrm{c a n}}+t^{y}}{Z_{j}^{\mathrm{c a n}}+\widehat{\mathbf{t}}_{t}^{z}}+c_{y} $$

该投影在未知的平面内位移 $(t^x, t^y)$ 上是线性的，且各坐标分量相互独立。因此，该位移可通过投影结果与精确定位的锚点 $\widehat{\mathbf{P}}_t^{\text{final}}$ 之间的加权最小二乘拟合来恢复，权重由锚点可见性掩码 $M^{\text{dir}}$ 决定（具体公式见补充材料）；推理阶段仅需使用预测得到的数值即可完成计算。由于该求解过程是可微分的，热图、偏移量 MLP、MANO 回归器以及深度标量会被作为一个几何系统共同优化，从而避免了当 $(t^x, t^y)$ 与 MANO 参数一同自由回归时出现的根节点平移/根节点姿态歧义问题。相机坐标系下的关节位置也随之确定为 $\widehat{\mathbf{J}}_t = \widehat{\mathbf{J}}_t^{\text{can}} + \widehat{\mathbf{t}}_t$。

### 3.4 训练目标

解码器的训练目标是五项损失之和。

 $$ \mathcal{L}_{\mathrm{d e c}}=\mathcal{L}_{\mathrm{M A N O}}+\mathcal{L}_{\mathrm{c a m}}+\mathcal{L}_{\mathrm{i m g}}+\mathcal{L}_{\mathrm{v i s}}+\mathcal{L}_{\mathrm{t e m p}}, $$

这五项损失在 MANO-相机耦合系统中各自发挥着独特作用。$\mathcal{L}_{\text{MANO}}$ 通过测地损失监督全局方向及关节旋转，涉及 $\text{SO}(3)$；同时通过均方误差损失监督形状。$\mathcal{L}_{\text{cam}}$ 负责监督拼接后的平移量和相机坐标系下的关节位置，为闭式求解提供约束。$\mathcal{L}_{\text{img}}$ 通过一个图像残差将 MANO 与相机模型关联起来，同时监督用于平面内位移求解的精确定位 2D 锚点以及针孔投影后的 MANO 关节，确保两个分支在同一像素位置上保持一致。$\mathcal{L}_{\text{vis}}$ 是对所有槽位（包括空槽位）的屏幕内概率进行二元交叉熵损失计算，以此抑制幻觉手的出现。$\mathcal{L}_{\text{temp}}$ 增加了平移加速度 $\ell_1$ 项以及停止梯度形状一致性项，这两项仅在训练阶段生效。更多细节详见补充材料。

## 4 实验

### 4.1 实验设置

数据集。我们选取了三个以自我为中心的手部基准数据集进行评估，这些数据集涵盖了不同类型的失效模式。ARCTIC [^5] 数据集在双手操作复杂物体时会出现严重的手-物体遮挡以及手-手遮挡现象。HOT3D [^1] 数据集采用广角鱼眼镜头，配合高动态范围光照以及快速的头部/手部运动，对失真、运动模糊以及明暗对比强烈环境下的检测能力提出了挑战；由于其官方测试集缺乏 MANO 标注，我们随机选取 5% 的验证序列作为测试集。HOI4D [^15] 数据集未被任何方法用于有监督训练，仅用于评估；“未用于训练”指的是没有对其进行有监督训练，因为视频主干网络的预训练语料库并未公开，无法核实（见第 5 节）。训练阶段，EgoDex [^9] 提供了仅包含关节信息的自我中心监督数据，用于适配视频模型。每个片段为 81 帧的剪辑；各数据集的完整规格及预处理细节详见补充材料。

评估协议。传统的单手评估指标如 MPJPE 和 PA-MPJPE 仅针对正确匹配的真阳性预测结果打分，这会促使评估偏向那些刻意跳过难处理帧的方法，而恰恰是这些帧才是遮挡感知方法需要重点测试的。因此，我们采用了一种考虑覆盖率的评估协议（相关指标后缀为“-p”）：每一个 $n_{TP}$ 个真阳性结果都会贡献其对应的误差 $e_i$；每一个 $n_{FN}$ 个假阴性结果则会被赋予一个占位符误差值 $e_i^{can}$，该误差对应位于相机原点的、具有恒等旋转和平均形状的 MANO 模型所产生的误差。

 $$ metric_{-p}=\frac{\sum_{i\in TP}e_{i}+\sum_{i\in FN}e_{i}^{can}}{n_{TP}+n_{FN}}. $$

---

<div style="text-align: center;">Table 1: Comparison on three egocentric benchmarks. ARCTIC [^5] and HOT3D [^1] are in-distribution; HOI4D [^15] is held out from explicit supervised training for all methods. All 3D-pose and orientation/position columns use the coverage-aware protocol of §4.1, folding detection coverage into every pose metric. Bold: best per column within each block.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2" colspan="2">Method</td><td colspan="3">Detection</td><td colspan="2">3D Pose</td><td colspan="3">Orient. &amp; Position</td><td style='text-align: center; word-wrap: break-word;'>Temporal</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FAcc</td><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>F1</td><td style='text-align: center; word-wrap: break-word;'>MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>EPE-p</td><td style='text-align: center; word-wrap: break-word;'>GO-p</td><td style='text-align: center; word-wrap: break-word;'>CT-p</td><td style='text-align: center; word-wrap: break-word;'>Jitter</td></tr><tr><td rowspan="9">ARCTIC</td><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>0.878</td><td style='text-align: center; word-wrap: break-word;'>0.943</td><td style='text-align: center; word-wrap: break-word;'>0.959</td><td style='text-align: center; word-wrap: break-word;'>30.817</td><td style='text-align: center; word-wrap: break-word;'>15.952</td><td style='text-align: center; word-wrap: break-word;'>53.888</td><td style='text-align: center; word-wrap: break-word;'>25.386</td><td style='text-align: center; word-wrap: break-word;'>0.097</td><td style='text-align: center; word-wrap: break-word;'>46.577</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>0.875</td><td style='text-align: center; word-wrap: break-word;'>0.943</td><td style='text-align: center; word-wrap: break-word;'>0.957</td><td style='text-align: center; word-wrap: break-word;'>29.197</td><td style='text-align: center; word-wrap: break-word;'>14.596</td><td style='text-align: center; word-wrap: break-word;'>65.289</td><td style='text-align: center; word-wrap: break-word;'>24.907</td><td style='text-align: center; word-wrap: break-word;'>0.095</td><td style='text-align: center; word-wrap: break-word;'>18.279</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>0.833</td><td style='text-align: center; word-wrap: break-word;'>0.912</td><td style='text-align: center; word-wrap: break-word;'>0.941</td><td style='text-align: center; word-wrap: break-word;'>31.233</td><td style='text-align: center; word-wrap: break-word;'>17.168</td><td style='text-align: center; word-wrap: break-word;'>87.047</td><td style='text-align: center; word-wrap: break-word;'>27.822</td><td style='text-align: center; word-wrap: break-word;'>0.110</td><td style='text-align: center; word-wrap: break-word;'>15.357</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>0.879</td><td style='text-align: center; word-wrap: break-word;'>0.946</td><td style='text-align: center; word-wrap: break-word;'>0.960</td><td style='text-align: center; word-wrap: break-word;'>25.704</td><td style='text-align: center; word-wrap: break-word;'>13.941</td><td style='text-align: center; word-wrap: break-word;'>50.517</td><td style='text-align: center; word-wrap: break-word;'>22.320</td><td style='text-align: center; word-wrap: break-word;'>0.058</td><td style='text-align: center; word-wrap: break-word;'>12.972</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>0.866</td><td style='text-align: center; word-wrap: break-word;'>0.949</td><td style='text-align: center; word-wrap: break-word;'>0.954</td><td style='text-align: center; word-wrap: break-word;'>29.674</td><td style='text-align: center; word-wrap: break-word;'>14.203</td><td style='text-align: center; word-wrap: break-word;'>51.505</td><td style='text-align: center; word-wrap: break-word;'>24.580</td><td style='text-align: center; word-wrap: break-word;'>0.087</td><td style='text-align: center; word-wrap: break-word;'>45.312</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>0.919</td><td style='text-align: center; word-wrap: break-word;'>0.951</td><td style='text-align: center; word-wrap: break-word;'>0.974</td><td style='text-align: center; word-wrap: break-word;'>22.012</td><td style='text-align: center; word-wrap: break-word;'>11.873</td><td style='text-align: center; word-wrap: break-word;'>71.527</td><td style='text-align: center; word-wrap: break-word;'>17.358</td><td style='text-align: center; word-wrap: break-word;'>0.075</td><td style='text-align: center; word-wrap: break-word;'>24.091</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>0.842</td><td style='text-align: center; word-wrap: break-word;'>0.918</td><td style='text-align: center; word-wrap: break-word;'>0.951</td><td style='text-align: center; word-wrap: break-word;'>27.904</td><td style='text-align: center; word-wrap: break-word;'>17.017</td><td style='text-align: center; word-wrap: break-word;'>85.723</td><td style='text-align: center; word-wrap: break-word;'>25.951</td><td style='text-align: center; word-wrap: break-word;'>0.121</td><td style='text-align: center; word-wrap: break-word;'>12.840</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>0.700</td><td style='text-align: center; word-wrap: break-word;'>0.817</td><td style='text-align: center; word-wrap: break-word;'>0.895</td><td style='text-align: center; word-wrap: break-word;'>45.357</td><td style='text-align: center; word-wrap: break-word;'>26.375</td><td style='text-align: center; word-wrap: break-word;'>158.062</td><td style='text-align: center; word-wrap: break-word;'>43.325</td><td style='text-align: center; word-wrap: break-word;'>0.149</td><td style='text-align: center; word-wrap: break-word;'>19.789</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ViDiHand (Ours)</td><td style='text-align: center; word-wrap: break-word;'>0.997</td><td style='text-align: center; word-wrap: break-word;'>0.999</td><td style='text-align: center; word-wrap: break-word;'>0.999</td><td style='text-align: center; word-wrap: break-word;'>21.668</td><td style='text-align: center; word-wrap: break-word;'>9.821</td><td style='text-align: center; word-wrap: break-word;'>12.407</td><td style='text-align: center; word-wrap: break-word;'>14.642</td><td style='text-align: center; word-wrap: break-word;'>0.047</td><td style='text-align: center; word-wrap: break-word;'>3.183</td></tr><tr><td rowspan="9">HOT3D</td><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>0.669</td><td style='text-align: center; word-wrap: break-word;'>0.881</td><td style='text-align: center; word-wrap: break-word;'>0.868</td><td style='text-align: center; word-wrap: break-word;'>77.168</td><td style='text-align: center; word-wrap: break-word;'>24.811</td><td style='text-align: center; word-wrap: break-word;'>71.482</td><td style='text-align: center; word-wrap: break-word;'>58.501</td><td style='text-align: center; word-wrap: break-word;'>0.213</td><td style='text-align: center; word-wrap: break-word;'>101.164</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>0.692</td><td style='text-align: center; word-wrap: break-word;'>0.904</td><td style='text-align: center; word-wrap: break-word;'>0.883</td><td style='text-align: center; word-wrap: break-word;'>68.314</td><td style='text-align: center; word-wrap: break-word;'>21.455</td><td style='text-align: center; word-wrap: break-word;'>59.077</td><td style='text-align: center; word-wrap: break-word;'>49.636</td><td style='text-align: center; word-wrap: break-word;'>0.102</td><td style='text-align: center; word-wrap: break-word;'>23.632</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>0.632</td><td style='text-align: center; word-wrap: break-word;'>0.828</td><td style='text-align: center; word-wrap: break-word;'>0.853</td><td style='text-align: center; word-wrap: break-word;'>71.732</td><td style='text-align: center; word-wrap: break-word;'>29.620</td><td style='text-align: center; word-wrap: break-word;'>107.625</td><td style='text-align: center; word-wrap: break-word;'>56.525</td><td style='text-align: center; word-wrap: break-word;'>0.128</td><td style='text-align: center; word-wrap: break-word;'>18.507</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>0.655</td><td style='text-align: center; word-wrap: break-word;'>0.863</td><td style='text-align: center; word-wrap: break-word;'>0.844</td><td style='text-align: center; word-wrap: break-word;'>52.791</td><td style='text-align: center; word-wrap: break-word;'>28.946</td><td style='text-align: center; word-wrap: break-word;'>111.438</td><td style='text-align: center; word-wrap: break-word;'>53.933</td><td style='text-align: center; word-wrap: break-word;'>0.157</td><td style='text-align: center; word-wrap: break-word;'>22.885</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>0.649</td><td style='text-align: center; word-wrap: break-word;'>0.895</td><td style='text-align: center; word-wrap: break-word;'>0.868</td><td style='text-align: center; word-wrap: break-word;'>63.281</td><td style='text-align: center; word-wrap: break-word;'>22.682</td><td style='text-align: center; word-wrap: break-word;'>68.437</td><td style='text-align: center; word-wrap: break-word;'>49.120</td><td style='text-align: center; word-wrap: break-word;'>0.133</td><td style='text-align: center; word-wrap: break-word;'>69.510</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>0.827</td><td style='text-align: center; word-wrap: break-word;'>0.897</td><td style='text-align: center; word-wrap: break-word;'>0.937</td><td style='text-align: center; word-wrap: break-word;'>30.966</td><td style='text-align: center; word-wrap: break-word;'>19.980</td><td style='text-align: center; word-wrap: break-word;'>72.978</td><td style='text-align: center; word-wrap: break-word;'>25.746</td><td style='text-align: center; word-wrap: break-word;'>0.098</td><td style='text-align: center; word-wrap: break-word;'>17.976</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>0.614</td><td style='text-align: center; word-wrap: break-word;'>0.811</td><td style='text-align: center; word-wrap: break-word;'>0.802</td><td style='text-align: center; word-wrap: break-word;'>74.214</td><td style='text-align: center; word-wrap: break-word;'>38.201</td><td style='text-align: center; word-wrap: break-word;'>171.617</td><td style='text-align: center; word-wrap: break-word;'>43.851</td><td style='text-align: center; word-wrap: break-word;'>0.571</td><td style='text-align: center; word-wrap: break-word;'>44.942</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>0.348</td><td style='text-align: center; word-wrap: break-word;'>0.499</td><td style='text-align: center; word-wrap: break-word;'>0.654</td><td style='text-align: center; word-wrap: break-word;'>71.396</td><td style='text-align: center; word-wrap: break-word;'>66.031</td><td style='text-align: center; word-wrap: break-word;'>327.294</td><td style='text-align: center; word-wrap: break-word;'>79.350</td><td style='text-align: center; word-wrap: break-word;'>0.262</td><td style='text-align: center; word-wrap: break-word;'>23.872</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ViDiHand (Ours)</td><td style='text-align: center; word-wrap: break-word;'>0.948</td><td style='text-align: center; word-wrap: break-word;'>0.974</td><td style='text-align: center; word-wrap: break-word;'>0.983</td><td style='text-align: center; word-wrap: break-word;'>21.514</td><td style='text-align: center; word-wrap: break-word;'>11.383</td><td style='text-align: center; word-wrap: break-word;'>14.953</td><td style='text-align: center; word-wrap: break-word;'>15.829</td><td style='text-align: center; word-wrap: break-word;'>0.040</td><td style='text-align: center; word-wrap: break-word;'>3.741</td></tr><tr><td rowspan="9">HOI4D</td><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>0.731</td><td style='text-align: center; word-wrap: break-word;'>0.922</td><td style='text-align: center; word-wrap: break-word;'>0.864</td><td style='text-align: center; word-wrap: break-word;'>53.072</td><td style='text-align: center; word-wrap: break-word;'>22.909</td><td style='text-align: center; word-wrap: break-word;'>80.549</td><td style='text-align: center; word-wrap: break-word;'>41.743</td><td style='text-align: center; word-wrap: break-word;'>0.228</td><td style='text-align: center; word-wrap: break-word;'>98.866</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>0.731</td><td style='text-align: center; word-wrap: break-word;'>0.923</td><td style='text-align: center; word-wrap: break-word;'>0.864</td><td style='text-align: center; word-wrap: break-word;'>44.481</td><td style='text-align: center; word-wrap: break-word;'>21.580</td><td style='text-align: center; word-wrap: break-word;'>79.494</td><td style='text-align: center; word-wrap: break-word;'>33.557</td><td style='text-align: center; word-wrap: break-word;'>0.187</td><td style='text-align: center; word-wrap: break-word;'>20.068</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>0.710</td><td style='text-align: center; word-wrap: break-word;'>0.885</td><td style='text-align: center; word-wrap: break-word;'>0.849</td><td style='text-align: center; word-wrap: break-word;'>47.161</td><td style='text-align: center; word-wrap: break-word;'>25.924</td><td style='text-align: center; word-wrap: break-word;'>115.793</td><td style='text-align: center; word-wrap: break-word;'>37.390</td><td style='text-align: center; word-wrap: break-word;'>0.204</td><td style='text-align: center; word-wrap: break-word;'>21.556</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>0.730</td><td style='text-align: center; word-wrap: break-word;'>0.924</td><td style='text-align: center; word-wrap: break-word;'>0.864</td><td style='text-align: center; word-wrap: break-word;'>45.623</td><td style='text-align: center; word-wrap: break-word;'>23.601</td><td style='text-align: center; word-wrap: break-word;'>82.246</td><td style='text-align: center; word-wrap: break-word;'>45.654</td><td style='text-align: center; word-wrap: break-word;'>0.159</td><td style='text-align: center; word-wrap: break-word;'>18.615</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>0.655</td><td style='text-align: center; word-wrap: break-word;'>0.937</td><td style='text-align: center; word-wrap: break-word;'>0.834</td><td style='text-align: center; word-wrap: break-word;'>44.255</td><td style='text-align: center; word-wrap: break-word;'>18.689</td><td style='text-align: center; word-wrap: break-word;'>70.662</td><td style='text-align: center; word-wrap: break-word;'>34.392</td><td style='text-align: center; word-wrap: break-word;'>0.108</td><td style='text-align: center; word-wrap: break-word;'>24.212</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>0.962</td><td style='text-align: center; word-wrap: break-word;'>0.966</td><td style='text-align: center; word-wrap: break-word;'>0.972</td><td style='text-align: center; word-wrap: break-word;'>33.710</td><td style='text-align: center; word-wrap: break-word;'>14.903</td><td style='text-align: center; word-wrap: break-word;'>41.579</td><td style='text-align: center; word-wrap: break-word;'>25.527</td><td style='text-align: center; word-wrap: break-word;'>0.115</td><td style='text-align: center; word-wrap: break-word;'>17.449</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>0.750</td><td style='text-align: center; word-wrap: break-word;'>0.863</td><td style='text-align: center; word-wrap: break-word;'>0.845</td><td style='text-align: center; word-wrap: break-word;'>45.097</td><td style='text-align: center; word-wrap: break-word;'>29.259</td><td style='text-align: center; word-wrap: break-word;'>144.643</td><td style='text-align: center; word-wrap: break-word;'>40.176</td><td style='text-align: center; word-wrap: break-word;'>0.258</td><td style='text-align: center; word-wrap: break-word;'>17.947</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>0.869</td><td style='text-align: center; word-wrap: break-word;'>0.864</td><td style='text-align: center; word-wrap: break-word;'>0.919</td><td style='text-align: center; word-wrap: break-word;'>47.329</td><td style='text-align: center; word-wrap: break-word;'>28.851</td><td style='text-align: center; word-wrap: break-word;'>135.748</td><td style='text-align: center; word-wrap: break-word;'>43.091</td><td style='text-align: center; word-wrap: break-word;'>0.139</td><td style='text-align: center; word-wrap: break-word;'>28.376</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ViDiHand (Ours)</td><td style='text-align: center; word-wrap: break-word;'>0.984</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.990</td><td style='text-align: center; word-wrap: break-word;'>30.090</td><td style='text-align: center; word-wrap: break-word;'>13.960</td><td style='text-align: center; word-wrap: break-word;'>24.460</td><td style='text-align: center; word-wrap: break-word;'>23.420</td><td style='text-align: center; word-wrap: break-word;'>0.117</td><td style='text-align: center; word-wrap: break-word;'>4.010</td></tr></table>

占位符误差是根据遗漏的真实手部样本逐个计算的，因此假阴性成本具有确定性且与方法无关。关于各指标的占位符定义，以及对共同预测手部的比较（仅对两种方法均能检测到的手部进行评分）详见补充材料。

我们报告了九项指标。检测方面：召回率、F1分数以及帧准确率FAcc，其中FAcc指所有屏幕上的真实手部均被正确匹配且不存在幻觉手部的帧所占比例。3D姿态方面：MPJPE-p和PA-MPJPE-p，单位均为毫米。方向与位置方面：2D端点误差EPE-p，单位为像素；全局方向测地误差GO-p，单位为度；相机平移误差CT-p，单位为米。时间维度方面：抖动指标为毫米/帧 $^{2}$。检测指标数值越高越好；其余指标数值越低越好。

### 4.2 与现有最优方法的比较

基线方法。我们比较了八种方法：四种单图像回归器（HaMeR [^18]、WiLoR [^19]、Hamba [^3]、InterWild [^16]）；两种针对 Egocentric 场景或双手任务的专用方法（Wild-Hands [^20]、OmniHands [^14]）；以及两种世界坐标系下的视频处理方法（Dyn-HaMR [^32]，采用测试时SLAM引导的优化；HaWoR [^34]，采用自适应Egocentric SLAM和运动填充技术）。所有基线方法均按照§4.1中的协议在相同的81帧片段上进行评估。表1报告了它们在分布内数据集ARCTIC和HOT3D以及分布外数据集HOI4D上的结果。

定量结果。我们的方法在三个基准测试的27项指标中有26项排名第一；我们从检测鲁棒性、姿态精度和时序平滑度三个维度分析了性能提升。在检测鲁棒性方面，ARCTIC的帧准确率达到了0.997，而性能最强的判别式基线方法WiLoR仅为0.919，帧错误率降低了 $27 \times$（从8.1%降至0.3%）。FAcc要求所有屏幕上的手部均能被正确恢复，而这正是基于检测器的方法会丢失两只交互手部中某一只的情况。

在姿态精度方面，ViDiHand在所有三个基准测试中均取得了最佳的MPJPE-p和PA-MPJPE-p成绩。在HOT3D数据集上差距最为明显，MPJPE-p从最佳基线的31.0毫米改善为

---

<div style="text-align: center;">Table 2: Layer ablation. DiT feature-layer sweep at  $\tau_k \approx 0.7$. Selected:  $L_{15}$.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Layer</td><td style='text-align: center; word-wrap: break-word;'>FAcc</td><td style='text-align: center; word-wrap: break-word;'>MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>EPE-p</td><td style='text-align: center; word-wrap: break-word;'>Jitter</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$L_{8}$</td><td style='text-align: center; word-wrap: break-word;'>0.9972</td><td style='text-align: center; word-wrap: break-word;'>22.38</td><td style='text-align: center; word-wrap: break-word;'>13.60</td><td style='text-align: center; word-wrap: break-word;'>3.71</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$L_{15}$</td><td style='text-align: center; word-wrap: break-word;'>0.9979</td><td style='text-align: center; word-wrap: break-word;'>20.59</td><td style='text-align: center; word-wrap: break-word;'>11.93</td><td style='text-align: center; word-wrap: break-word;'>3.42</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$L_{22}$</td><td style='text-align: center; word-wrap: break-word;'>0.9978</td><td style='text-align: center; word-wrap: break-word;'>22.51</td><td style='text-align: center; word-wrap: break-word;'>12.85</td><td style='text-align: center; word-wrap: break-word;'>3.46</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$L_{29}$</td><td style='text-align: center; word-wrap: break-word;'>0.9972</td><td style='text-align: center; word-wrap: break-word;'>24.46</td><td style='text-align: center; word-wrap: break-word;'>14.29</td><td style='text-align: center; word-wrap: break-word;'>3.73</td></tr></table>

<div style="text-align: center;">Table 4: Backbone adaptation ablation. "Mesh overlay" uses Stage 1b; "Joint+Mesh" adds Stage 1a. Selected: Joint+Mesh.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Backbone / adaptation</td><td style='text-align: center; word-wrap: break-word;'>FAcc</td><td style='text-align: center; word-wrap: break-word;'>MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>EPE-p</td><td style='text-align: center; word-wrap: break-word;'>Jitter</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Randomly initialized</td><td style='text-align: center; word-wrap: break-word;'>0.9795</td><td style='text-align: center; word-wrap: break-word;'>36.39</td><td style='text-align: center; word-wrap: break-word;'>32.94</td><td style='text-align: center; word-wrap: break-word;'>14.68</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DINOv3</td><td style='text-align: center; word-wrap: break-word;'>0.9852</td><td style='text-align: center; word-wrap: break-word;'>24.46</td><td style='text-align: center; word-wrap: break-word;'>18.93</td><td style='text-align: center; word-wrap: break-word;'>14.14</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pretrained T2V</td><td style='text-align: center; word-wrap: break-word;'>0.9932</td><td style='text-align: center; word-wrap: break-word;'>21.64</td><td style='text-align: center; word-wrap: break-word;'>15.15</td><td style='text-align: center; word-wrap: break-word;'>3.14</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pretrained VACE</td><td style='text-align: center; word-wrap: break-word;'>0.9846</td><td style='text-align: center; word-wrap: break-word;'>22.67</td><td style='text-align: center; word-wrap: break-word;'>16.60</td><td style='text-align: center; word-wrap: break-word;'>3.47</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Mesh overlay</td><td style='text-align: center; word-wrap: break-word;'>0.9965</td><td style='text-align: center; word-wrap: break-word;'>21.23</td><td style='text-align: center; word-wrap: break-word;'>12.75</td><td style='text-align: center; word-wrap: break-word;'>3.20</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Joint+Mesh overlay</td><td style='text-align: center; word-wrap: break-word;'>0.9979</td><td style='text-align: center; word-wrap: break-word;'>20.59</td><td style='text-align: center; word-wrap: break-word;'>11.93</td><td style='text-align: center; word-wrap: break-word;'>3.42</td></tr></table>

<div style="text-align: center;">Table 3: Denoising step ablation. Normalized denoising step  $\tau_k$ sweep at  $L_{15}$ ( $\tau=0$ pure noise,  $\tau=1$ fully denoised). Selected:  $\tau_k \approx 0.7$.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Denoising step</td><td style='text-align: center; word-wrap: break-word;'>FAcc</td><td style='text-align: center; word-wrap: break-word;'>MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>EPE-p</td><td style='text-align: center; word-wrap: break-word;'>Jitter</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\tau_{k} \approx 0.3$</td><td style='text-align: center; word-wrap: break-word;'>0.9967</td><td style='text-align: center; word-wrap: break-word;'>20.93</td><td style='text-align: center; word-wrap: break-word;'>11.95</td><td style='text-align: center; word-wrap: break-word;'>3.39</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\tau_{k} \approx 0.5$</td><td style='text-align: center; word-wrap: break-word;'>0.9970</td><td style='text-align: center; word-wrap: break-word;'>20.73</td><td style='text-align: center; word-wrap: break-word;'>12.13</td><td style='text-align: center; word-wrap: break-word;'>3.39</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\tau_{k} \approx 0.7$</td><td style='text-align: center; word-wrap: break-word;'>0.9979</td><td style='text-align: center; word-wrap: break-word;'>20.59</td><td style='text-align: center; word-wrap: break-word;'>11.93</td><td style='text-align: center; word-wrap: break-word;'>3.42</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\tau_{k} \approx 0.9$</td><td style='text-align: center; word-wrap: break-word;'>0.9974</td><td style='text-align: center; word-wrap: break-word;'>22.17</td><td style='text-align: center; word-wrap: break-word;'>13.27</td><td style='text-align: center; word-wrap: break-word;'>3.41</td></tr></table>

<div style="text-align: center;">Table 5: Decoder-component ablation. Each row removes one component from the full decoder while keeping the feature slice and training protocol fixed.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Variant</td><td style='text-align: center; word-wrap: break-word;'>FAcc</td><td style='text-align: center; word-wrap: break-word;'>MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>EPE-p</td><td style='text-align: center; word-wrap: break-word;'>Jitter</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o ray-space PE</td><td style='text-align: center; word-wrap: break-word;'>0.9829</td><td style='text-align: center; word-wrap: break-word;'>21.52</td><td style='text-align: center; word-wrap: break-word;'>12.36</td><td style='text-align: center; word-wrap: break-word;'>2.84</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o Joint-Heatmap Branch</td><td style='text-align: center; word-wrap: break-word;'>0.9819</td><td style='text-align: center; word-wrap: break-word;'>22.20</td><td style='text-align: center; word-wrap: break-word;'>14.91</td><td style='text-align: center; word-wrap: break-word;'>3.41</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o Hand-Joint Fusion</td><td style='text-align: center; word-wrap: break-word;'>0.9809</td><td style='text-align: center; word-wrap: break-word;'>20.64</td><td style='text-align: center; word-wrap: break-word;'>13.82</td><td style='text-align: center; word-wrap: break-word;'>3.01</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o Mixed-Projection solve</td><td style='text-align: center; word-wrap: break-word;'>0.9767</td><td style='text-align: center; word-wrap: break-word;'>20.26</td><td style='text-align: center; word-wrap: break-word;'>16.26</td><td style='text-align: center; word-wrap: break-word;'>2.86</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Full decoder</td><td style='text-align: center; word-wrap: break-word;'>0.9979</td><td style='text-align: center; word-wrap: break-word;'>20.59</td><td style='text-align: center; word-wrap: break-word;'>11.93</td><td style='text-align: center; word-wrap: break-word;'>3.42</td></tr></table>

21.5毫米；在ARCTIC数据集上，EPE-p从WildHands的50.5像素降至12.4像素，减少了4倍。在补充材料中，我们进一步报告了关于共同预测手部的指标，该指标排除了检测覆盖范围的影响，用于衡量单个手部的精度。在此设定下，ViDiHand在大多数指标上仍优于大多数基线方法。

在平滑度方面，ARCTIC上的预测抖动值降至3.18，仅为此前最平滑的方法Dyn-HaMR的12.8的四分之一。Dyn-HaMR能达到这一数值得益于测试时SLAM引导的优化，而ViDiHand既未使用运动先验，也未采用测试时优化。因此，平滑度反映的是模型主干的连贯性以及训练阶段采用的轻量级正则化措施，而非推理阶段的工程技巧。这种优势也延伸到了分布外的HOI4D数据集上：ViDiHand在九项指标中有八项排名第一，抖动值降至4.0（次优方法为17.4），EPE-p从41.6降至24.5。

### 4.3 消融研究

我们分别对DiT层（表2）、去噪步骤（表3）、主干适配（表4）以及解码器组件（表5）进行了消融分析。为了单独考察每个维度的影响，所有消融实验均将解码器训练限制在ARCTIC数据集上，并在ARCTIC测试集上进行评估。受控拟合研究和损失项消融分析详见补充材料。

特征层与去噪步骤。手部姿态信号定位在去噪轨迹中途读取的中间层特征上。沿层轴方向（见表2），$L_{15}$——即30个DiT块中的第15个——在所有指标上表现最佳：早期的$L_8$仍与低层级像素特征相关联，而晚期的$L_{22}/L_{29}$则已偏向渲染后的叠加纹理。沿去噪轴方向（见表3），$\tau_k \approx 0.7$在FAcc、MPJPE-p和EPE-p指标上均取得最优结果。VACE的编辑框架在每个步骤都将参考视频作为控制条件，因此即便潜变量多为噪声，主干网络仍能读取场景结构。随着$\tau_k$逐渐接近完全去噪的终点，潜变量会转化为渲染后的叠加外观。因此，$\tau_k \approx 0.9$处的性能下降反映的是已固定为渲染网格的特征，而非底层交互特征。在两次扫描中，抖动值基本保持稳定。

主干网络适配。我们固定解码器，仅改变视频主干网络的适配方式（见表4）。从随机初始化训练的Transformer在所有指标上的表现均逊于预训练主干网络。DINOv3-H+（840M）[^22]是一种大规模图像主干网络，其性能也低于我们的1.3B Wan主干网络。两者的最大差距体现在抖动指标上，这表明视频预训练能生成更具时间稳定性的表征。预训练的T2V和未适配的VACE主干网络缺乏用于关节定位的空间精度（EPE-p分别为15.15和16.60）；第1b阶段的网格-叠加监督将EPE-p降至12.75，再加上第1a阶段的关节-叠加监督后，该数值进一步降至11.93，这是因为模型得以接触MANO标注数据中不存在的自我中心式手-物体运动数据。

解码器组件。每个组件都对检测有贡献：移除任意一个组件后，FAcc会从0.9979降至0.9767–0.9829（见表5）。关节热图分支与混合投影模块解决了这一问题。

---

![Image](images/a47a1a65560dc6e6ae026c9dd8a28db582e6b74ffcc6b6189c7c6b71725cf782.jpg)

<div style="text-align: center;">Figure 3: Qualitative comparison on ARCTIC and HOT3D under severe occlusion. Top: one hand fully occluded behind a box; most baselines drop it or swap its handedness. Middle: one hand is self-occluded near the frame boundary; only ViDiHand recovers it. Bottom: one hand severely occluded by a bowl; most baselines output no mesh, while ViDiHand matches GT throughout.</div>

![Image](images/b7e6ba3c9e2b8a1138e8ab688b045537b3718c7cc4da36038357f50bb052046c.jpg)

<div style="text-align: center;">Figure 4: Qualitative comparison on in-the-wild data. Top: severe occlusion by a towel and a jar, several baselines miss one or both hands. Middle: one hand reaches into a shelf, no baselines generate plausible result. Bottom: single-hand scene with grating-like shadows, multiple baselines hallucinate a second hand. ViDiHand produces plausible reconstructions across all three cases.</div>

它们主导着2D定位：用直接的2D坐标回归替换前者会使EPE-p升高2.98像素，MPJPE-p升高1.61毫米；禁用后者会使EPE-p升高4.33像素，这证实了热图定位与几何平面求解机制共同驱动了图像空间的定位。禁用求解机制还会略微降低MPJPE-p和抖动值（分别从20.59降至20.26，从3.42降至2.86），为了换取FAcc和EPE-p的提升，我们接受这种权衡。移除射线空间位置编码或手部关节融合模块会略微降低抖动值，但会损害检测性能、MPJPE-p和EPE-p指标。我们采用完整配置，是因为它在检测和2D定位方面表现突出，而非要在所有指标上都占据首位。

### 4.4 定性结果

图3和图4展示了ViDiHand与基线方法在挑战性案例上的对比。在所有案例中，基线方法要么会遗漏被遮挡的手部，要么会错配其关节结构，甚至会幻觉出第二只手，而ViDiHand则能恢复两只手且关节结构合理。正是在这些遮挡和截断场景下，适配后的主干网络能保持每只手的3D状态，这是基于检测器的流水线无法做到的。更多对比结果详见补充材料。

## 5 结论

我们提出了ViDiHand，它能利用预训练的视频扩散先验，从自我中心式视频中恢复4D双手运动。手部叠加目标使主干网络专门针对MANO表面进行优化，同时保留其对场景、物体和运动的先验知识；随后，双分支解码器从适配后的表征中恢复出关节姿态和图像空间坐标，其中相机平移通过闭式混合投影求解机制来确定。

在ARCTIC和HOT3D数据集上，ViDiHand在各项覆盖度相关指标中均排名第一；在保留的HOI4D数据集的九个指标中也有八个排名首位。该模型无需推理时的平滑处理，就能在实现近乎完整的检测覆盖度的同时，保持具有竞争力的单手检测精度。随着骨干网络的规模不断扩大，从其内部表征中恢复结构化的3D状态，为在现实场景中实现可扩展的4D手部标注提供了可行路径。

---

局限性与未来工作。目前ViDiHand在4块A100 GPU上的运行速度仅为5.5帧/秒，仍属于离线标注工具；而知识蒸馏技术以及少步或自回归生成器是实现实时推理最直接的方法。该模型的训练仍然依赖带有姿态标签的视频数据，但并非必须采用完整的MANO模型：仅包含关节信息的标注就已经足以支撑第一阶段a的叠加预训练任务。因此，下一步自然要朝着利用更简单的标签、图像数据集和更多相机视角来扩展监督信号，并将研究范围从手-物体交互拓展到全身运动。

致谢。本研究得到了由A*STAR管理的RIE2025产业对接基金——产业合作项目（IAF-ICP）（奖项编号I2301E0026）的支持，同时也得到了阿里巴巴集团和新加坡南洋理工大学通过阿里巴巴-南洋理工全球电子可持续性合作实验室（ANGEL）提供的资助。

## 参考文献

[^1]: Prithviraj Banerjee, Sindi Shkodrani, Pierre Moulon, Shreyas Hampali, Shangchen Han, Fan Zhang, Linguang Zhang, Jade Fountain, Edward Miller, Selen Basol, Richard Newcombe, Robert Wang, Jakob Julian Engel, and Tomas Hodan. HOT3D: Hand and object tracking in 3D from egocentric multi-view videos. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2025.

[^2]: Andreas Blattmann, Tim Dockhorn, Sumith Kulal, Daniel Mendelevitch, Maciej Kilian, Dominik Lorenz, Yam Levi, Zion English, Vikram Voleti, Adam Letts, Varun Jampani, and Robin Rombach. Stable video diffusion: Scaling latent video diffusion models to large datasets. arXiv preprint arXiv:2311.15127, 2023.

[^3]: Haoye Dong, Aviral Chharia, Wenbo Gou, Francisco Vicente Carrasco, and Fernando De la Torre. Hamba: Single-view 3D hand reconstruction with graph-guided bi-scanning mamba. In Advances in Neural Information Processing Systems (NeurIPS), 2024.

[^4]: Enes Duran, Muhammed Kocabas, Vasileios Choutas, Zicong Fan, and Michael J Black. Hmp: Hand motion priors for pose and shape estimation from video. In Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision, pages 6353–6363, 2024.

[^5]: Zicong Fan, Omid Taheri, Dimitrios Tzionas, Muhammed Kocabas, Manuel Kaufmann, Michael J. Black, and Otmar Hilliges. ARCTIC: A dataset for dexterous bimanual hand-object manipulation. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2023.

[^6]: Qichen Fu, Xingyu Liu, Ran Xu, Juan Carlos Niebles, and Kris M. Kitani. Deformer: Dynamic fusion transformer for robust hand pose estimation, 2023.

[^7]: Valentin Gabeur, Shangbang Long, Songyou Peng, Paul Voigtlaender, Shuyang Sun, Yanan Bao, Karen Truong, Zhicheng Wang, Wenlei Zhou, Jonathan T. Barron, Kyle Genova, Nithish Kannen, Sherry Ben, Yandong Li, Mandy Guo, Suhas Yogin, Yiming Gu, Huizhong Chen, Oliver Wang, Saining Xie, Howard Zhou, Kaiming He, Thomas Funkhouser, Jean-Baptiste Alayrac, and Radu Soricut. Image generators are generalist vision learners, 2026.

[^8]: Jonathan Ho, Tim Salimans, Alexey Gritsenko, William Chan, Mohammad Norouzi, and David J. Fleet. Video diffusion models. In Advances in Neural Information Processing Systems (NeurIPS), 2022.

[^9]: Ryan Hoque, Peide Huang, David J Yoon, Mouli Sivapurapu, and Jian Zhang. Egodex: Learning dexterous manipulation from large-scale egocentric video. arXiv preprint arXiv:2505.11709, 2025.

[^10]: Zixuan Huang, Xiang Li, Zhaoyang Lv, and James M. Rehg. How much 3d do video foundation models encode?, 2025.

## [^11]: Zeyinzi Jiang, Zhen Han, Chaojie Mao, Jingfeng Zhang, Yulin Pan, and Yu Liu. VACE: All-in-one video creation and editing. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 17191–17202, 2025

---

[^12]: Simar Kareer, Dhruv Patel, Ryan Punamiya, Pranay Mathur, Shuo Cheng, Chen Wang, Judy Hoffman, and Danfei Xu. Egomimic: Scaling imitation learning via egocentric video. In 2025 IEEE International Conference on Robotics and Automation (ICRA), pages 13226–13233. IEEE, 2025.

[^13]: Bingxin Ke, Anton Obukhov, Shengyu Huang, Nando Metzger, Rodrigo Caye Daudt, and Konrad Schindler. Repurposing diffusion-based image generators for monocular depth estimation. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2024. Oral.

[^14]: Dixuan Lin, Yuxiang Zhang, Mengcheng Li, Wei Jing, Qi Yan, Qianying Wang, Yebin Liu, and Hongwen Zhang. Omnihands: Towards robust 4d hand mesh recovery via a versatile transformer, 2024.

[^15]: Yunze Liu, Yun Liu, Che Jiang, Kangbo Lyu, Weikang Wan, Hao Shen, Boqiang Liang, Zhoujie Fu, He Wang, and Li Yi. HOI4D: A 4D egocentric dataset for category-level human-object interaction. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2022.

[^16]: Gyeongsik Moon. Bringing inputs to shared domains for 3D interacting hands recovery in the wild. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2023.

[^17]: Jisu Nam, Soowon Son, Dahyun Chung, Jiyoung Kim, Siyoon Jin, Junhwa Hur, and Seungryong Kim. Emergent temporal correspondences from video diffusion transformers, 2025.

[^18]: Georgios Pavlakos, Dandan Shan, Ilija Radosavovic, Angjoo Kanazawa, David Fouhey, and Jitendra Malik. Reconstructing hands in 3d with transformers. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2024.

[^19]: Rolandos Alexandros Potamias, Jinglei Zhang, Jiankang Deng, and Stefanos Zafeiriou. WiLoR: End-to-end 3D hand localization and reconstruction in-the-wild. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2025.

[^20]: Aditya Prakash, Ruisen Tu, Matthew Chang, and Saurabh Gupta. 3D hand pose estimation in everyday egocentric images. In European Conference on Computer Vision (ECCV), 2024.

[^21]: Javier Romero, Dimitrios Tzionas, and Michael J. Black. Embodied hands: Modeling and capturing hands and bodies together. ACM Transactions on Graphics (TOG), 36(6), 2017.

[^22]: Oriane Siméoni, Huy V. Vo, Maximilian Seitzer, Federico Baldassarre, Maxime Oquab, Cijo Jose, Vasil Khalidov, Marc Szafraniec, Seungeun Yi, Michaël Ramamonjisoa, Francisco Massa, Daniel Haziza, Luca Wehrstedt, Jianyuan Wang, Timothée Darcet, Théo Moutakanni, Leonel Sentana, Claire Roberts, Andrea Vedaldi, Jamie Tolan, John Brandt, Camille Couprie, Julien Mairal, Hervé Jégou, Patrick Labatut, and Piotr Bojanowski. Dinov3, 2025.

[^23]: Soowon Son, Honggyu An, Chaehyun Kim, Hyunah Ko, Jisu Nam, Dahyun Chung, Siyoon Jin, Jung Yi, Jaewon Min, Junhwa Hur, and Seungryong Kim. Repurposing video diffusion transformers for robust point tracking, 2025.

[^24]: Luming Tang, Menglin Jia, Qianqian Wang, Cheng Perng Phoo, and Bharath Hariharan. Emergent correspondence from image diffusion. In Advances in Neural Information Processing Systems (NeurIPS), 2023.

[^25]: Pedro Vélez, Luisa F. Polanía, Yi Yang, Chuhan Zhang, Rishabh Kabra, Anurag Arnab, and Mehdi S. M. Sajjadi. From image to video: An empirical study of diffusion representations. In IEEE/CVF International Conference on Computer Vision (ICCV), 2025.

[^26]: Wan Team. Wan: Open and advanced large-scale video generative models. arXiv preprint arXiv:2503.20314, 2025. Alibaba Group.

## [^27]: Yuxi Wang, Wenqi Ouyang, Tianyi Wei, Yi Dong, Zhiqi Shen, and Xingang Pan. Hand2world: Autoregressive egocentric interaction generation via free-space hand gestures. arXiv preprint arXiv:2602.09600, 2026

---

[^28]: Linxi Xie, Lisong C. Sun, Ashley Neall, Tong Wu, Shengqu Cai, and Gordon Wetzstein. Generated reality: Human-centric world simulation using interactive video generation with hand and camera control, 2026.

[^29]: Ruihan Yang, Qinxi Yu, Yecheng Wu, Rui Yan, Borui Li, An-Chieh Cheng, Xueyan Zou, Yunhao Fang, Xuxin Cheng, Ri-Zhao Qiu, Hongxu Yin, Sifei Liu, Song Han, Yao Lu, and Xiaolong Wang. Egovla: Learning vision-language-action models from egocentric human videos, 2025.

[^30]: Zhuoyi Yang, Jiayan Teng, Wendi Zheng, Ming Ding, Shiyu Huang, Jiazheng Xu, Yuanming Yang, Wenyi Hong, Xiaohan Zhang, Guanyu Feng, Da Yin, Yuxuan Zhang, Weihan Wang, Yean Cheng, Bin Xu, Xiaotao Gu, Yuxiao Dong, and Jie Tang. CogVideoX: Text-to-video diffusion models with an expert transformer. In International Conference on Learning Representations (ICLR), 2025.

[^31]: Yufei Ye, Yao Feng, Omid Taheri, Haiwen Feng, Shubham Tulsiani, and Michael J. Black. Predicting 4d hand trajectory from monocular videos, 2025.

[^32]: Zhengdi Yu, Stefanos Zafeiriou, and Tolga Birdal. Dyn-HaMR: Recovering 4D interacting hand motion from a dynamic camera. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2025.

[^33]: Tianyu Yuan, Yuanbo Yang, Lin-Zhuo Chen, Yao Yao, and Zhuzhong Qian. Denoise to track: Harnessing video diffusion priors for robust correspondence, 2025.

[^34]: Jinglei Zhang, Jiankang Deng, Chao Ma, and Rolandos Alexandros Potamias. HaWoR: World-space hand motion reconstruction from egocentric videos. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2025.

## [^35]: Ruijie Zheng, Dantong Niu, Yuqi Xie, Jing Wang, Mengda Xu, Yunfan Jiang, Fernando Castañeda, Fengyuan Hu, You Liang Tan, Letian Fu, Trevor Darrell, Furong Huang, Yuke Zhu, Danfei Xu, and Linxi Fan. Egoscale: Scaling dexterous manipulation with diverse egocentric human data, 2026

---

## 补充材料

本补充材料的编排方式是先介绍正式的评估协议，再呈现基于该协议的结果。§A部分推导了主论文中提出的覆盖度相关评估协议，并给出了各评估指标的封闭形式定义。§§C和B部分从两个维度扩展了主论文中的对比分析：一是在三个基准数据集上对共同预测的手部进行成对姿态对比；二是按侧别划分检测F1值。§D部分新增了13幅来自ARCTIC、HOT3D和真实场景中心视视频的定性对比图。§E部分说明了所使用的数据集、解码器架构、损失函数以及两阶段训练流程。§F部分报告了在ARCTIC数据集上进行的损失项消融实验结果。

### 目录

1 引言 2  
2 相关工作 3  
3 方法 3  
3.1 概述 3  
3.2 手部感知视频扩散模型 4  
3.3 双分支手部解码器 5  
3.4 训练目标 6  
4 实验 6  
4.1 实验设置 6  
4.2 与现有技术的对比 7  
4.3 消融研究 8  
4.4 定性结果 9  
5 结论 9  
A 评估协议与指标定义 14  
A.1 指标定义 14  
A.2 预测结果与真实标签的对齐 17  
A.3 覆盖度相关评估协议 18  
B 按侧别的手部检测分析 18  
C 对共同预测手部的成对对比 19  
D 额外的定性对比 21  
E 实现细节 29  
E.1 数据集与相机 29  
E.2 解码器架构 30  
E.2.1 射线空间位置编码 32

---

E.2.2 混合投影相机-平移头 ..... 32  
E.3 损失函数 ..... 33  
E.4 两阶段训练流程 ..... 35  
E.4.1 阶段1a：在EgoDex数据集上进行关节叠加预训练 ..... 35  
E.4.2 阶段1b：MANO网格叠加微调 ..... 35  
E.4.3 阶段2：MANO解码器训练 ..... 35  
E.5 可控拟合研究：特征切片的容量 ..... 36

### F ARCTIC数据集上的损失项消融实验

### A 评估协议与指标定义

我们报告了分为四类共九种指标（表6）。我们首先定义每种指标（$\S$A.1），接着描述预测结果与真实值之间的对齐流程（$\S$A.2），最后介绍这种考虑覆盖率的评估协议（$\S$A.3）——该协议会将假阴性情况纳入每个姿态指标的计算中，从而用一个数值同时反映检测覆盖率和姿态准确度。在此协议下计算出的指标会带有下标“-p”（表示存在性：每个存在的真实手部都会参与计算）。

<div style="text-align: center;">Table 6: Evaluation metrics. Category, unit, and whether the coverage-aware protocol of §A.3 applies. Detection metrics are higher-better; the rest are lower-better. All pose metrics use the coverage-aware protocol; Jitter is the only metric that opts out, since the second-order finite difference requires three contiguous tracked observations.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Category</td><td style='text-align: center; word-wrap: break-word;'>Metric</td><td style='text-align: center; word-wrap: break-word;'>Unit</td><td style='text-align: center; word-wrap: break-word;'>Coverage-aware?</td></tr><tr><td rowspan="3">Detection</td><td style='text-align: center; word-wrap: break-word;'>FAcc</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>F1</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td rowspan="2">3D Pose</td><td style='text-align: center; word-wrap: break-word;'>MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>mm</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>mm</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td rowspan="3">Orient. &amp; Pos.</td><td style='text-align: center; word-wrap: break-word;'>EPE-p</td><td style='text-align: center; word-wrap: break-word;'>px</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GO-p</td><td style='text-align: center; word-wrap: break-word;'>°</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CT-p</td><td style='text-align: center; word-wrap: break-word;'>m</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Temporal</td><td style='text-align: center; word-wrap: break-word;'>Jitter</td><td style='text-align: center; word-wrap: break-word;'>mm/frame $^{2}$</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr></table>

## A.1 指标定义

现在我们来定义这九种指标。文中我们用$\mathbf{J}_j \in \mathbb{R}^3$表示第j个预测的相机坐标系下的关节位置，其索引分别为$j \in \{0,1,\ldots,J-1\}$和$J = 21$；$j=0$代表手腕，$j = 1,\ldots,J-1$则代表按OpenPose顺序排列的其余MANO关节。在$\S$E.3中的所有损失项以及本节中的各类评估指标均采用相同的21个关节排序方式。我们用$\mathbf{J}_j^*$表示对应的真实值。

检测指标。这三种检测指标用于衡量某方法检测和正确分类手部（左侧/右侧）的可靠性，与姿态准确度无关。它们是基于测试集中所有帧和片段汇总得到的语料库级计数来计算的。

帧准确率（FAcc）。帧准确率是最严格的检测指标：它指的是屏幕上所有真实手部都能被正确匹配，且不存在屏幕上的误检预测结果的帧所占的比例。只要出现一个未被检测到的手部、一个多余的屏幕预测结果，或任意一侧出现左右手颠倒的情况，整帧就会被判定为不合格：

 $$ \mathrm{FAcc}=\frac{\left|\left\{t:\mathrm{FP}_{t}^{\mathrm{os}}=0\land\mathrm{FN}_{t}^{\mathrm{os}}=0\right\}\right|}{|\mathcal{F}|}, $$

---

其中$\mathcal{F}$表示包含至少一个真实手部的所有帧的集合，而$\mathrm{FP}_t^{\mathrm{os}}$和$\mathrm{FN}_t^{\mathrm{os}}$则分别表示在帧t中，根据$\S$A.2的屏幕外排除规则计算得出的屏幕上误检数和漏检数。屏幕外的真实手部以及与屏幕外手部匹配的预测结果均不计入此计数，因此即使某帧的唯一错误仅涉及视野外的手部，该帧仍会被视为完美帧；本文始终采用这一约定，即不会因方法未能预测不可见的手部而对其予以惩罚。对于需要每帧都提供可靠双手输入的下游任务（如机器人策略学习）而言，帧准确率尤其具有参考价值，因为哪怕一帧的遗漏也可能破坏整个轨迹。

召回率。召回率是指所有帧中被成功检测到且匹配到正确手性的真实手部实例所占的比例：

 $$ Recall=\frac{n_{TP}}{n_{TP}+n_{FN}}. $$

召回率会先按左右侧分别统计，然后再求和。召回率高但精确度低的方法往往会产生多余的虚假手部，而精确度高但召回率低的方法则会在难度较高的帧中遗漏手部。

F1分数。F1分数是精确度和召回率的调和平均值，能够平衡误检率和漏检率：

 $$ Precision=\frac{n_{TP}}{n_{TP}+n_{FP}},\qquad F1=\frac{2\cdot Precision\cdot Recall}{Precision+Recall}. $$

精确度会惩罚那些没有对应真实值的虚假预测，而召回率则会惩罚漏检情况，因此F1用一个数值概括了这两种失效模式。

3D姿态指标（考虑覆盖率）。3D姿态指标用于衡量预测手部骨骼的准确度。两者均基于以根节点为参照的关节位置进行计算，以排除绝对平移的影响。

MPJPE-p（毫米）。MPJPE-p指的是根节点对齐后的关节位置平均误差。对于每一对真正匹配的关节，先将21个预测关节通过减去手腕（关节0）的位置来进行根节点对齐，再与同样经过根节点对齐的真实值进行比较。每个样本的错误为

 $$ e_{\mathrm{M P J P E}}=\frac{1}{J}\sum_{j=0}^{J-1}\left\|\left(\widehat{\mathbf{J}}_{j}-\widehat{\mathbf{J}}_{0}\right)-\left(\mathbf{J}_{j}^{\star}-\mathbf{J}_{0}^{\star}\right)\right\|_{2}, $$

其中J=21，所有位置的单位均为米；最终指标以毫米为单位报告（$\times$1000）。根节点对齐消除了相机坐标系绝对平移的影响，从而能够单独反映手部内部关节活动及全局朝向方面的误差。对于假阴性情况，标准的MANO占位符（公式22）在ARCTIC数据集上产生的样本误差约为132毫米，这一数值反映了手部静止姿态与典型的关节活动真实值之间的位移。随后通过公式23计算出考虑覆盖率的指标。

PA-MPJPE-p（毫米）。PA-MPJPE-p即经过Procrustes对齐的MPJPE。在计算关节间距离之前，我们先把相对根节点的预测关节$\widehat{\mathbf{P}} = \{\widehat{\mathbf{J}}_j - \widehat{\mathbf{J}}_0\}_{j=0}^{J-1} \in \mathbb{R}^{J \times 3}$和相对根节点的真实关节$\mathbf{P}^* = \{\mathbf{J}_j^* - \mathbf{J}_0^*\}_{j=0}^{J-1} \in \mathbb{R}^{J \times 3}$堆叠起来，再通过相似变换（旋转、平移和均匀缩放）将$\widehat{\mathbf{P}}$与$\mathbf{P}^*$对齐，以使平方距离之和最小化。具体来说，我们首先对两个点云$\widehat{\mathbf{P}} = \widehat{\mathbf{P}} - \boldsymbol{\mu}_P$和$\widehat{\mathbf{P}}^* = \mathbf{P}^* - \boldsymbol{\mu}_{P^*}$进行中心化处理，其中$\boldsymbol{\mu}$表示按列求均值。接着我们计算交叉协方差矩阵的奇异值分解。

 $$ \mathbf{H}=\overline{{\widehat{\mathbf{P}}}}^{\top}\overline{{\mathbf{P}}}^{\star}=\mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^{\top}, $$

以此恢复最优旋转并同时处理镜像反射情况。

 $$ \mathbf{R}^{\mathrm{o p t}}=\mathbf{V}\operatorname{d i a g}\bigl(1,~1,~\operatorname*{d e t}(\mathbf{V}\mathbf{U}^{\top})\bigr)\mathbf{U}^{\top}, $$

以及最优缩放系数，

 $$ s^{\mathrm{o p t}}=\frac{\mathrm{t r}\big(\mathbf{R}^{\mathrm{o p t}}\mathbf{H}\big)}{\mathrm{t r}\big(\overline{{\widehat{\mathbf{P}}}}^{\top}\overline{{\widehat{\mathbf{P}}}}\big)}\;. $$

对齐后的预测结果及相应的样本误差为

 $$ \widehat{\mathbf{P}}^{\mathrm{a l i g n e d}}=s^{\mathrm{o p t}}\overline{{\widehat{\mathbf{P}}}}(\mathbf{R}^{\mathrm{o p t}})^{\top}+\pmb{\mu}_{P^{\star}},\qquad e_{\mathrm{P A}}=\frac{1}{J}\sum_{j=0}^{J-1}\big\|\widehat{\mathbf{P}}_{j}^{\mathrm{a l i g n e d}}-\mathbf{P}_{j}^{\star}\big\|_{2}, $$

---

其中$\widehat{\mathbf{P}}_j^{\text{aligned}}$和$\mathbf{P}_j^*$分别表示对应矩阵的第j行。在真正匹配的正样本中，Procrustes对齐消除了全局朝向、平移和缩放的影响，因此这一指标能单独反映关节活动误差：两个Procrustes对齐误差相同但MPJPE不同的匹配预测结果，其差异源于全局手腕旋转和手部缩放的不同，而非手指关节活动。作为考虑覆盖率的指标，PA-MPJPE-p还会针对每个未被检测到的手部计入原始标准占位符（如下）的误差，因此最终报告的值也反映了检测覆盖率，并非纯粹的关节活动评分。

对于假阴性情况，标准占位符采用的原始（未经Procrustes对齐的）标准MPJPE约为132毫米，这一数值与MPJPE-p占位符的结果一致。若对标准静止姿态应用Procrustes对齐，假阴性的误差成本将降至约10–25毫米（因为对齐过程有足够的自由度来抵消大部分位移），这样一来漏检的成本几乎可以忽略不计，从而会破坏考虑覆盖率的评估协议。

朝向和位置指标（考虑覆盖率）。朝向和位置指标用于评估预测的手腕全局朝向、相机坐标系中的绝对3D位置以及2D投影精度。与上述的3D姿态指标不同，这些指标并非基于根节点对齐，因此能够反映绝对空间精度。

GO-p（度）。GO-p即测地全局朝向误差。每个样本的错误是指预测的手腕旋转矩阵与真实值旋转矩阵在SO(3)上的测地（最短路径）距离，从几何意义上讲，这就是将一种朝向映射到另一种朝向所需的唯一轴角旋转的角度：

 $$ e_{\mathrm{G O}}=\operatorname{a r c c o s}\Bigl(\mathrm{c l a m p}\bigl(\frac{\mathrm{t r}(\hat{R}^{\top}R^{\star})-1}{2},-1,1\bigr)\Bigr)\cdot\frac{180}{\pi}, $$

其中 $\hat{R}, R^* \in \text{SO}(3)$ 分别是预测的与真实的全局方向（手腕）旋转矩阵，而截断操作可确保在迹值接近边界值 $-1$ 或 3 时数值保持稳定。结果以度为单位。对于假阴性情况，该占位符表示从单位矩阵到真实方向的测地距离：$e_{\text{GO}}^{\text{can}} = \text{geodesic}(\mathbf{I}_3, R^*)$。该占位符因样本而异，在 ARCTIC 数据集上其范围约为 $40^\circ$ 到 $90^\circ$，它反映了被遗漏手部的实际手腕旋转情况。

CT-p（米）。CT-p 指的是相机平移误差。每个样本的误差为预测值与真实值之间相机坐标系下的平移距离（3D手腕位置）：

 $$ \begin{array}{r}{e_{\mathrm{C T}}=\left\|\widehat{\mathbf{t}}-\mathbf{t}^{\star}\right\|_{2},}\end{array} $$

其中 $\mathbf{t}, \mathbf{t}^* \in \mathbb{R}^3$ 分别为预测值与真实值的相机平移向量，单位为米。CT-p 是唯一能够衡量相机坐标系中绝对 3D手腕位置的指标；而 MPJPE 系列指标会通过根节点对齐来消除平移影响。相机平移包含深度信息 $(t^z)$，且与焦距相关联，因此对内部参数建模较为敏感。对于假阴性情况，该占位符表示从相机原点到真实手部的距离：$e_{CT}^{\mathrm{can}} = \| \mathbf{t}^*\|_2$；其大小取决于数据集，在胸挂式 ARCTIC 数据集上约为 0.5–0.8 米，头戴式 HOT3D（Aria）上稍短，而在 HOI4D 数据集上可达约 1.5 米，因为该数据集中的相机可能会远离手部。

EPE-p（像素）。EPE-p 指的是 2D 端点误差。每个 3D关节通过针孔投影方式投射到图像平面上，投影时使用该片段的内参；为防止针孔投影失控，深度值在除法前会被限制在 $z \geq 0.01$ 米以内。与那些考虑毫米/度/覆盖范围的指标不同，EPE-p 是在关节级别而非样本级别进行聚合的，并且设有屏幕内的关节掩码：只有那些真实 2D投影位于 $[0, W) \times [0, H)$ 范围内且距离不超过 $z > 0.01$ 米的关节才会计入分子或分母。具体来说，

 $$ \mathrm{E P E-p}=\frac{\sum_{(i,j)\in\mathcal{T}}\min\left(\left\|\pi_{K}(\widehat{\mathbf{J}}_{i,j})-\pi_{K}(\mathbf{J}_{i,j}^{\star})\right\|_{2},d_{\mathrm{i m g}}\right)\\ ||\mathcal{T}|+|\mathcal{N}|}{\left|\mathcal{T}\right|+|\mathcal{N}|}, $$

其中 $\mathcal{T}=\{(i,j):\mathrm{TP}\,i,\,\mathrm{joint}\,j\;\mathrm{on-screen}\}$ 为真阳性（样本，关节）对集合，$\mathcal{N}=\{(i,j):\mathrm{FN}\,i,\,\mathrm{ground-truth\,joint}\,j\;\mathrm{on-screen}\}$ 为对应的假阴性（样本，关节）对集合。针孔投影公式为

 $$ \pi_{K}(\mathbf{p})=\left(\begin{matrix}{f_{x}p_{x}/p_{z}+c_{x}}\\ {f_{y}p_{y}/p_{z}+c_{y}}\\ \end{matrix}\right), $$

其中 $d_{\mathrm{img}} = \sqrt{W^2 + H^2}$ 为图像对角线长度。为防止当 $d_{\mathrm{img}}$ 导致针孔投影坐标超出极端像素范围时出现数值爆炸，关节间距离会被限制在 $p_z \approx 0$ 以内。对于每个

---

属于假阴性的真实手部，屏幕上每个关节都会贡献一个占位符距离值 $d_{img}$，在 ARCTIC 数据集上约为 826 像素（$672 \times 480$），在 HOT3D 上为 679 像素（$480 \times 480$），在 HOI4D 上则为 980 像素（$854 \times 480$）。选择图像对角线作为基准是因为它是帧内任意两个关节所能达到的最坏情况下的像素距离，由此可得错过手部时每个关节所承担的像素成本是有上限但相当大的，这一数值要大于中点占位符所给出的约 200 像素的图像中心距离。

时间维度指标。抖动（$mm/frame^{2}$）。抖动通过二阶有限差分（离散加速度）的平均值来衡量预测 3D关节轨迹的时间平滑度。它是在连续片段上计算的：所谓连续片段，是指同一真实手部身份持续与预测结果匹配的最大连续帧序列。如果某一帧中某侧手部出现假阴性情况，则该侧的连续片段便会中断。只有包含 $L_{T} \geq 3$ 帧的连续片段才会被纳入计算，因为二阶差分至少需要三个连续观测值。

对于长度为 $L_r$ 的单个连续片段 r，设 $\tilde{\mathbf{J}}_{j,t}^{(r)}$ 表示视频帧 t 中关节 j 在相机坐标系下的绝对 3D位置。则该连续片段的抖动值为

 $$ \mathrm{J i t t e r}_{r}=\frac{1}{(L_{r}-2)\cdot J}\sum_{t=2}^{L_{r}-1}\sum_{i=0}^{J-1}\left\|\widehat{\mathbf{J}}_{j,t+1}^{(r)}-2\widehat{\mathbf{J}}_{j,t}^{(r)}+\widehat{\mathbf{J}}_{j,t-1}^{(r)}\right\|_{2}, $$

全局抖动值是所有运行结果的加权平均值，其中每次运行对其贡献程度取决于其加速度样本的数量。

 $$ Jitter=\frac{\displaystyle\sum_{r}(L_{r}-2)\cdot Jitter_{r}}{\displaystyle\sum_{r}(L_{r}-2)}. $$

结果单位为毫米/帧 $^{2}$（位置数据由米转换为毫米），数值越低说明预测结果越平滑、时间连贯性越好。抖动用于衡量预测姿态的时间不稳定性，且无需参考真实的加速度数据：某种方法可能抖动值低但MPJPE-p值高（即预测结果平滑但存在偏差），反之亦然。我们仅针对真正例计算抖动值（无覆盖相关占位符），因为时间有限差分运算要求追踪的识别结果连续；若某帧出现假阴性情况，由于该帧没有对应的预测结果，也就不存在有意义的“加速度”数据，而若对此进行插值或填充，会将检测误差与平滑度混为一谈。

## A.2 预测结果与真实值的对齐

每帧可能包含0个、1个或2个真实手部位（左手、右手）。我们采用基于IoU的匹配协议，该协议可统一适用于固定槽位解码器以及基于检测器的基线模型。

对于每一帧，我们先计算出预测的手部和真实MANO网格的2D边界框（通过针孔相机模型投影得到），并将真实边界框扩大10%以弥补细微的对齐偏差。预测结果会按照IoU从大到小的顺序与真实手部进行贪心匹配，同时需满足手性约束：只有当预测的手性和真实手性的标签一致，且两者边界框的IoU超过$\tau_{IoU}=0.1$时，匹配才有效。该阈值设置得较为宽松，这样那些接近匹配的模糊预测结果仍能被归为对应的真实手部，而不会既被计为真实侧的假阴性，又被计为预测侧的假阳性。对于我们的方法而言，左侧槽位（s = L）负责预测左手，右侧槽位（s = R）负责预测右手，因此匹配过程是确定的。对于每帧产生任意数量预测结果的基线模型，每个预测结果都会带有来自检测器或回归器的手性标签；若多个预测结果匹配同一真实手部，则保留IoU最高的那个预测结果。

若匹配到的预测结果的手部存在概率超过0.5，则该预测结果为真正例（TP）。对于我们的方法，阈值设定为屏幕可见性logit的sigmoid值$\sigma(\hat{e}) > 0.5$；对于输出显式单预测置信度的基线模型（如HaMeR、WiLoR、Hamba、OmniHands、InterWild），我们采用它们报告的置信度；对于输出每个追踪手部无条件边界框的基于追踪器的流程（如HaWoR、Dyn-HaMR），我们将所有输出的预测结果视为正例，以免该协议因缺少存在性判断头而对它们做出不利评价。没有有效匹配结果的真实手部属于假阴性（FN）；没有有效匹配结果的预测结果属于假阳性（FP）。我们不会对任何基线模型的运行阈值进行调整：每种方法均按其默认的置信度运行（对于基于追踪器的流程，则使用其输出的置信度集），且所有方法均采用相同的$\tau_{IoU} = 0.1$阈值，这样比较结果能反映每种方法的实际部署情况，而非我们人为选定的阈值。

---

屏幕外过滤。当一只手的21个MANO关节均没有投影到图像平面上时，该手被视为屏幕外物体 $[0, W) \times [0, H)$，其距离为 $z > 0.01$ 米。之所以采用这21个骨骼关节而非778个网格顶点作为判断依据，是因为MPJPE和EPE直接衡量关节几何特征；如果仅以指尖的少量网格存在于画面中为依据，那么这种手就会被当作完全可见的手来处理。在本文采用的屏幕外排除规则下，屏幕外的真实手势将不纳入所有评价指标（不仅限于二维指标），与屏幕外手势匹配的预测结果也会被排除在外。这一做法可避免因为方法未能检测出完全处于视野之外的手而对其予以惩罚，同时又能确保该标准仅基于真实数据且独立于具体方法。

## A.3 覆盖度感知评估协议

传统的手部姿态基准测试仅在真正被检测到的样本上计算姿态指标（如MPJPE、PA-MPJPE等），而会悄悄忽略假阴性结果。这种做法会奖励那些刻意跳过模糊帧的保守型检测器：一种能检测出85%手部且单次预测准确率极高的方法，其表现可能会优于能检测出97%手部但单次预测准确率稍低的方法。为解决这一问题，我们采用了覆盖度感知评估协议，该协议会将每一个真实手势实例——无论是否被匹配到——都纳入所有姿态指标的计算中。在此协议下计算的指标会标注上下标“-p”（表示“存在性”：每个存在的真实手势都会被计入评分）。

对于每个假阴性结果，我们会用标准的MANO占位符来替代：即位于相机原点的、具有恒等旋转、零姿态且形状为平均形状的MANO输出结果。

 $$ \widehat{\mathbf{h}}^{\mathrm{c a n}}=\left(\widehat{R}=\mathbf{I}_{3},\widehat{\boldsymbol{\theta}}=\mathbf{I}_{3}^{\otimes15},\widehat{\boldsymbol{\beta}}=\mathbf{0},\widehat{\mathbf{t}}=\mathbf{0}\right). $$

在ARCTIC数据集上，该标准占位符产生的单样本MPJPE值约为132毫米。由于MPJPE是相对于根节点的误差（公式11），绝对深度会被抵消：这132毫米仅反映了标准静止姿态（手指伸直）与典型的真实手势在关节处的位移差异，二者均已以手腕为锚点对齐。此时覆盖度感知指标计算如下：

 $$ metric_{p}=\frac{\displaystyle\sum_{i\in TP}e_{i}+\sum_{i\in FN}e_{i}^{can}}{n_{TP}+n_{FN}}, $$

其中 $e_i$ 表示匹配预测的单个样本误差，$e_i^{\text{can}}$ 表示标准占位符与第i个未被检测到的真实手势之间的误差。该占位符误差是按样本计算的（并非固定常数），因为它取决于真实手势的实际姿态、方向和位置。各指标的占位符定义会在§A.1中随对应指标一同给出。

该协议针对每个指标生成一个数字，用以综合反映检测覆盖率和姿态精度：若某种方法未能检测到手部，将会产生一个较大的、确定的占位符代价；而若某种方法虽能检测出所有手部但预测结果较差，其得分也会很低。由于该占位符误差相对于典型的真阳性误差而言相当显著，因此召回率方面的失误会直接体现在指标中，而不会被掩盖。对于那些占位符数值远超典型真阳性误差的指标而言，这一特点尤为明显（如MPJPE-p、PA-MPJPE-p、EPE-p、GO-p）。相机平移属于最轻微的情况，但这并不意味着可以忽视漏检的手部：此处所用的占位符指的是相机到手部的距离 $\|t^*\|$（在我们的基准测试中，该距离范围为 $\approx$ 0.5–1.5米），这一数值大约比定位精准的方法所测得的手部平移误差（$\approx$0.04–0.12米）大一个数量级，因此漏检手部在此处也会受到严重惩罚。只有当某种方法所检测到的手部平移误差本身已经糟糕到接近 $\|t^*\|$ 时——比如采用深度塌陷型基线算法的情况——该占位符才不会再因检测不佳而增加额外代价；而此类方法在其能检测到的手部上已然受到了严厉惩罚。因此，我们将CT-p视为一种有效的、兼顾覆盖率的平移度量指标，同时仍会通过召回率和F1分数来佐证检测结果。

## B 单侧手部检测分析

表 7 列出了三个基准测试中所有基线模型在左侧、右侧及总体上的手部检测 F1 分数，并将左右侧混淆情况体现为非对称的单侧 F1 分数，而非单独的左右手类别指标。

这种不对称性在 HOI4D 数据集上最为显著，有五种基线模型的左手 F1 分数介于 0.385 到 0.473 之间：这是因为大多数视频片段展示的是单手操作场景，而这些模型会在不存在手的那一侧给出错误的预测。ViDiHand 在每一个数据集上的单侧 F1 分数均保持在 0.981 及以上。

---

<div style="text-align: center;">Table 7: Per-side hand detection F1. Left-hand (L), right-hand (R), and combined (Tot) detection F1 for the eight baselines and ViDiHand on the three benchmarks. Higher is better.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td colspan="3">ARCTIC</td><td colspan="3">HOT3D</td><td colspan="3">HOI4D</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>R</td><td style='text-align: center; word-wrap: break-word;'>Tot</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>R</td><td style='text-align: center; word-wrap: break-word;'>Tot</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>R</td><td style='text-align: center; word-wrap: break-word;'>Tot</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>0.955</td><td style='text-align: center; word-wrap: break-word;'>0.964</td><td style='text-align: center; word-wrap: break-word;'>0.959</td><td style='text-align: center; word-wrap: break-word;'>0.802</td><td style='text-align: center; word-wrap: break-word;'>0.925</td><td style='text-align: center; word-wrap: break-word;'>0.868</td><td style='text-align: center; word-wrap: break-word;'>0.473</td><td style='text-align: center; word-wrap: break-word;'>0.954</td><td style='text-align: center; word-wrap: break-word;'>0.864</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>0.949</td><td style='text-align: center; word-wrap: break-word;'>0.964</td><td style='text-align: center; word-wrap: break-word;'>0.957</td><td style='text-align: center; word-wrap: break-word;'>0.826</td><td style='text-align: center; word-wrap: break-word;'>0.935</td><td style='text-align: center; word-wrap: break-word;'>0.883</td><td style='text-align: center; word-wrap: break-word;'>0.473</td><td style='text-align: center; word-wrap: break-word;'>0.956</td><td style='text-align: center; word-wrap: break-word;'>0.864</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>0.937</td><td style='text-align: center; word-wrap: break-word;'>0.946</td><td style='text-align: center; word-wrap: break-word;'>0.941</td><td style='text-align: center; word-wrap: break-word;'>0.796</td><td style='text-align: center; word-wrap: break-word;'>0.903</td><td style='text-align: center; word-wrap: break-word;'>0.853</td><td style='text-align: center; word-wrap: break-word;'>0.473</td><td style='text-align: center; word-wrap: break-word;'>0.935</td><td style='text-align: center; word-wrap: break-word;'>0.849</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>0.953</td><td style='text-align: center; word-wrap: break-word;'>0.966</td><td style='text-align: center; word-wrap: break-word;'>0.960</td><td style='text-align: center; word-wrap: break-word;'>0.797</td><td style='text-align: center; word-wrap: break-word;'>0.885</td><td style='text-align: center; word-wrap: break-word;'>0.844</td><td style='text-align: center; word-wrap: break-word;'>0.470</td><td style='text-align: center; word-wrap: break-word;'>0.956</td><td style='text-align: center; word-wrap: break-word;'>0.864</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>0.945</td><td style='text-align: center; word-wrap: break-word;'>0.961</td><td style='text-align: center; word-wrap: break-word;'>0.954</td><td style='text-align: center; word-wrap: break-word;'>0.810</td><td style='text-align: center; word-wrap: break-word;'>0.921</td><td style='text-align: center; word-wrap: break-word;'>0.868</td><td style='text-align: center; word-wrap: break-word;'>0.385</td><td style='text-align: center; word-wrap: break-word;'>0.962</td><td style='text-align: center; word-wrap: break-word;'>0.834</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>0.975</td><td style='text-align: center; word-wrap: break-word;'>0.974</td><td style='text-align: center; word-wrap: break-word;'>0.974</td><td style='text-align: center; word-wrap: break-word;'>0.921</td><td style='text-align: center; word-wrap: break-word;'>0.949</td><td style='text-align: center; word-wrap: break-word;'>0.937</td><td style='text-align: center; word-wrap: break-word;'>0.893</td><td style='text-align: center; word-wrap: break-word;'>0.982</td><td style='text-align: center; word-wrap: break-word;'>0.972</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>0.951</td><td style='text-align: center; word-wrap: break-word;'>0.951</td><td style='text-align: center; word-wrap: break-word;'>0.951</td><td style='text-align: center; word-wrap: break-word;'>0.735</td><td style='text-align: center; word-wrap: break-word;'>0.856</td><td style='text-align: center; word-wrap: break-word;'>0.802</td><td style='text-align: center; word-wrap: break-word;'>0.790</td><td style='text-align: center; word-wrap: break-word;'>0.851</td><td style='text-align: center; word-wrap: break-word;'>0.845</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>0.906</td><td style='text-align: center; word-wrap: break-word;'>0.883</td><td style='text-align: center; word-wrap: break-word;'>0.895</td><td style='text-align: center; word-wrap: break-word;'>0.620</td><td style='text-align: center; word-wrap: break-word;'>0.682</td><td style='text-align: center; word-wrap: break-word;'>0.654</td><td style='text-align: center; word-wrap: break-word;'>0.837</td><td style='text-align: center; word-wrap: break-word;'>0.928</td><td style='text-align: center; word-wrap: break-word;'>0.919</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ViDiHand (Ours)</td><td style='text-align: center; word-wrap: break-word;'>1.000</td><td style='text-align: center; word-wrap: break-word;'>0.999</td><td style='text-align: center; word-wrap: break-word;'>0.999</td><td style='text-align: center; word-wrap: break-word;'>0.981</td><td style='text-align: center; word-wrap: break-word;'>0.985</td><td style='text-align: center; word-wrap: break-word;'>0.983</td><td style='text-align: center; word-wrap: break-word;'>0.986</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.990</td></tr></table>

### C 对共同预测的手部进行成对比较

为求完整起见，表8–10展示了仅限于共同预测手部之间的姿态配对比较结果。这种处理方式沿袭了以往手部姿态论文的惯例：仅针对已预测出的手部计算姿态，而未被检测到的手部则不纳入考量。这八个基线模型采用了不同的检测前端：基于帧的ViT或CNN裁剪模块，由外部手部检测器（如HaMeR、WiLoR、Hamba、WildHands）控制；采用学习查询的多手Transformer模型（如OmniHands、InterWild）；DROID-SLAM跟踪模块（HaWoR）；以及4D生物力学优化模型（Dyn-HaMR）。因此，每种方法生成的预测手部集合各不相同，而取这八个集合的交集后，比较范围便缩小到了召回率最低的基线模型——例如，HaWoR在HOT3D数据集上的召回率为49.9%，这意味着它实际上忽略了数据集中一半的样本，从而抹杀了更优检测器所具备的召回率优势。为了在保证各方法公平对比的同时适应这些异质性的检测器，我们采用了该协议的配对变体：对于每个基线模型B，ViDiHand与B会在同一组（帧，手侧）对上进行评分，这些样本需满足两个条件：两种方法均给出了同侧的手部预测，且真实手部确实出现在画面中。表格中的每个单元格均以“B/我们的方法”的形式呈现，数值是基于这一共享样本集计算得出的平均值，加粗数字表示两者中更优的结果；由于每行对应的样本集不同，ViDiHand的数值在各行间会略有差异。由于此处旨在比较姿态精度而非检测能力，预测结果与真实值是通过手部身份进行配对的：只要两种方法在同一（帧，手侧）位置上做出了同侧预测，该样本就会被计入统计，无需考虑空间重叠条件。这种处理方式是刻意为之——若设置空间重叠门槛，那些虽位于正确手部位置但定位不精确的预测就会被排除，进而将定位精度的影响混入姿态评分中；而在此处，每种方法的表现是根据其预测的所有手部的姿态来评判的。因此，这一样本集与正文论文中采用的覆盖度感知协议所定义的真正阳性样本集存在差异：后者是通过边界框重叠程度来匹配预测结果与真实值的，且会对每个未匹配的手部赋予一个有限的占位符分值；在该协议中，那些虽然位于正确手部上但定位松散的预测会被计为假阴性，而在本文中这类预测仍会被计入评分。因此，这两组样本集的差异不仅限于召回率的差距，它们对应的各项指标值也并非能通过召回率加权来关联——这一点在相机平移指标上表现得最为明显，该指标主要受空间位置影响，会导致两种表格中方法的排名有所不同。与重叠门槛不同，基于身份的匹配方式不会排除那些深度回归值已变为物理上不可能取值的预测结果。在HOI4D的几帧图像中，OmniHands预测的手部位置距离摄像头达数千米之遥——最远可达$\sim4000$米，其21个关节投影到一个像素上——这导致其平均共预测相机平移值被抬高。上述表格中报告的正是这些未经限幅的数值。作为鲁棒性检验，我们将每种方法对单个手部的相机平移值限制在100米以内（参照图像对角线EPE2D的限幅规则，见§A.1），此时只有OmniHands的数值发生变化：其在ARCTIC、HOT3D及预留的HOI4D数据集上的共预测相机平移值分别从0.070/0.119/0.183米降至0.064/0.114/0.070米；即便将限幅值设为30米，数值也仅为0.059/0.106/0.068米。其他方法的数值均无变化，因为OmniHands是唯一一个存在超过30米预测手部的方法——在这三个数据集上分别有4对、12对和1对（帧，手侧）样本属于此类情况。在此限幅条件下，OmniHands在预留HOI4D数据集上的相机平移值（0.070米）会低于ViDiHand的值（0.111米），从而改变该单元格的排名；我们在表格中保留了未限幅的数值，同时在此处披露限幅后的结果，以便两者都能被看到。正文论文中的覆盖度感知协议则无需此类限幅：在该协议中，这种仅投影到一个像素上的退化预测无法通过IoU门槛检验。

---

<div style="text-align: center;">its ground-truth hand instead receives the bounded placeholder  $\|t^*\|$, so the outlier never enters the average.</div>

<div style="text-align: center;">Table 8: Pairwise comparison on co-predicted hands, ARCTIC. For each baseline (row) and metric (column), the cell reports baseline/ViDiHand, computed only on (frame, hand-side) pairs where both methods emit a same-side prediction and the ground-truth hand is on screen. Bold marks the better value in each cell.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td colspan="2">3D Pose</td><td colspan="3">Orient. &amp; Position</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE (mm)</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE (mm)</td><td style='text-align: center; word-wrap: break-word;'>EPE2D (px)</td><td style='text-align: center; word-wrap: break-word;'>GO ( $^{\circ}$)</td><td style='text-align: center; word-wrap: break-word;'>CT (m)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>27.46 / 20.92</td><td style='text-align: center; word-wrap: break-word;'>11.05 / 9.63</td><td style='text-align: center; word-wrap: break-word;'>17.23 / 11.16</td><td style='text-align: center; word-wrap: break-word;'>19.87 / 14.03</td><td style='text-align: center; word-wrap: break-word;'>0.072 / 0.046</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>26.16 / 20.93</td><td style='text-align: center; word-wrap: break-word;'>9.60 / 9.64</td><td style='text-align: center; word-wrap: break-word;'>29.49 / 11.17</td><td style='text-align: center; word-wrap: break-word;'>19.84 / 14.04</td><td style='text-align: center; word-wrap: break-word;'>0.070 / 0.046</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>25.74 / 20.65</td><td style='text-align: center; word-wrap: break-word;'>9.41 / 9.58</td><td style='text-align: center; word-wrap: break-word;'>29.44 / 10.89</td><td style='text-align: center; word-wrap: break-word;'>19.03 / 13.92</td><td style='text-align: center; word-wrap: break-word;'>0.070 / 0.046</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>21.83 / 20.95</td><td style='text-align: center; word-wrap: break-word;'>9.21 / 9.64</td><td style='text-align: center; word-wrap: break-word;'>15.85 / 11.19</td><td style='text-align: center; word-wrap: break-word;'>16.57 / 14.05</td><td style='text-align: center; word-wrap: break-word;'>0.032 / 0.046</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>26.93 / 21.04</td><td style='text-align: center; word-wrap: break-word;'>9.73 / 9.65</td><td style='text-align: center; word-wrap: break-word;'>19.55 / 11.32</td><td style='text-align: center; word-wrap: break-word;'>19.94 / 14.11</td><td style='text-align: center; word-wrap: break-word;'>0.070 / 0.046</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>18.05 / 20.87</td><td style='text-align: center; word-wrap: break-word;'>7.35 / 9.64</td><td style='text-align: center; word-wrap: break-word;'>34.86 / 10.98</td><td style='text-align: center; word-wrap: break-word;'>11.90 / 14.06</td><td style='text-align: center; word-wrap: break-word;'>0.050 / 0.046</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>22.10 / 21.10</td><td style='text-align: center; word-wrap: break-word;'>9.61 / 9.67</td><td style='text-align: center; word-wrap: break-word;'>30.82 / 11.32</td><td style='text-align: center; word-wrap: break-word;'>17.13 / 14.23</td><td style='text-align: center; word-wrap: break-word;'>0.083 / 0.045</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>32.75 / 20.31</td><td style='text-align: center; word-wrap: break-word;'>9.12 / 9.51</td><td style='text-align: center; word-wrap: break-word;'>30.46 / 10.54</td><td style='text-align: center; word-wrap: break-word;'>23.26 / 13.82</td><td style='text-align: center; word-wrap: break-word;'>0.058 / 0.045</td></tr></table>

<div style="text-align: center;">Table 9: Pairwise comparison on co-predicted hands, HOT3D. Same protocol as Tab. 8: each cell reports baseline/ViDiHand on (frame, hand-side) pairs where both methods emit a same-side prediction and the ground-truth hand is on screen, with bold marking the better value.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td colspan="2">3D Pose</td><td colspan="3">Orient. &amp; Position</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE (mm)</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE (mm)</td><td style='text-align: center; word-wrap: break-word;'>EPE2D (px)</td><td style='text-align: center; word-wrap: break-word;'>GO ( $^{\circ}$)</td><td style='text-align: center; word-wrap: break-word;'>CT (m)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>73.57 / 17.71</td><td style='text-align: center; word-wrap: break-word;'>11.16 / 7.83</td><td style='text-align: center; word-wrap: break-word;'>21.33 / 6.61</td><td style='text-align: center; word-wrap: break-word;'>50.48 / 11.84</td><td style='text-align: center; word-wrap: break-word;'>0.226 / 0.027</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>63.88 / 17.69</td><td style='text-align: center; word-wrap: break-word;'>10.32 / 7.82</td><td style='text-align: center; word-wrap: break-word;'>21.23 / 6.61</td><td style='text-align: center; word-wrap: break-word;'>42.34 / 11.83</td><td style='text-align: center; word-wrap: break-word;'>0.090 / 0.027</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>61.83 / 17.17</td><td style='text-align: center; word-wrap: break-word;'>9.51 / 7.71</td><td style='text-align: center; word-wrap: break-word;'>20.92 / 6.37</td><td style='text-align: center; word-wrap: break-word;'>40.99 / 11.40</td><td style='text-align: center; word-wrap: break-word;'>0.076 / 0.026</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>41.06 / 17.68</td><td style='text-align: center; word-wrap: break-word;'>12.46 / 7.82</td><td style='text-align: center; word-wrap: break-word;'>51.41 / 6.61</td><td style='text-align: center; word-wrap: break-word;'>39.01 / 11.83</td><td style='text-align: center; word-wrap: break-word;'>0.116 / 0.027</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>56.42 / 17.74</td><td style='text-align: center; word-wrap: break-word;'>10.22 / 7.84</td><td style='text-align: center; word-wrap: break-word;'>24.72 / 6.63</td><td style='text-align: center; word-wrap: break-word;'>38.99 / 11.89</td><td style='text-align: center; word-wrap: break-word;'>0.119 / 0.027</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>19.23 / 17.37</td><td style='text-align: center; word-wrap: break-word;'>6.82 / 7.77</td><td style='text-align: center; word-wrap: break-word;'>27.14 / 6.62</td><td style='text-align: center; word-wrap: break-word;'>12.24 / 11.57</td><td style='text-align: center; word-wrap: break-word;'>0.054 / 0.026</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>64.94 / 17.98</td><td style='text-align: center; word-wrap: break-word;'>17.88 / 7.82</td><td style='text-align: center; word-wrap: break-word;'>91.27 / 6.78</td><td style='text-align: center; word-wrap: break-word;'>24.44 / 12.14</td><td style='text-align: center; word-wrap: break-word;'>0.587 / 0.027</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>19.63 / 16.48</td><td style='text-align: center; word-wrap: break-word;'>7.26 / 7.47</td><td style='text-align: center; word-wrap: break-word;'>12.27 / 6.19</td><td style='text-align: center; word-wrap: break-word;'>13.27 / 10.91</td><td style='text-align: center; word-wrap: break-word;'>0.051 / 0.027</td></tr></table>

<div style="text-align: center;">Table 10: Pairwise comparison on co-predicted hands, held-out HOI4D. Same protocol as Tab. 8, evaluated with the main-paper ViDiHand model, for which HOI4D is held out (trained only on ARCTIC and HOT3D, with no explicit HOI4D supervision). Each cell reports baseline/ViDiHand, with bold marking the better value.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td colspan="2">3D Pose</td><td colspan="3">Orient. &amp; Position</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE (mm)</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE (mm)</td><td style='text-align: center; word-wrap: break-word;'>EPE2D (px)</td><td style='text-align: center; word-wrap: break-word;'>GO ( $^{\circ}$)</td><td style='text-align: center; word-wrap: break-word;'>CT (m)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>46.09 / 28.82</td><td style='text-align: center; word-wrap: break-word;'>13.18 / 12.86</td><td style='text-align: center; word-wrap: break-word;'>15.02 / 16.79</td><td style='text-align: center; word-wrap: break-word;'>32.90 / 21.87</td><td style='text-align: center; word-wrap: break-word;'>0.187 / 0.111</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>36.77 / 28.82</td><td style='text-align: center; word-wrap: break-word;'>11.95 / 12.86</td><td style='text-align: center; word-wrap: break-word;'>15.35 / 16.79</td><td style='text-align: center; word-wrap: break-word;'>24.08 / 21.87</td><td style='text-align: center; word-wrap: break-word;'>0.142 / 0.111</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>35.33 / 28.51</td><td style='text-align: center; word-wrap: break-word;'>11.32 / 12.74</td><td style='text-align: center; word-wrap: break-word;'>15.58 / 16.71</td><td style='text-align: center; word-wrap: break-word;'>23.25 / 21.53</td><td style='text-align: center; word-wrap: break-word;'>0.139 / 0.111</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>38.11 / 28.82</td><td style='text-align: center; word-wrap: break-word;'>14.24 / 12.87</td><td style='text-align: center; word-wrap: break-word;'>19.06 / 16.80</td><td style='text-align: center; word-wrap: break-word;'>37.28 / 21.87</td><td style='text-align: center; word-wrap: break-word;'>0.113 / 0.111</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>38.04 / 28.80</td><td style='text-align: center; word-wrap: break-word;'>10.71 / 12.85</td><td style='text-align: center; word-wrap: break-word;'>18.63 / 16.82</td><td style='text-align: center; word-wrap: break-word;'>26.95 / 21.82</td><td style='text-align: center; word-wrap: break-word;'>0.183 / 0.111</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>30.04 / 29.06</td><td style='text-align: center; word-wrap: break-word;'>10.55 / 12.88</td><td style='text-align: center; word-wrap: break-word;'>17.11 / 17.08</td><td style='text-align: center; word-wrap: break-word;'>21.09 / 22.19</td><td style='text-align: center; word-wrap: break-word;'>0.093 / 0.111</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>31.72 / 29.30</td><td style='text-align: center; word-wrap: break-word;'>12.57 / 12.88</td><td style='text-align: center; word-wrap: break-word;'>19.98 / 17.25</td><td style='text-align: center; word-wrap: break-word;'>23.29 / 22.51</td><td style='text-align: center; word-wrap: break-word;'>0.190 / 0.112</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>32.99 / 28.63</td><td style='text-align: center; word-wrap: break-word;'>11.48 / 12.68</td><td style='text-align: center; word-wrap: break-word;'>12.64 / 16.85</td><td style='text-align: center; word-wrap: break-word;'>26.15 / 22.03</td><td style='text-align: center; word-wrap: break-word;'>0.052 / 0.112</td></tr></table>

成对胜率。这种协同预测手部位置的协议在结构上优于基线方法，因为其设计初衷就是排除那些难以处理的情况——严重的手-物体或手-手遮挡、视野截断、运动模糊、鱼眼畸变边缘等；而正是这些情况下基线方法会漏检，恰好也是视频世界模型的内部表征所擅长处理的场景。尽管基线方法在结构上处于劣势，但ViDiHand在120个B/ours单元中仍赢得了96次：在ARCTIC数据集上赢了31次（共40次），在HOT3D数据集上赢了38次（共40次），在独立的HOI4D测试集上则赢了27次（共40次）。在分布内基准测试中，例外情况主要集中在Procrustes对齐的MPJPE指标上，该指标排除了全局旋转和平移的影响，仅反映局部关节运动情况。

---

而在成功检测到的手部子集上，最强的基线方法——包括基于裁剪的回归器以及经过SLAM优化的世界坐标系方法Dyn-HaMR和HaWoR——在这种对齐方式下表现与ViDiHand相当甚至更优。在独立的HOI4D测试集上，基线方法的胜率更为广泛，涵盖Procrustes对齐的MPJPE、2D投影以及相机平移等多个指标，这与下文提到的更大的跨数据集差异一致：在独立的HOI4D测试集上，ViDiHand并未接受针对HOI4D的专门训练（所有基线方法均如此），但在绝对MPJPE指标上仍领先于所有八种方法；在全局方向估计方面，它也几乎胜过所有基线方法，同时其检测覆盖率在所有方法中也是最高的（详见主论文）；专门的单帧回归器在对齐不变的姿态和2D投影指标上具备竞争力；正如主论文中关于CT-p的描述，几种基线方法在这个不熟悉的测试集上取得了更低的绝对相机平移误差，使得ViDiHand在该指标上排名居中。最后需要说明的是，此处采用的协同预测手部位置比较方式与主论文中的覆盖率相关指标属于不同的评估协议：前者仅统计两种方法共同检测到的手部，后者则针对每个真实手部数据，对未检测到的手部用确定的占位符表示（§A.3）——因此两者的排名未必一致，且彼此之间也不存在相互制约关系。这一点在相机平移指标上表现得最为明显。有两个因素导致这两个数值存在差异，且任一因素都可能使协同预测值更大。首先，它们统计的手部集合不同：前者仅包含共同检测到的手部，后者则涵盖所有真实手部。其次，覆盖率相关数值会用有界占位符$\|t^*\|$（即相机到手部的距离）来替代每个未检测到的手部，对于检测到的手部平移误差极大的方法而言，这个占位符的值比实际误差更小，从而拉低了覆盖率相关平均值。在HOT3D数据集上，两种情况均有体现：Dyn-HaMR的两个数值分别为0.587米与0.571米，位居第二——因其检测到的手部CT误差超过了占位符值；而InterWild的两个数值分别为0.226米与0.213米，位居第一，因为此处占位符（头戴式相机到手部的距离）大于其误差，所以微小的差距源于手部集合的不同而非占位符本身。无论哪种情况，协同预测的CT值都有可能超过该方法覆盖率相关的CT-p值，且并不涉及退化的预测结果。这些并非深度异常的极端值；它们是两种协议衡量不同事物的必然结果，而100米的界限（仅影响OmniHands）既不会造成也不会消除这种现象。§A.3中所述的覆盖率相关协议将每个未检测到的手部纳入考量，更能反映模型的端到端实用性。

容量参考：HOI4D属于同域数据。上述所有对比均使用主论文中预留的ViDiHand模型，该模型在训练阶段并未接受任何显式的HOI4D监督。正如主论文局限性部分所述，这里仅指显式监督：ViDiHand基于互联网规模的预训练视频骨干网络，其训练语料无法被逐一核查是否存在偶然接触情况，因此我们称HOI4D为未受显式监督的数据，而非绝对意义上的未见数据。为完整起见，表11还报告了在相同读出层上用同域HOI4D训练后的指标，表12则给出了其成对比较结果，用以说明当数据分布属于同域时该架构能达到的精度——这一精度水平与它在ARCTIC和HOT3D数据集上的表现一致。这些同域数据并非预留的对比样本（基线模型从未在HOI4D上训练），也未被用于针对基线的任何结论推导；表10中的预留模型才是所有基线对比所依据的对象。

<div style="text-align: center;">Table 11: HOI4D: held-out versus in-domain ViDiHand. Main-paper metrics (coverage-aware protocol, $A.3) on HOI4D for the held-out ViDiHand (the main-paper model; no explicit HOI4D supervision during training) and for the identical readout trained with HOI4D in-domain. Detection metrics are higher-better; the rest are lower-better. The in-domain readout (bold) reaches the same accuracy regime as on the in-distribution benchmarks; it is reported only to indicate the architecture's capacity, not as a baseline comparison.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">ViDiHand on HOI4D</td><td colspan="3">Detection</td><td colspan="2">3D Pose</td><td colspan="3">Orient. &amp; Position</td><td style='text-align: center; word-wrap: break-word;'>Temporal</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FAcc</td><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>F1</td><td style='text-align: center; word-wrap: break-word;'>MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>EPE-p</td><td style='text-align: center; word-wrap: break-word;'>GO-p</td><td style='text-align: center; word-wrap: break-word;'>CT-p</td><td style='text-align: center; word-wrap: break-word;'>Jitter</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Held-out (not HOI4D-trained)</td><td style='text-align: center; word-wrap: break-word;'>0.984</td><td style='text-align: center; word-wrap: break-word;'>0.991</td><td style='text-align: center; word-wrap: break-word;'>0.990</td><td style='text-align: center; word-wrap: break-word;'>30.090</td><td style='text-align: center; word-wrap: break-word;'>13.960</td><td style='text-align: center; word-wrap: break-word;'>24.460</td><td style='text-align: center; word-wrap: break-word;'>23.420</td><td style='text-align: center; word-wrap: break-word;'>0.117</td><td style='text-align: center; word-wrap: break-word;'>4.010</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>In-domain (HOI4D in training)</td><td style='text-align: center; word-wrap: break-word;'>0.993</td><td style='text-align: center; word-wrap: break-word;'>0.996</td><td style='text-align: center; word-wrap: break-word;'>0.996</td><td style='text-align: center; word-wrap: break-word;'>15.674</td><td style='text-align: center; word-wrap: break-word;'>7.253</td><td style='text-align: center; word-wrap: break-word;'>9.693</td><td style='text-align: center; word-wrap: break-word;'>13.015</td><td style='text-align: center; word-wrap: break-word;'>0.025</td><td style='text-align: center; word-wrap: break-word;'>2.642</td></tr></table>

### D 额外的定性对比

图5–17展示了涵盖ARCTIC、HOT3D以及自然场景视频的逐帧定性对比结果。每幅图展示了所有八种基线和ViDiHand模型在同一帧上的表现，包含五行可视化内容：投影的2D关节点、重新投影的MANO网格叠加图，以及三个新视角的3D渲染图（视角A–C）。对于没有真实MANO标注的自然场景视频，则会省略GT列。

---

<div style="text-align: center;">Table 12: Pairwise comparison on co-predicted hands, in-domain HOI4D. As Tab. 10, but with ViDiHand trained with HOI4D in-domain while the baselines remain untrained on HOI4D; this is a capacity reference, not a held-out comparison. Each cell reports baseline/ViDiHand, with bold marking the better value.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td colspan="2">3D Pose</td><td colspan="3">Orient. &amp; Position</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE (mm)</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE (mm)</td><td style='text-align: center; word-wrap: break-word;'>EPE2D (px)</td><td style='text-align: center; word-wrap: break-word;'>GO ( $^{\circ}$)</td><td style='text-align: center; word-wrap: break-word;'>CT (m)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>46.06 / 15.05</td><td style='text-align: center; word-wrap: break-word;'>13.17 / 6.68</td><td style='text-align: center; word-wrap: break-word;'>15.01 / 7.58</td><td style='text-align: center; word-wrap: break-word;'>32.88 / 12.26</td><td style='text-align: center; word-wrap: break-word;'>0.187 / 0.022</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>36.76 / 15.05</td><td style='text-align: center; word-wrap: break-word;'>11.94 / 6.68</td><td style='text-align: center; word-wrap: break-word;'>15.35 / 7.58</td><td style='text-align: center; word-wrap: break-word;'>24.07 / 12.26</td><td style='text-align: center; word-wrap: break-word;'>0.142 / 0.022</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>35.31 / 14.92</td><td style='text-align: center; word-wrap: break-word;'>11.32 / 6.60</td><td style='text-align: center; word-wrap: break-word;'>15.58 / 7.52</td><td style='text-align: center; word-wrap: break-word;'>23.24 / 12.09</td><td style='text-align: center; word-wrap: break-word;'>0.139 / 0.022</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>38.09 / 15.05</td><td style='text-align: center; word-wrap: break-word;'>14.23 / 6.68</td><td style='text-align: center; word-wrap: break-word;'>19.05 / 7.58</td><td style='text-align: center; word-wrap: break-word;'>37.30 / 12.26</td><td style='text-align: center; word-wrap: break-word;'>0.113 / 0.022</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>38.01 / 15.04</td><td style='text-align: center; word-wrap: break-word;'>10.71 / 6.68</td><td style='text-align: center; word-wrap: break-word;'>18.61 / 7.59</td><td style='text-align: center; word-wrap: break-word;'>26.94 / 12.25</td><td style='text-align: center; word-wrap: break-word;'>0.183 / 0.022</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>30.03 / 15.11</td><td style='text-align: center; word-wrap: break-word;'>10.55 / 6.74</td><td style='text-align: center; word-wrap: break-word;'>17.11 / 7.64</td><td style='text-align: center; word-wrap: break-word;'>21.08 / 12.43</td><td style='text-align: center; word-wrap: break-word;'>0.093 / 0.022</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>31.62 / 15.25</td><td style='text-align: center; word-wrap: break-word;'>12.56 / 6.78</td><td style='text-align: center; word-wrap: break-word;'>19.96 / 7.69</td><td style='text-align: center; word-wrap: break-word;'>23.22 / 12.65</td><td style='text-align: center; word-wrap: break-word;'>0.190 / 0.022</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>32.96 / 14.95</td><td style='text-align: center; word-wrap: break-word;'>11.48 / 6.69</td><td style='text-align: center; word-wrap: break-word;'>12.64 / 7.57</td><td style='text-align: center; word-wrap: break-word;'>26.14 / 12.22</td><td style='text-align: center; word-wrap: break-word;'>0.052 / 0.022</td></tr></table>

![Image](images/d45d7ccbc6d44afcb795399ad81f804552b30ae1a6cb0193b130335d99ccb949.jpg)

<div style="text-align: center;">Figure 5: Qualitative comparison on ARCTIC. Bimanual mixer manipulation where both hands are almost entirely hidden behind the mixer body they grasp and cropped by the frame's bottom edge, leaving only fingertips visible. InterWild, HaMeR, Hamba, WildHands, WiLoR, HaWoR, and OmniHands each recover only one hand and miss the other entirely; Dyn-HaMR alone outputs both hands, but with distorted articulation and mismatched relative positioning. ViDiHand alone recovers the full bimanual configuration, correctly separating both hands' identity and depth.</div>

![Image](images/6989d9686ebd847d06483f5632510e6c762a5d9ee3c041741c2c68bfd6322fbf.jpg)

<div style="text-align: center;">Figure 6: Qualitative comparison on ARCTIC. Bimanual manipulation of an articulated espresso machine, where the right hand operates it while the left hand is occluded behind the machine. InterWild, HaMeR, Hamba, WildHands, WiLoR, HaWoR, and OmniHands recover only the visible right hand, never the occluded left one; Dyn-HaMR alone predicts a left hand, but places it at the wrong depth, where it vanishes entirely in View B. ViDiHand alone keeps the occluded hand's position and articulation stable across all three views.</div>

---

![Image](images/d8b08c6aea887f899cea662953246180f76cddd45d1758d1f92dddc6257fec21.jpg)

<div style="text-align: center;">Figure 7: Qualitative comparison on ARCTIC. Both hands grasp the box from underneath: the left hand is entirely hidden beneath the box, while the right hand is likewise hidden beneath the box's far end and further cropped by the bottom frame edge, leaving only a fingertip visible. InterWild, HaMeR, WildHands, and WiLoR recover only the partially-visible right hand and miss the fully occluded left one; Hamba, Dyn-HaMR, and HaWoR miss both hands entirely; OmniHands detects both hands but with inconsistent scale and an implausible finger pose on the occluded left hand, while its right-hand mesh collapses to a blob in the novel views. ViDiHand reconstructs both hands with correct relative placement despite one hand being entirely invisible and the other occluded and clipped by the frame.</div>

![Image](images/233cfbe0c7d7a6a93525e47862ea94b1dc3698d215badaf06e549f2acfd79b59.jpg)

<div style="text-align: center;">Figure 8: Qualitative comparison on ARCTIC. A grasp where one hand rests with fingers splayed flat and fully visible on the notebook's cover, while the other grips its near corner from behind, almost entirely hidden with only a sliver of fingers peeking over the edge. HaMeR drops the hidden corner-gripping hand and renders the visible one as a fused, fingerless mass; Hamba and InterWild instead drop the fully-visible hand and render the hidden one as a fingerless blob. OmniHands keeps both hands but tangles the corner-gripping hand into a self-crossing joint layout; ViDiHand recovers both hands consistently with the ground truth, qualitatively supporting its low 2D end-point error.</div>

---

![Image](images/e27c55afd931517313e8c170007f75042b1ad3dbfbe417ec284007c3b47af855.jpg)

<div style="text-align: center;">Figure 9: Qualitative comparison on HOT3D. Both hands grip a cup under the wide-angle fisheye in a dim scene: the left hand grips the near rim in full view, while the right hand wraps around the far side and is entirely hidden behind the cup itself. Hamba and HaWoR miss both hands entirely. InterWild's left-hand mesh collapses into a small disconnected blob floating off the rim, while HaMeR, WildHands, WiLoR, and OmniHands each recover only the visible left hand; ViDiHand alone reconstructs both hands, correctly inferring the fully occluded right hand to match GT.</div>

![Image](images/df764fded04e1fd2a89b16848975d16fadb2a69a4f433cd228baa6c46491eae1.jpg)

<div style="text-align: center;">Figure 10: Qualitative comparison on HOT3D. A hand grips a pitcher near the periphery of the wide-angle view, mostly hidden behind it and heavily foreshortened there, which breaks crop-based detection. HaWoR and OmniHands detect no hand at all, and Dyn-HaMR's predicted hand collapses toward the camera instead of the correct depth. ViDiHand's ray-space encoding keeps wrist orientation and position aligned with the ground truth across all three novel views, and alone recovers the near-invisible left hand that every baseline misses.</div>

---

![Image](images/74f568cfa16d177209d7b473c76391695222fe5f8799592c8e0bacfeaeab4030.jpg)

<div style="text-align: center;">Figure 11: Qualitative comparison on HOT3D. Two hands are present in a difficult peripheral configuration: the tracked hand is motion-blurred and mostly cropped by the bottom frame edge, while a second hand reaches toward a shelf near the frame boundary. InterWild, HaMeR, and Hamba recover only the shelf hand and miss the cropped one, while HaWoR recovers only the cropped hand and misses the shelf hand entirely. WildHands and WiLoR predict both hands but with inaccurate position and articulation, OmniHands mislocalizes both hand predictions onto the shelf hand's position, and Dyn-HaMR's second hand floats implausibly close to the camera. ViDiHand alone recovers both hands with plausible position and articulation.</div>

![Image](images/28a2ad09c3f24c7dc780f70481393431ee3a04380b646669fbc0022805c724a7.jpg)

<div style="text-align: center;">Figure 12: Qualitative comparison on HOT3D. A single-hand interaction under dim, high-dynamic-range lighting. Hamba, WiLoR, and HaWoR fail to detect the hand; InterWild, HaMeR, WildHands, and OmniHands detect it but with inaccurate articulation; and Dyn-HaMR's hand mesh is positioned wrong throughout, appearing far larger than ground truth in the side views. ViDiHand alone matches the ground-truth position, orientation, and articulation throughout.</div>

---

![Image](images/18224106172595273e45781448102570ab51ab52f82300b6b8189de58d2844e9.jpg)

<div style="text-align: center;">Figure 13: Qualitative comparison on HOT3D. Both hands grip a bowl: the left hand is severely occluded and invisible in the raw frame, while the right hand is only partially visible, its fingers curling over the rim. Hamba, WildHands, and WiLoR recover only the right hand and drop the left entirely; HaWoR drops both; and Dyn-HaMR's single detected hand drifts onto the background shelf. HaMeR and InterWild attempt the occluded left hand but collapse it into a shapeless, fingerless blob, while OmniHands recovers it with reversed orientation. Even where a right hand is recovered, most baselines still show inaccurate pose and position; ViDiHand alone keeps both slots correctly separated, articulated, and aligned with the ground truth.</div>

![Image](images/713b6bb91402545d59dd1d329869584518cc8d8711d74a5b4d729f2408c1de1b.jpg)

<div style="text-align: center;">Figure 14: Qualitative comparison on HOT3D. Full nine-method expansion of the HOT3D example summarized in the main paper. At the wide-angle periphery, the left hand is almost entirely occluded behind the large bowl; every baseline except OmniHands fails to detect it, and OmniHands recovers it at the wrong position and depth with under-articulated fingers. ViDiHand matches the ground-truth position and articulation of both hands across all three novel views.</div>

---

![Image](images/de294ae6c40e088ff7958be2a8a09792ff836a571a7bc0bffa3c7fa934b98ec0.jpg)

<div style="text-align: center;">Figure 15: In-the-wild qualitative comparison. A bimanual grasp of a shelved canister, with the left hand occluded by cloth. Hamba, WiLoR, and HaWoR fail to detect the occluded left hand. InterWild and HaMeR collapse it into a small blob far below the grip, with a large depth offset. WildHands, Dyn-HaMR, and OmniHands place it near the correct grip point but still as a fingerless blob. ViDiHand alone recovers both hands with visually plausible position, depth, and articulation, coherently grasping the canister.</div>

![Image](images/4620633d8b969b1415d551907a901385d7c3b3684fbda96d3681c86a1689f528.jpg)

<div style="text-align: center;">Figure 16: In-the-wild qualitative comparison. The right hand is clearly visible with fingers spread, while the left is almost entirely occluded at the shelf edge, with only the wrist showing. InterWild, HaMeR, Hamba, WiLoR, and HaWoR miss the occluded left hand; WildHands' blob lies flat along the shelf instead of curling into the gap, and OmniHands gets both its depth and position wrong; Dyn-HaMR hallucinates an oversized phantom hand at the frame's top edge. The visible right hand is often wrong too: InterWild and HaMeR curl its fingers into a tangled shape, WildHands' and Dyn-HaMR's meshes sit displaced below the fingers, and Hamba, HaWoR, and OmniHands miss it. ViDiHand alone recovers both hands with visually plausible position, depth, and articulation.</div>

---

![Image](images/1a70530fc4fdd1d9e377e402531a01ae83698fe8a86259125e6c0b6e1d77b307.jpg)

<div style="text-align: center;">Figure 17: In-the-wild qualitative comparison. A single-hand grasp under dappled, uneven sunlight. InterWild, HaMeR, Hamba, and WildHands each mistake the lighting for a second hand, detecting the visible hand into both slots as duplicates; HaWoR and OmniHands recover a single hand at a visibly wrong rotation. WiLoR's pose is inaccurate; Dyn-HaMR's hand has the wrong depth and its fingers are bent noticeably more than the true pose, vanishing from two of the three novel views despite a plausible 2D projection. ViDiHand recovers the hand's position, depth, and articulation, and reports the second slot as absent.</div>

---

#### E 实现细节

本节汇总了数据、解码器架构、损失函数以及两阶段训练流程，这些内容共同构成了完整的处理流程。视频骨干网络采用Wan2.1-VACE [^26] [^11]，这是一种参数量为13亿的视频扩散变换器（DiT），配备VACE分支，可将第一人称输入视频作为条件信号注入。文中$L_{15}$指的是30个变换器块中的第15个；归一化去噪步骤$\tau_k$（$\tau=0$表示纯噪声状态，$\tau=1$表示完全去噪状态）对应主论文中的$\tau_k$。

#### E.1 数据集与相机

我们先简要介绍各数据集，随后给出相机内参和训练组成信息（见表13）。所有视频片段被切分为连续的81帧段；Wan2.1变分自编码器会将每个片段在时间维度上压缩为$F_{lat}=21$个潜帧，经过高度调整为480像素的尺寸预处理后，ARCTIC数据集对应的空间补丁网格大小为$30\times42$，HOT3D数据集为$30\times30$，HOI4D数据集则为$30\times54$（HOI4D数据集的原始宽度为854像素，会被填充至864像素，即16像素补丁大小的下个倍数，之后才进行补丁化处理）。

EgoDex [^9]：一个用于灵巧操作的大规模第一人称数据集，包含数百个场景中的多样化手-物体交互数据。它通过多视角三角测量获得3D关节标注，但不包含拟合的MANO网格参数。我们仅在第一阶段a中将EgoDex用于关节叠加预训练。

ARCTIC [^5]：一个双手法-物体操作数据集，由安装在胸前的相机拍摄，水平视场角约为$60^{\circ}$。受试者用双手与可活动物体（如剪刀、笔记本电脑、微波炉）互动，常会出现多种严重的遮挡现象：手指缠绕在物体表面并隐藏其后（手-物体遮挡）；两只手从相反方向抓住同一物体，导致一只手位于另一只手后方或完全被遮挡（手-手遮挡）；抓取时通常只有少数指尖可见。MANO参数通过多视角动作捕捉获得。

HOT3D [^1]。这是一个使用Meta Aria眼镜采集的以自我为中心的数据集，其广角鱼眼相机覆盖约99°的水平视场。我们将每一帧图像去畸变，使其符合该数据集的线性（针孔）相机模型（调整大小后为 $f_x \approx 208$），并在该矫正后的空间中计算所有投影结果——包括EPE-p、光线空间编码以及混合投影求解——从而确保没有残余径向畸变影响我们的评估指标。矫正过程消除了畸变，但并未改变视场范围：视图仍为99°的广角视角，因此位于边缘区域的手部——在自我中心的伸手动作中手部常出现于此——会呈现明显的透视缩短和拉伸现象，这正是HOT3D上的检测难度高于ARCTIC的原因。室内场景通常会在同一帧中同时包含明亮的窗户或灯光区域以及深邃的阴影，从而产生高动态范围的照明效果，导致手部外观在帧内发生变化。头戴式设备会带来大幅度的头部运动以及快速的手部伸展动作，进而在摄像头和手部上产生运动模糊。所有八种基准方法在HOT3D上的检测F1分数均低于在ARCTIC上的表现（见表7）。由于HOT3D并未为其官方测试序列提供MANO真实标签，我们随机选取5%带有MANO真实标签的验证序列作为测试集。

HOI4D [^15]。这是一个用于类别级人机交互的4D以自我为中心数据集，采集频率为15帧/秒，仅为本研究中其他数据集所用频率30帧/秒的一半。它涵盖了16个类别中的800多个物体实例，具备丰富的接触与遮挡模式。我们仅将HOI4D用作保留的测试集，且八种基准方法均未在HOI4D上训练。大多数视频片段展示的是单手操作场景，因此第二个手部检测槽位必须在连续数百帧内报告“屏幕上无手”，且不能预测出虚假的第二只手；正因如此，几种基准方法在HOI4D上的左手检测F1分数显著较低（见表7）。活动手部还经常会在视频片段中途进出画面边界，因此可见性标志必须在正确的帧处切换，而非为每个序列设置一次。较低的帧率会增大帧间运动幅度，使得时序建模更具挑战性。

基准方法在ARCTIC和HOT3D上的训练情况。为了进行可审计的同分布对比，表14记录了哪些方法本身是在ARCTIC或HOT3D上接受监督训练的——具体计数如下

---

<div style="text-align: center;">Table 13: Dataset specifications. Train and test segment counts, frame rate, total duration, image resolution after the height-to-480 preprocessing, post-resize pinhole intrinsics ( $f_x$,  $f_y$,  $c_x$,  $c_y$), horizontal field of view, the supervised overlay target during VACE training (joint skeleton or full mesh; “-” for held-out), and the dominant property that motivates including each dataset. EgoDex is the Stage-1a pretraining corpus; ARCTIC and HOT3D supply both the Stage-1b finetuning data and the Stage-2 decoder training data; HOI4D is used only as an out-of-distribution test set, so it has no training segments. Each video is decomposed into non-overlapping 81-frame segments, the unit on which all reported counts and metrics are computed; any final tail shorter than 81 frames is excluded so that all segments share the same temporal horizon.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'># train</td><td style='text-align: center; word-wrap: break-word;'># test</td><td style='text-align: center; word-wrap: break-word;'>FPS</td><td style='text-align: center; word-wrap: break-word;'>Hours</td><td style='text-align: center; word-wrap: break-word;'>W \times H</td><td style='text-align: center; word-wrap: break-word;'>f_x</td><td style='text-align: center; word-wrap: break-word;'>f_y</td><td style='text-align: center; word-wrap: break-word;'>c_x</td><td style='text-align: center; word-wrap: break-word;'>c_y</td><td style='text-align: center; word-wrap: break-word;'>HFOV</td><td style='text-align: center; word-wrap: break-word;'>Overlay</td><td style='text-align: center; word-wrap: break-word;'>Key property</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>EgoDex [^9]</td><td style='text-align: center; word-wrap: break-word;'>913,559</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>685.2</td><td style='text-align: center; word-wrap: break-word;'>varies</td><td style='text-align: center; word-wrap: break-word;'>varies</td><td style='text-align: center; word-wrap: break-word;'>varies</td><td style='text-align: center; word-wrap: break-word;'>varies</td><td style='text-align: center; word-wrap: break-word;'>varies</td><td style='text-align: center; word-wrap: break-word;'>varies</td><td style='text-align: center; word-wrap: break-word;'>joint</td><td style='text-align: center; word-wrap: break-word;'>large-scale, diverse scenes</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ARCTIC [^5]</td><td style='text-align: center; word-wrap: break-word;'>2,145</td><td style='text-align: center; word-wrap: break-word;'>291</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>1.83</td><td style='text-align: center; word-wrap: break-word;'>672 \times 480</td><td style='text-align: center; word-wrap: break-word;'>579.4</td><td style='text-align: center; word-wrap: break-word;'>579.2</td><td style='text-align: center; word-wrap: break-word;'>318.9</td><td style='text-align: center; word-wrap: break-word;'>235.9</td><td style='text-align: center; word-wrap: break-word;'>~60°</td><td style='text-align: center; word-wrap: break-word;'>mesh</td><td style='text-align: center; word-wrap: break-word;'>bimanual; severe hand-obj/hand-hand occlusion</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HOT3D [^1]</td><td style='text-align: center; word-wrap: break-word;'>5,432</td><td style='text-align: center; word-wrap: break-word;'>437</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>4.40</td><td style='text-align: center; word-wrap: break-word;'>480 \times 480</td><td style='text-align: center; word-wrap: break-word;'>207.8</td><td style='text-align: center; word-wrap: break-word;'>207.8</td><td style='text-align: center; word-wrap: break-word;'>239.8</td><td style='text-align: center; word-wrap: break-word;'>239.8</td><td style='text-align: center; word-wrap: break-word;'>~99°</td><td style='text-align: center; word-wrap: break-word;'>mesh</td><td style='text-align: center; word-wrap: break-word;'>fisheye; HDR lighting; large head/hand motion blur</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HOI4D [^15]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>498</td><td style='text-align: center; word-wrap: break-word;'>15</td><td style='text-align: center; word-wrap: break-word;'>0.75</td><td style='text-align: center; word-wrap: break-word;'>854 \times 480</td><td style='text-align: center; word-wrap: break-word;'>471.6</td><td style='text-align: center; word-wrap: break-word;'>471.8</td><td style='text-align: center; word-wrap: break-word;'>432.1</td><td style='text-align: center; word-wrap: break-word;'>232.6</td><td style='text-align: center; word-wrap: break-word;'>~85°</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>out-of-distribution test set; predominantly single-handed</td></tr></table>

指对已发布的检查点或其关键组件（骨干网络、运动先验、填充模块）进行监督训练或微调，而不包括仅用于评估的情况。因此，ARCTIC和HOT3D数据块并不属于ViDiHand的域内数据，而基准方法则完全处于域外：WiLoR和HaWoR在两者上均有训练，WildHands在ARCTIC上训练，Dyn-HaMR通过其运动先验继承了ARCTIC的数据特性，所以ViDiHand在这些数据集上的优势是相对于若干域内竞争对手而言的；而对于InterWild、HaMeR、Hamba以及默认的OmniHands而言，这种优势也体现了数据分布上的优越性。有两点需要注意。OmniHands的结果取决于所使用的检查点；我们采用的是发布的默认版本，该版本未包含ARCTIC数据。更为关键的是，由于HOT3D未为其官方测试集公布真实标签，我们的HOT3D测试集仅占验证序列的5%（$\S$E）；如果WiLoR或HaWoR在HOT3D上的训练过程涉及这些特定序列，那么它们在HOT3D上的数值可能会偏高，要实现完全可审计的对比则需匹配序列ID。我们将此视为报告/可审计性方面的限制，而非不公平训练的证据；这并不影响HOI4D，因为该方法未被用于任何模型的训练（$\S$C）。

<div style="text-align: center;">Table 14: Baseline training exposure on the in-distribution benchmarks. Whether each method's released default checkpoint—or a key component—is supervised on ARCTIC/HOT3D, per its published training recipe; evaluation-only use is excluded. ✓: trained; X: not trained; (ind.): indirect exposure through a pretrained component. ViDiHand finetunes on an ARCTIC+HOT3D mixture (Stage 1b); no method, ours included, trains on HOI4D.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>ARCTIC</td><td style='text-align: center; word-wrap: break-word;'>HOT3D</td><td style='text-align: center; word-wrap: break-word;'>Training data (per original paper)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>InterWild [^16]</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>InterHand2.6M, MSCOCO</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaMeR [^18]</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>FreiHAND, HO3D, InterHand2.6M, DexYCB, COCO, etc.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hamba [^3]</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>HaMeR recipe (2.7M samples)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WildHands [^20]</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>ARCTIC, AssemblyHands, EPIC; init. ArcticNet-SF</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OmniHands [^14]</td><td style='text-align: center; word-wrap: break-word;'>✗ $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>InterHand2.6M, Re:InterHand, DexYCB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>WiLoR [^19]</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>regressor training set includes ARCTIC and HOT3D</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dyn-HaMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>(ind.)</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>HMP motion prior pretrained on ARCTIC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HaWoR [^34]</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>HOT3D (573K) + ARCTIC (165K) frames; infiller on HOT3D</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ViDiHand (Ours)</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>Stage-1b mesh-overlay finetuning (ARCTIC+HOT3D)</td></tr></table>

默认检查点不包含ARCTIC数据；“I+R+A”变体则加入了这些数据，因此所用的具体检查点至关重要。

### E.2 解码器架构

该解码器是一个拥有3700万个参数的网络，能够在单次前向传播中，将Stage-1b主干网络中固定的中间DiT激活值解码为所有的MANO参数。它由四个与原文论文相匹配的模块组成：手部标记分支，通过与射线空间位置编码进行交叉注意力计算来生成每手对应的参数化标记；并行的关节热图分支，用于生成每手21个二维关节估计值以及每个关节的视觉描述符；手部-关节融合层，用于让这两个分支相互优化；混合投影头，用于回归姿态、形状、深度和屏幕可见性，同时针对热图以闭式形式求解平面内平移量。每个多头注意力层都使用八个头。为简洁起见，我们省略了槽位s和时间t的表述。

---

本节中的下标符号均指代相应条目；未加下标的符号$\hat{R}$、$\hat{\theta}$、$\hat{\beta}$、$\hat{\zeta}$、$\hat{e}$、$\hat{\mathbf{p}}^{\mathrm{init}}$、$\hat{\mathbf{p}}^{\mathrm{final}}$分别表示原文论文中槽位堆叠的粗体符号$\hat{\mathbf{R}}_t$、$\hat{\Theta}_t$、$\hat{\mathbf{B}}_t$、$\hat{\zeta}_t$、$\hat{\mathbf{e}}_t$、$\hat{\mathbf{P}}_t^{\mathrm{init}}$、$\hat{\mathbf{P}}_t^{\mathrm{final}}$中对应槽位、对应帧的条目。

手部标记分支。1536通道的DiT特征张量先通过线性投影降维至512通道，随后经过层归一化，再施加三种可学习的位置编码：学习到的空间编码、学习到的时间编码以及射线空间位置编码（§E.2.1）。两个初始偏移量刻意不同的可学习手部查询向量，会通过四个共享的Transformer解码器层与所有$H \cdot W$空间标记进行交叉注意力计算；每个解码器层包含自注意力机制、密集交叉注意力机制以及隐藏维度为2048且采用GELU激活函数的前馈网络。输出结果为$Q^{\text{hand}} \in \mathbb{R}^{2 \times 512}$，即每个手部槽位对应一个查询向量$s \in \{L, R\}$。由于手部类别是由槽位决定的，因此无需额外的手部分类器或查询划分模块。

关节热图分支。并行地，对空间特征应用$1 \times 1$卷积操作，即可为每个槽位$s \in \{\mathrm{L}, \mathrm{R}\}$生成21个关节热图$\mathcal{H}_s \in \mathbb{R}^{J \times H \times W}$，其分辨率为$J=21$。对每个热图应用可微分的soft-argmax运算，就能得到归一化$\hat{\mathbf{p}}_s^{\text{init}} \in \mathbb{R}^{J \times 2}$图像坐标下的初始二维估计值$[0,1]$。沿空间轴用$\text{softmax}(\mathcal{H}_s)$对空间特征进行池化操作后，可得到21个关节级特征$Q_s^{\text{joint}} \in \mathbb{R}^{J \times 512}$，这些特征汇总了槽位s中每个预测关节位置处的视觉证据。

手部-关节融合。通过一个双向交叉注意力层来融合这两个分支，该层包含八个注意力头、残差连接以及层后归一化操作：

 $$ \widetilde{Q}^{\mathrm{h a n d}}=\mathrm{L N}\big(Q^{\mathrm{h a n d}}+\mathrm{M H A}(Q^{\mathrm{h a n d}},Q^{\mathrm{j o i n t}},Q^{\mathrm{j o i n t}})\big), $$

 $$ \widetilde{Q}^{\mathrm{j o i n t}}=\mathrm{L N}\big(Q^{\mathrm{j o i n t}}+\mathrm{M H A}(Q^{\mathrm{j o i n t}},Q^{\mathrm{h a n d}},Q^{\mathrm{h a n d}})\big), $$

其中MHA(.,, ·)表示多头注意力运算，三个参数分别对应查询、键和值，LN表示层归一化。每个多头注意力块的输出投影层以及下方偏移网络的最后一层均初始化为零；在初始化阶段，交叉注意力的残差项恰好为零，且关节热图分支会将初始的二维估计值原样传递，因此训练起始状态时两个分支是相互独立的，仅需学习融合残差部分。由$\widetilde{Q}^{joint}$驱动的偏移网络会生成每个关节的二维偏移量$\Delta p$，而经过优化的热图衍生二维关节坐标为

 $$ \mathbf{\hat{p}}^{\mathrm{f i n a l}}=\mathbf{\hat{p}}^{\mathrm{i n i t}}+\Delta\mathbf{p}. $$

混合投影头。融合后的手部特征$\tilde{Q}^{\text{hand}}$会被送入两个分支，分别用于处理可见性问题和回归问题。

屏幕可见性分支由一个解码器层以及一个隐藏维度为128的两层MLP组成，该分支与共享特征之间进行了梯度分离，以防止占主导地位的回归梯度压制二元的可见性信号。它为每个插槽生成一个屏幕可见性logit值$\hat{e}$，并通过线性插值将其上采样到视频帧；由于插槽的左右手属性是固定的，因此不会输出左右手相关信息。

回归分支包含两个解码器层，它们会从共享特征中获取完整的梯度，分别预测全局朝向$\hat{R} \in \text{SO}(3)$、15个手指关节的旋转角度$\hat{\theta} \in \text{SO}(3)^{15}$、10个形状系数$\hat{\beta} \in \mathbb{R}^{10}$以及深度对数标量$\hat{\zeta} \in \mathbb{R}$，每个预测结果都通过一个隐藏维度为256的两层MLP生成。平面内的平移量$\langle \hat{t}^{x}, \hat{t}^{y} \rangle$并非由该分支产生；而是通过解析法（$\S$E.2.2）根据优化后的热图锚点$\hat{\mathbf{p}}^{\text{final}}$、回归得到的深度值$\hat{t}^{z} = \exp(\hat{\zeta})$以及相机内参来计算。由于缓存的特征处于潜帧率$(T_{\text{lat}} = 21)$，而MANO监督信号处于视频帧率$(T = 81)$，因此回归分支会在计算损失前将其潜帧输出上采样为视频帧。上采样过程分为三个阶段：首先通过线性插值将信号提升至视频帧率；接着使用核大小为5、激活函数为GELU的两层一维卷积进行残差细化，且输出层初始化为零；最后使用核大小为7的深度可分离一维卷积作为学习到的时序混合器以实现平滑处理。旋转量以6D连续旋转表示形式生成，再通过Gram-Schmidt正交化转换为$3 \times 3$矩阵。

---

### E.2.1 光线空间位置编码

对于网格位置为$(i, j)$的每个空间标记，我们通过针孔相机模型计算相机光线方向：

 $$ u_{\mathrm{p x}}=\left(j+0.5\right)\cdot W_{\mathrm{i m g}}/W_{\mathrm{p a t}},\quad v_{\mathrm{p x}}=\left(i+0.5\right)\cdot H_{\mathrm{i m g}}/H_{\mathrm{p a t}}, $$

 $$ \alpha=\arctan\biggl(\frac{u_{\mathrm{p x}}-c_{x}}{f_{x}}\biggr),\quad\eta=\arctan\biggl(\frac{v_{\mathrm{p x}}-c_{y}}{f_{y}}\biggr), $$

其中$(f_{x}, f_{y}, c_{x}, c_{y})$代表相机内参。方位角与仰角通过八个正弦频率带进行编码，

 $$ \mathbf{e}_{i j}=\big[\operatorname{s i n}(\omega\alpha),\operatorname{c o s}(\omega\alpha),\operatorname{s i n}(\omega\eta),\operatorname{c o s}(\omega\eta)\big]_{\omega\in\Omega}\in\mathbb{R}^{32},\quad\Omega=\{2^{0},2^{1},\ldots,2^{7}\}, $$

该结果通过一个隐藏层维度为 512、采用 GELU 激活函数且输出层初始化为零的双层多层感知机进行投影，随后再与学习到的空间位置编码做残差相加。这种零初始化确保了在初始状态下光线空间贡献恰好为零，因此位置编码最初仅等同于空间编码，而网络会逐渐学习到与相机相关的校正信息。由于该编码是针对每个标记和每个样本单独计算的，批次中不同的相机参数会产生不同的位置编码，从而使得交叉注意力机制能够适应相机的视场范围。

#### E.2.2 混合投影式相机平移头

平移 $\mathbf{t} = (t^x, t^y, t^z)$ 通过一种混合方案恢复，而不是完全回归得到。回归分支仅预测对数深度标量 $\hat{\zeta}$，由此得到 $\hat{t}^z = \exp(\hat{\zeta})$。给定回归得到的 $\hat{R}$、$\widehat{\theta}$、$\widehat{\beta}$，可微分 MANO 层 $\mathcal{M}_s(\hat{R}, \widehat{\theta}, \widehat{\beta})$ 产生 $J=21$ 个根相对的 3D 关节 $\{(\hat{X}_j, \hat{Y}_j, \hat{Z}_j)\}_{j=0}^{J-1}$（每只手），其中 $j=0$ 为腕关节（与 §A.1 度量章节的约定一致）。对于每个关节 j，针孔投影

 $$ u_{j}=f_{x}\frac{\hat{X}_{j}+t^{x}}{\hat{Z}_{j}+\hat{t}^{z}}+c_{x},\qquad v_{j}=f_{y}\frac{\hat{Y}_{j}+t^{y}}{\hat{Z}_{j}+\hat{t}^{z}}+c_{y} $$

一旦固定了$(t^x, t^y)$，它在$\tilde{t}^z$上就呈线性。关键在于，$u_j$仅依赖于$t^x$，而$v_j$仅依赖于$t^y$，因此二维求解可分解为两个独立的标量最小二乘问题——相当于一个矩阵完全为对角线的$2\times2$系统。令$(\hat{u}_j, \hat{v}_j) = (W \hat{p}_j^{\text{final}, x}, H \hat{p}_j^{\text{final}, y})$表示由归一化的$[0,1]$转换得到的像素坐标下的精细化热图锚点，$z_j = \tilde{Z}_j + \tilde{t}^z$，以及$M_j^{\text{dir}} \in \{0,1\}$，即使用与直接二维损失$\mathcal{L}_{\text{2D}}$相同的热图可表示性门控的逐关节有效性掩码（$\S$E.3）。其闭式解为：

 $$ \hat{t}^{x}=\frac{\sum_{j}M_{j}^{\mathrm{d i r}}\frac{f_{x}}{z_{j}}\Big(\hat{u}_{j}-c_{x}-\frac{f_{x}\hat{X}_{j}}{z_{j}}\Big)}{\sum_{j}M_{j}^{\mathrm{d i r}}\Big(\frac{f_{x}}{z_{j}}\Big)^{2}},\qquad\hat{t}^{y}=\frac{\sum_{j}M_{j}^{\mathrm{d i r}}\frac{f_{y}}{z_{j}}\Big(\hat{v}_{j}-c_{y}-\frac{f_{y}\hat{Y}_{j}}{z_{j}}\Big)}{\sum_{j}M_{j}^{\mathrm{d i r}}\Big(\frac{f_{y}}{z_{j}}\Big)^{2}}. $$

当某个关节的锚点位于屏幕内且处于热图可表示范围内时，所有$\angle1$关节都会参与计算；其余关节则被屏蔽掉，因此系统的有效规模会随帧和手的不同而自适应调整，而非固定在人为设定的子集上。训练期间，该门控会根据真实锚点进行评估（与$\mathcal{L}_{2D}$匹配），但推理时并无真实数据可用或被使用：当某个关节的预测精细化热图锚点$\hat{p}^{\text{final}}$位于图像内，且其回归深度使其位于相机前方（$\hat{z}_j > 0.05$米）时，该关节才会纳入求解过程，因此所报告的相机平移量完全由模型自身的预测结果计算得出。

这样便将相机平移量t分解为回归深度（此时图像信息最不具决定性，适合用标量预测）和闭式平面内平移（此时关节热图分支已提供像素级证据，解析求解能消除一个条件不佳的回归目标）。该求解过程是可微分的，因此来自$\mathcal{L}_{\text{trans}}$的梯度会反向传播至回归头（通过$\hat{X}_j, \hat{Y}_j, \hat{Z}_j, \hat{\zeta}$）和热图分支（通过$\hat{\mathbf{p}}^{\text{final}}$），从而将MANO姿态、深度和二维锚定整合为一个耦合的几何系统。射线空间位置编码与混合投影求解互为补充：前者在感知阶段使交叉注意力特征适配相机视场，后者则利用相机内参将二维预测解析转换为相机坐标系下的三维结果。

---

#### E.3 损失函数

总解码器损失$\mathcal{L}_{\mathrm{dec}}$采用主论文中介绍的分组形式；表15将该分组表达式展开为十个单独加权项，下方的各项段落则阐述了每项的设计依据。

<div style="text-align: center;">Table 15: Loss terms and weights. Mathematical form, weight $\lambda$, and short description of each of the ten decoder loss terms; the full mathematical definitions and design rationale follow in the paragraphs below. All terms are computed per frame and per hand and gated by four binary validity masks: $M_{t,s}$ (frame t and slot s have a valid ground-truth on screen), $M_{t,s,j}^{\text{proj}}$ (the ground-truth projection of joint j falls inside the image plane), $M_{t,s,j}^{\text{dir}}$ (the ground-truth 2D position of joint j falls inside the heatmap-representable range), and $M_{t,s}^{\text{tri}}$ (frames $t-1$, t, and $t+1$ all have valid predictions for slot s). The largest weight is on the assembled camera translation ($\lambda_{\text{trans}}=3.0$) and the smallest on shape consistency ($\lambda_{\text{shape}}^{\text{con}}=0.05$).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Term</td><td style='text-align: center; word-wrap: break-word;'>Form</td><td style='text-align: center; word-wrap: break-word;'>$\lambda$</td><td style='text-align: center; word-wrap: break-word;'>Description</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{orient}$</td><td style='text-align: center; word-wrap: break-word;'>$d_{SO(3)}(\hat{R}, R^{\ast})$</td><td style='text-align: center; word-wrap: break-word;'>0.2</td><td style='text-align: center; word-wrap: break-word;'>Global orientation (geodesic)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{pose}$</td><td style='text-align: center; word-wrap: break-word;'>$\frac{1}{12} \sum_{k} d_{SO(3)}(\hat{\theta}_{k}, \theta_{k}^{\ast})$</td><td style='text-align: center; word-wrap: break-word;'>0.2</td><td style='text-align: center; word-wrap: break-word;'>Finger joint rotations (geodesic)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{shape}$</td><td style='text-align: center; word-wrap: break-word;'>$\|\hat{\beta} - \beta^{\ast}\|^{\frac{1}{2}}$</td><td style='text-align: center; word-wrap: break-word;'>0.1</td><td style='text-align: center; word-wrap: break-word;'>Shape coefficients</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{trans}$</td><td style='text-align: center; word-wrap: break-word;'>$\|\hat{\mathbf{t}} - \mathbf{t}^{\ast}\|^{\frac{1}{2}}$</td><td style='text-align: center; word-wrap: break-word;'>3.0</td><td style='text-align: center; word-wrap: break-word;'>Camera translation (mixed-projection output)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{3D}$</td><td style='text-align: center; word-wrap: break-word;'>$\|\hat{\mathbf{J}} - \mathbf{J}^{\ast}\|_{1}$</td><td style='text-align: center; word-wrap: break-word;'>2.0</td><td style='text-align: center; word-wrap: break-word;'>3D joints (camera frame)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{reproj}$</td><td style='text-align: center; word-wrap: break-word;'>$\|\pi_{\mathcal{K}}(\hat{\mathbf{J}}) - \mathbf{p}^{\ast}\|_{1}$</td><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>2D reprojection (from MANO mesh)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{2D}$</td><td style='text-align: center; word-wrap: break-word;'>$\|\hat{\mathbf{p}}_{final}^{\ast} - \mathbf{p}^{\ast}\|_{1}$</td><td style='text-align: center; word-wrap: break-word;'>2.0</td><td style='text-align: center; word-wrap: break-word;'>Heatmap-derived 21-joint 2D</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{vis}$</td><td style='text-align: center; word-wrap: break-word;'>$\text{BCE}(\hat{e}, e^{\ast})$</td><td style='text-align: center; word-wrap: break-word;'>0.5</td><td style='text-align: center; word-wrap: break-word;'>On-screen visibility (handedness fixed by slot)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{acc}$</td><td style='text-align: center; word-wrap: break-word;'>$\|\hat{\mathbf{t}}_{t+1} - 2\hat{\mathbf{t}}_{t} + \hat{\mathbf{t}}_{t-1}\|_{1}$</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>Translation acceleration smoothness</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{shape}^{con}$</td><td style='text-align: center; word-wrap: break-word;'>$\|\hat{\beta} - \text{sg}(\hat{\beta})\|^{\frac{1}{2}}$</td><td style='text-align: center; word-wrap: break-word;'>0.05</td><td style='text-align: center; word-wrap: break-word;'>Shape consistency (stop-gradient mean)</td></tr></table>

我们在下文逐一描述各项损失及其设计依据。所有旋转预测均采用6D连续旋转表示，在计算损失前会通过Gram–Schmidt正交化转换为$3\times3$矩阵。

测地旋转损失$\mathcal{L}_{\text{orient}}, \mathcal{L}_{\text{pose}}$。我们通过旋转流形上的测地距离来约束全局朝向$\hat{R} \in \text{SO}(3)$（$\mathcal{L}_{\text{orient}}$）以及15个手指关节的旋转$\hat{\theta} \in \text{SO}(3)^{15}$（$\mathcal{L}_{\text{pose}}$），

 $$ d_{\mathrm{S O}(3)}(\hat{R},R^{\star})=\operatorname{a r c c o s}\bigl((\mathrm{t r}(\hat{R}^{\top}R^{\star})-1)/2\bigr). $$

测地距离是SO(3)上唯一的双不变度量；它能衡量两种旋转之间的角度差异，而与旋转轴无关。相比之下，对$3\times3$矩阵逐元素计算均方误差时，会将非对角线元素视为独立的标量，忽略了流形结构，从而产生的梯度可能会将预测值推出SO(3)范围。ARCTIC上的损失消融实验（表16）表明，用逐元素均方误差替代测地监督后，表中MPJPE-p指标的单项损失恶化程度最大（+0.84毫米），这与“关节手部姿态监督需遵循旋转流形规则”的要求相一致。

相机平移损失$\mathcal{L}_{\text{trans}}$。由混合投影头($\hat{\mathbf{t}} = (\hat{t}^x, \hat{t}^y, \hat{t}^z) \in \mathbb{R}^3$)生成的相机平移$\S E.2.2$通过均方误差进行监督，并被赋予最高的单项权重($\lambda_{\text{trans}} = 3.0$)。较高的权重反映了两个设计考量：首先，平移控制了手在相机坐标系中的绝对位置，对3D重建质量至关重要；其次，$\hat{t}^z$作为回归得到的$\hat{\zeta}$输入到该头部模块，而$(\hat{t}^x, \hat{t}^y)$是通过闭式坐标求解得到的，因此原始预测值的尺度相对于MANO旋转输出而言较小，需要更高的损失权重来平衡梯度大小。该误差会作用于完全组装好的$(t^x, t^y, t^z)$上，因此梯度会通过$\hat{\mathbf{p}}^{\text{final}}$从关节热图分支回传，也会通过回归分支的$\hat{\zeta}$和3D关节输出回传。

形状系数损失$\mathcal{L}_{\text{shape}}$。10维的MANO形状系数$\widehat{\beta}$通过均方误差进行监督。手部形状变化缓慢，通常在一段视频中保持不变，因此较低的权重($\lambda_{\text{shape}}=0.1$)就足以约束预测结果，而不会主导驱动关节几何形状的关节损失。

---

屏幕可见性损失$\mathcal{L}_{\text{vis}}$。一个二元交叉熵项$\text{BCE}(\hat{e}, e^*)$用于监督该插槽中的21个真实MANO关节是否有任何部分投影到图像平面上，投影距离阈值为$z > 0.01$米，这一屏幕可见性标准与评估时采用的屏幕外排除策略所使用的标准一致($\S A.2$)。由于插槽决定了手性($s \in \{\text{L}, \text{R}\}$)，且屏幕上不可见的3D插槽有效性标志无法提供有效的监督信号，因此我们摒弃了早期Transformer解码器手部模型中使用的单独手性和3D存在性交叉熵项，仅监督屏幕可见性标志。该损失在所有插槽上计算，包括空插槽，因此模型被明确训练为在没有手出现在屏幕上时抑制预测结果，而非默默忽略无手插槽。为保证数值稳定性，每个样本的该项值会被截断为不超过5.0。

3D关节L1损失$\mathcal{L}_{3D}$。我们执行可微分的批量MANO前向传播$\mathcal{M}_s(\hat{R}, \theta, \beta)$，得到每只手的21个以根节点为参照的关节$\hat{\mathbf{J}}^0$，再加上预测的平移量$\hat{\mathbf{t}}$，随后用L1损失对相机坐标系下的关节进行监督。

 $$ \mathcal{L}_{\mathrm{3D}}=\left\|\widehat{\mathbf{J}}-\mathbf{J}^{\star}\right\|_{1},\qquad\widehat{\mathbf{J}}=\mathcal{M}_{s}(\widehat{R},\widehat{\boldsymbol{\theta}},\widehat{\boldsymbol{\beta}})+\widehat{\mathbf{t}}. $$

为了增强对异常关节（例如具有噪声真实值的被遮挡指尖）的鲁棒性，采用$\ell_{1}$损失而非$\ell_{2}$损失。该项对最终的3D输出提供了直接的几何监督，其权重为$\lambda_{3D}=2.0$。

2D投影L1损失$\mathcal{L}_{\text{reproj}}$。预测的相机坐标系下3D关节$\widehat{\mathbf{J}}$会通过针孔模型投影为归一化的图像坐标，投影所用相机内参由数据集提供($(f_x, f_y, c_x, c_y)$)，随后与2D真实值$\mathbf{p}^*$进行监督。

 $$ \mathcal{L}_{\mathrm{r e p r o j}}=\left\|\pi_{K}(\widehat{\mathbf{J}})-\mathbf{p}^{\star}\right\|_{1},\quad\mathbf{p}^{\star}\in[0,1]^{21\times2}. $$

预测值和目标值均通过除以图像尺寸被归一化到 [^0] [^1]，从而使得损失函数在分辨率不同的两个训练数据集（ARCTIC $672 \times 480$ 和 HOT3D $480 \times 480$）上具有尺度不变性。深度值被限制在 $z \geq 0.05$ 米以内，以防止分母接近零而导致的数值不稳定问题。我们并未对屏幕外的投影进行截断处理，而是应用了基于关节的屏幕内掩码（主论文中记为 $M_{t,s,j}^{proj}$），该掩码由真实的2D投影计算得出：只有那些真实位置落在 $[0, W) \times [0, H]$ 范围内且距离在 $z > 0.01$ 米以内的关节才会接受2D监督，且损失函数会根据批次中可见关节的总数进行归一化。这种无偏见的掩码机制避免了因3D预测结果恰好投影到屏幕外而受到惩罚的情况。2D重投影项解决了深度与旋转的度量歧义问题——即多种深度与手腕旋转的组合可能在相机坐标系中产生相同的3D关节布局，但只有正确的深度才能生成准确的2D投影。通过将监督信号建立在像素空间基础上，该损失函数为深度敏感的重建提供了隐式的、与结构相关的信号；它在表16所示的损失消融实验中显示出最重要的影响。

热图-2D损失 $\mathcal{L}_{2D}$。热图分支会生成经过优化的各关节2D坐标 $\hat{\mathbf{p}}^{\text{final}} = \hat{\mathbf{p}}^{\text{init}} + \Delta \mathbf{p}$，这些坐标采用归一化的 $[0, 1]$ 图像坐标表示（参见 $\S$E.2）。我们直接利用 $\ell_1$ 损失函数，将这些预测值与真实的2D关节位置 $\mathbf{p}^*$ 进行对比监督。

 $$ \mathcal{L}_{\mathrm{2D}}=\left\|\widehat{\mathbf{p}}^{\mathrm{f i n a l}}-\mathbf{p}^{\star}\right\|_{1},\quad\mathbf{p}^{\star}\in[0,1]^{21\times2}. $$

该项使关节热图分支能够独立于MANO网格进行锚定：$\widehat{\mathbf{p}}^{\text{final}}$ 作为观测值流入混合投影头，用于闭式求解 $(t^x, t^y)$（详见 $\S$E.2.2）；因此，清晰的热图是实现准确平面内平移的前提。直接2D掩码 $M_{t,s,j}^{\text{dir}}$（即可用热图表示的关节）控制着该项的应用。若没有该掩码，$\widehat{\mathbf{p}}^{\text{final}}$ 只能通过MANO网格间接接受监督，热图收敛时间会显著延长，且训练初期相机平移的锚定效果也会较差。

平移加速度平滑度约束 $\mathcal{L}_{acc}$。我们对预测的相机平移量的二阶有限差分（即离散加速度）进行惩罚，且仅在三个帧均具有有效预测结果的帧三元组上应用该约束。

 $$ \mathcal{L}_{\mathrm{a c c}}=\frac{\sum_{s\in\{\mathrm{L},\mathrm{R}\}}\sum_{t=2}^{T-1}M_{t,s}^{\mathrm{t r i}}\left\|\widehat{\mathbf{t}}_{t+1,s}-2\widehat{\mathbf{t}}_{t,s}+\widehat{\mathbf{t}}_{t-1,s}\right\|_{1}}{\max\left(\sum_{s\in\{\mathrm{L},\mathrm{R}\}}\sum_{t=2}^{T-1}M_{t,s}^{\mathrm{t r i}},1\right)}, $$

---

其中 $M_{t,s}^{tri} \in \{0,1\}$ 是在表15的说明中定义的三帧有效性掩码。二阶有限差分机制可惩罚突然的加速度变化（抖动现象），同时允许平滑的速度变化，这比会抑制所有运动的一阶速度惩罚更符合自然手部运动的特性。$\ell_1$ 形式的设计也增强了其对快速手部运动中偶尔出现的大加速度情况的鲁棒性。该掩码避免了在时间间隙处产生不必要的惩罚。移除该项后，抖动指标会显著下降（见表16）。

形状一致性损失 $\mathcal{L}_{shape}^{con}$。该项将每一帧的形状预测结果向该片段内预测结果的时域平均值进行正则化。

 $$ \mathcal{L}_{\mathrm{s h a p e}}^{\mathrm{c o n}}=\frac{1}{\sum_{s}|\mathcal{V}_{s}|}\sum_{s\in\{\mathrm{L},\mathrm{R}\}}\sum_{t\in\mathcal{V}_{s}}\|\widehat{\boldsymbol{\beta}}_{t,s}-\mathrm{s g}(\overline{{\boldsymbol{\beta}}}_{s})\|_{2}^{2},\qquad\overline{{\boldsymbol{\beta}}}_{s}=\frac{1}{|\mathcal{V}_{s}|}\sum_{t\in\mathcal{V}_{s}}\widehat{\boldsymbol{\beta}}_{t,s}, $$

其中 $\mathcal{V}_s$ 表示插槽 s 的有效帧集合，而 $\text{sg}(\cdot)$ 则是停止梯度算子。内部求和与均值计算都是针对每个插槽进行的，因此左右手形状系数可以独立地受到正则化约束。时间均值 $\overline{\beta}_s$ 会从计算图中分离出来：梯度只会通过 $\widehat{\beta}_{t,s}$ 传播，而不会经过 $\overline{\beta}_s$。停止梯度机制能够防止模式崩溃，因为如果没有这一机制，损失函数可能会被最小化，导致所有帧级预测结果都坍缩为同一个退化点。相反，各个帧会被拉向其当前的平均值，从而强制满足物理先验：即手形在短片段内不会发生变化。较低的权重 ($\lambda_{\text{shape}}^{\text{con}}=0.05$) 表明这一项属于软性正则化项，而非主要的监督信号。

#### E.4 两阶段训练流程

第一阶段通过两个子步骤（阶段 1a 和阶段 1b）对 VACE 分支进行适配，第二阶段则利用阶段 1b 主干网络生成的缓存特征来训练 MANO 解码器。

### E.4.1 阶段 1a：基于 EgoDex 的关节叠加预训练

阶段 1a 仅在 EgoDex [^9] 数据集上预训练 VACE 的条件路径，该数据集是一个大规模的自我中心式手-物体交互语料库，包含 3D 关节标注但没有 MANO 网格标签；此子步骤中并未混入任何带有 MANO 标注的数据集。渲染目标是将关节骨架以 Alpha 混合方式叠加到场景上，训练过程优化 25k 步，采用学习率为 $10^{-4}$ 的 AdamW 优化器，并使用带有 500 步线性热启动的余弦调度策略。训练使用 32 个 GPU，每个 GPU 的批处理大小为 1，采用 bfloat16 混合精度，并配合 DeepSpeed ZeRO 第 0 阶段技术。

## E.4.2 阶段 1b：MANO 网格叠加微调

我们以阶段 1a 的检查点为起点，继续在两种分布内 MANO 标注的自我中心式数据集（ARCTIC、HOT3D）上训练 10k 步，采样权重按数据比例设定分别为 0.283 和 0.717，目标函数为完整的网格叠加形式。HOI4D 数据集被排除在我们流程中的所有显式监督阶段之外（阶段 1a、阶段 1b 以及解码器训练），因此主论文中对 HOI4D 的评估属于针对我们监督训练的跨数据集测试，其地位与基线模型相当——这些基线模型也均未在 HOI4D 上做微调；如同任何预训练的视频基础模型一样，我们无法确认 Wan2.1-VACE 自身的预训练语料中是否包含类似 HOI4D 的素材（详见主论文的局限性部分）。阶段 1b 在 8 个 GPU 上运行，其每个 GPU 的批处理大小、优化器和调度策略均与阶段 1a 保持一致。作为对照实验，我们也在 8 个 GPU 上从零开始训练阶段 1b，训练步数与阶段 1a 相同，均为 25k 步；这一配置对应主论文数据消融表中“仅网格叠加”一行的结果。

#### E.4.3 阶段 2：MANO 解码器训练

解码器在从阶段 1b 的 VACE 主干网络中提取的固定特征切片上进行训练。对于每个片段，我们执行一次 50 步的采样过程（调度偏移量为 5），并在第 34 步记录 DiT $L_{15}$ 激活值，即归一化去噪步骤 $\tau_k \approx 0.7$，由此得到每个片段的形状为 [1536, $F_{\mathrm{lat}}$, $H_{\mathrm{pat}}$, $W_{\mathrm{pat}}$] 的特征张量，相关细节见 §E.1 中的 $F_{\mathrm{lat}} = 21$ 和 $(H_{\mathrm{pat}}, W_{\mathrm{pat}})_{\mathrm{as}}$。由于偏移后的调度是非均匀的，尽管该步骤位于轨迹的三分之二处，但仍保留了大部分初始噪声，这与主论文的分析一致。解码器读取这一切片，并优化 30k 步，批处理大小为 16，采用学习率为 $2 \times 10^{-4}$ 的 AdamW 优化器，以及余弦调度策略。

---

训练时采用200步的线性热身策略；每个批次的数据均来自同一个数据集，以确保各批次的空间网格保持一致。

### E.5 受控拟合研究：特征切片的能力上限

在做出泛化性相关结论之前，我们首先验证所选的中期去噪特征切片是否包含足够的手部信息来支持MANO解码——若缺乏这类信息，即便对单个序列过度拟合，也无法恢复出准确且时间上连贯的手部运动。我们将Stage 1b版本的VACE骨干网络参数固定，利用默认的解码点（$L_{15}$、$\tau_k \approx 0.7$）以及§E.3节中定义的完整解码损失函数，针对单个ARCTIC片段对§E.2节所述的双分支解码器进行拟合。经过3000步训练后，该解码器在保留片段上的MPJPE-p值达到0.35毫米，PA-MPJPE-p值达到0.12毫米，这一数值远低于MANO表面本身所允许的帧间误差范围。这表明所选的特征切片足以在保留场景下解码手部状态；因此，主论文中对比与消融表格里报告的测试时误差主要反映的是模型泛化能力问题，而非明显的特征容量瓶颈。

## F ARCTIC数据集上的损失项消融实验

本节报告在ARCTIC数据集上进行的损失项消融实验结果；解码器组件的消融实验结果详见主论文。按照主论文中的消融实验方案，仅限制Stage-2解码器的训练在ARCTIC数据集上进行，而Stage-1b版本的VACE骨干网络则沿用主论文对比实验中使用的ARCTIC + HOT3D组合；如此设计既能将解码器消融实验与跨数据集迁移影响隔离开来，又能保持骨干网络参数不变。表16依次从完整设计结构中移除某一个损失项。文中报告的四个指标分别为FAcc、MPJPE-p、EPE-p和Jitter；其中FAcc的数值越高越好，其余指标则数值越低越好。

<div style="text-align: center;">Table 16: Loss-term ablation on ARCTIC. Each row removes a single loss term from the full decoder objective, holding all other terms and the training protocol fixed. FAcc is higher-better; the rest are lower-better.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Variant</td><td style='text-align: center; word-wrap: break-word;'>FAcc</td><td style='text-align: center; word-wrap: break-word;'>MPJPE-p</td><td style='text-align: center; word-wrap: break-word;'>EPE-p</td><td style='text-align: center; word-wrap: break-word;'>Jitter</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o geodesic</td><td style='text-align: center; word-wrap: break-word;'>0.9970</td><td style='text-align: center; word-wrap: break-word;'>21.43</td><td style='text-align: center; word-wrap: break-word;'>11.92</td><td style='text-align: center; word-wrap: break-word;'>3.49</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o 3D joint L1</td><td style='text-align: center; word-wrap: break-word;'>0.9975</td><td style='text-align: center; word-wrap: break-word;'>21.15</td><td style='text-align: center; word-wrap: break-word;'>12.25</td><td style='text-align: center; word-wrap: break-word;'>3.39</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o 2D reproj</td><td style='text-align: center; word-wrap: break-word;'>0.9507</td><td style='text-align: center; word-wrap: break-word;'>21.19</td><td style='text-align: center; word-wrap: break-word;'>11.98</td><td style='text-align: center; word-wrap: break-word;'>3.42</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o accel. smooth</td><td style='text-align: center; word-wrap: break-word;'>0.9479</td><td style='text-align: center; word-wrap: break-word;'>21.10</td><td style='text-align: center; word-wrap: break-word;'>11.84</td><td style='text-align: center; word-wrap: break-word;'>3.88</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o shape cons.</td><td style='text-align: center; word-wrap: break-word;'>0.9979</td><td style='text-align: center; word-wrap: break-word;'>20.71</td><td style='text-align: center; word-wrap: break-word;'>12.01</td><td style='text-align: center; word-wrap: break-word;'>3.50</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Full design</td><td style='text-align: center; word-wrap: break-word;'>0.9979</td><td style='text-align: center; word-wrap: break-word;'>20.59</td><td style='text-align: center; word-wrap: break-word;'>11.93</td><td style='text-align: center; word-wrap: break-word;'>3.42</td></tr></table>

损失项消融实验结果表明：移除任意单一损失项都会导致MPJPE-p值相较于完整目标函数下的结果有所升高，其中形状一致性损失的增幅最小，仅为0.12毫米；测地旋转损失的增幅最大，达到0.84毫米。有两个损失项会对其他指标产生特定的负面影响：加速度平滑性损失是唯一能显著改变Jitter的指标，移除该损失后Jitter值会从3.42毫米/帧升至3.88毫米/帧 $^{2}$，这印证了其作为时间正则化项的作用。移除2D投影损失后FAcc会降至0.9507，移除加速度平滑性损失后FAcc会降至0.9479，这是仅有的两个对FAcc产生显著影响的消融情况；我们认为这种敏感性源于FAcc严格的逐帧判定标准，少数异常帧就足以使该指标发生变化。由于热图-2D损失和2D投影损失各自都能独立保障像素级精度，因此EPE-p值在损失项消融实验中变化不大。
