
# 通过手机扫描生成的通用手部模型所创建的逼真手部虚拟形象

文硕·穆恩

罗汉·乔希

吴承磊

白鸟贵明

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

Meta公司编解码虚拟形象实验室

<https://mks0601.github.io/UHM>

<div style="text-align: center;">(b) Animatable authentic hand avatar</div>

<div style="text-align: center;">Figure 1. We introduce (a) UHM, which can universally represent arbitrary IDs of hands at a high fidelity. Our adaptation pipeline fits pre-trained UHM to a phone scan, which produces (b) an animatable authentic 3D hand avatar. Images of (b) are rendered using our adapted hand avatar with the Phong reflection model and environment maps [^7] [^11].</div>

## 摘要

在AR/VR沉浸式体验中，包含手部形状和纹理等所有可识别信息的逼真3D手部虚拟形象是必不可少的。在本文中，我们提出了一种通用手部模型（UHM），它1）能够普遍表示任意身份（ID）的高保真3D手部网格；2）仅需通过简短的手机扫描就能适配每个人，生成逼真的手部虚拟形象。为了实现高效的通用手部建模，我们同时执行跟踪和建模操作，而以往的3D手部模型则是分别进行这两项操作。传统的独立流程会受到跟踪阶段累积误差的影响，这些误差在建模阶段无法被修正。相比之下，我们的方法不会受累积误差的影响，且整体流程更为简洁。此外，我们引入了一种新颖的图像匹配损失函数，以解决跟踪和建模过程中的皮肤滑动问题，而现有研究对此关注甚少。最后，利用从UHM中学到的先验知识，我们能够有效地将UHM适配到每个人的简短手机扫描数据上，从而生成逼真的手部虚拟形象。

### 1. 引言

人类通过双手与世界互动。我们通过手势与他人交流、通过手部动作表达情感，以及以各种手部姿势与物体交互。在AR/VR沉浸式体验中，包含3D手部形状和纹理等所有可识别信息的逼真3D手部虚拟形象是必不可少的。

3D手部模型是一种根据3D姿态和身份（ID）隐码生成3D手部的函数。姿态代表3D关节角度，ID隐码则决定了零姿态下的可识别手部形状（如厚度和大小）或纹理（如肤色和指甲油）。这两个输入（即3D姿态和ID码）用于驱动预训练的3D手部模型，其中3D姿态可从3D手部姿态估计器[^5] [^8] [^17] [^18] [^22] [^25]获取，ID隐码则可在个性化阶段[^13]获得。相较于至少需要数十个摄像头才能实现的3D重建[^9]，这两个输入属于来自野外环境的单摄像头或双摄像头设置中相对容易获取的数据。因此，3D手部模型是3D手部虚拟形象的核心组件。

我们提出了一种通用手部模型（UHM），它1）能够普遍表示如图1(a)所示的任意ID的高保真3D手部网格；2）只需通过简短的手机扫描就能适配每个人，生成如图1(b)所示的逼真手部虚拟形象。为了实现高效的通用手部建模，我们同时执行跟踪和建模操作，而现有的3D手部模型[^4] [^6] [^12] [^16] [^26] [^28] [^29]采用的是独立的跟踪和建模流程。它们的跟踪阶段[^1] [^10]通过将模板网格非刚性对齐到目标上来生成目标3D网格，这些目标包括3D关节坐标、3D扫描数据、掩码和图像等。通过这种方式，跟踪阶段能生成在所有采集数据中拓扑结构一致的3D网格。随后，建模阶段对3D网格进行监督……

---

带有被追踪的3D网格的手部模型。这种传统的分离式流程存在一个局限性：追踪误差无法在建模阶段得到修正，我们将其称为误差累积问题。而我们的UHM能够在单一阶段同时完成追踪与建模，因此不会受到误差累积问题的影响，且整个流程也更为简洁。

我们还提出了一种基于光流的损失函数，用于防止追踪和建模过程中出现皮肤滑动现象，而现有的3D手部模型对此并未给予足够重视。大多数3D手部模型[^16] [^28] [^29]仅通过最小化顶点与追踪到的3D网格之间的距离来进行训练，而追踪过程[^1] [^10]则是通过最小化迭代最近点（ICP）算法得出的与3D扫描数据之间的距离来实现的。由于3D扫描数据与3D手部模型生成的网格拓扑结构并不相同，两者之间可能存在多种对应关系。因此，如果没有合适的目标函数，3D手部模型的某些顶点可能会滑移到语义上错误的位置。例如，虽然某组顶点在所有拍摄图像中都应位于拇指位置，但由于ICP损失的模糊性，它们可能会被滑移到拇指下方。为解决这一问题，我们提出了一种图像匹配损失函数，该函数会最小化我们渲染出的图像与拍摄图像之间的光流范数。光流能够提供图像级别的对应关系，对于指甲、手掌上的皱纹等特征明显的手部部位尤为有效。由于我们采用了能够识别图像上下文信息的深度光流估计网络[^30]，光流能够给出具有语义意义的对应关系，而ICP损失则无法做到这一点。

最重要的是，我们提出了一种高效的流程，仅需通过简短的手机扫描就能将UHM适配到每个人身上，从而生成逼真的手部虚拟形象。我们发现现有研究[^13]虽然能产出看似合理的输出结果，但缺乏真实性，比如生成的手部3D形状与目标手部存在细微差异。而在追踪和建模阶段提供的有用先验信息的帮助下，我们成功实现了高度逼真的效果。

我们的贡献可总结如下。

- 我们提出了UHM，这是一种3D手部模型，它能够1）通用地表示任意ID的高保真3D手部网格；2）通过简短的手机扫描即可适配到每个人身上，生成逼真的3D手部虚拟形象。

- UHM能够同时完成追踪与建模，而现有模型则需分别进行这两步操作，以此来解决建模阶段产生的累积误差问题。

- 我们提出了一种新颖的图像匹配损失函数，以解决追踪和建模过程中的皮肤滑动问题。

利用追踪和建模阶段提供的有用先验信息，生成逼真的手部虚拟形象。

• 我们提出了一种针对该模型的高效适配流程。

### 2. 相关工作

3D手部模型。通用3D手部建模旨在训练一个能够普遍表示任意ID的3D手部的模型。MANO [^29]是通用3D手部建模领域的先驱之一，也是应用最广泛的一种。NIMBLE [^16]是一种由骨骼、肌肉和皮肤网格构成的3D手部模型。LISA [^6]基于隐式表示，其灵感来源于神经辐射场 [^20]。Handy [^28]是一种高保真的3D手部模型，遵循MANO的公式。由于通用建模难度大且难以从多个ID中收集大规模数据，因此出现了几种个性化3D手部模型。这些个性化3D手部模型只能表示训练集中的单个ID，无法表示新的ID。DHM [^23]是一种高保真的个性化3D手部模型。LiveHand [^26]和HandAvatar [^4]基于手部的隐式3D表示，其灵感同样来源于神经辐射场 [^20]。RelightableHands [^12]是一种可重新光照的个性化3D手部模型。

与上述3D手部模型相比，我们的UHM具有三个显著优势。首先，UHM同时执行跟踪与建模，以解决跟踪阶段产生的误差累积问题。其次，我们引入了一种新颖的图像匹配损失函数，以解决跟踪与建模过程中的皮肤滑动问题。最后，我们的方法能够从手机扫描数据中生成逼真的手部虚拟形象，而以往的模型 [^4] [^6] [^26] 则需要捕捉工作室数据集中的精确3D关键点和MANO注册信息 [^24]。此外，它们的纹理模块生成的是工作室环境下的图像 [^23] [^24]，与手机拍摄的图像在外观上存在较大差异。Handy [^28]的纹理模块由于潜在空间的表达能力有限，无法复现个人特有的细节，比如指甲油颜色和纹身。

基于手机扫描数据的3D手部虚拟形象。利用简短的手机扫描创建3D手部虚拟形象的研究近期才开始兴起。这类3D手部虚拟形象应当满足：1）针对目标人物进行个性化定制，具备包括3D手部形状和纹理在内的真实感；2）能够由3D姿态驱动。以往的研究 [^4] [^6] [^26] 是利用精确的3D资产——如3D跟踪结果和校准后的多视角图像，从工作室拍摄的长视频中创建3D手部虚拟形象 [^23] [^24]。由于获取此类3D资产需要大量资源，比如数十甚至数百台经过校准且同步的摄像头，因此这种3D资产成了日常生活中制作3D手部虚拟形象的瓶颈。最近推出的HARP [^13]能够利用简短的手机扫描数据创建3D手部虚拟形象。它采用细分的MANO [^29]作为底层几何表示，并通过优化反照率贴图和法线贴图来实现个性化。与HARP相比，

---

![Image](images/b2800bdc7be83be293b13906599bf4696b9d7f6251bb0d512b74ff23e9a576c5.jpg)

<div style="text-align: center;">Figure 2. The effectiveness of the correctives.</div>

我们的适配流程通过利用来自UHM的先验知识，能够生成更逼真的结果。

### 3. UHM

#### 3.1. 公式表述

我们采用线性混合蒙皮（LBS）作为底层几何变形算法，这与以往基于网格的方法一致 [^16] [^23] [^28] [^29]。给定零姿态空间（即模板空间）中的3D顶点和3D关节坐标，分别记为$\vec{J}$和$\vec{V}$，我们对它们应用各种修正项，再通过LBS将3D姿态映射到零姿态空间。图2展示了这些修正项的效果。修正项共有三种类型：与ID相关的骨骼修正项$\Delta\vec{J}^{id}$、与ID相关的顶点修正项$\Delta\vec{V}^{id}$，以及同时依赖姿态和ID的顶点修正项$\Delta\vec{V}^{pose}$。其中，与ID相关的骨骼修正项$\Delta\vec{J}^{id}$和与ID相关的顶点修正项$\Delta\vec{V}^{id}$分别用于为每个ID建模零姿态空间中的不同3D骨骼结构（如骨长）和3D手部形状（如厚度）。而同时依赖姿态和ID的顶点修正项$\Delta\vec{V}^{pose}$则用于建模主要由3D姿态驱动的不同表面级形变。我们还额外考虑了ID因素，以便为每个ID建模略有不同的、依赖姿态的顶点修正项。执行LBS时，我们首先利用$\vec{J} + \Delta\vec{J}^{id}$和给定的3D姿态$\Theta$进行正向运动学计算，从而得到每个关节的变换矩阵。我们将正向运动学计算得到的3D关节坐标记为J。随后，我们将这些变换矩阵应用于$\vec{V} + \Delta\vec{V}^{id} + \Delta\vec{V}^{pose}$，并结合预定义的蒙皮权重，最终得到带姿态的3D网格V。我们的模板网格$\vec{V}$包含16K个顶点和32K个面。这三种类型的修正项均在我们的流程中完成估计。

#### 3.2. 组件

图3展示了我们UHM的整体流程。UHM由IDEncoder、IDDecoder、PoseEncoder和PoseDecoder组成。关于它们的详细网络架构，请参阅补充材料。

IDEncoder和IDDecoder。IDEncoder和IDDe-

![Image](images/576c246073d63a2b180aa3457c0b804ef19eb576b7f99519372a908e0ac9bfc5.jpg)

<div style="text-align: center;">Figure 3. The overall pipeline of the proposed UHM. The estimated correctives (dotted green box at the bottom) are applied to a template mesh to refine it. Then, LBS is used to pose the template mesh.</div>

coder分别是变分自编码器（VAE）[^14]的编码器和解码器，负责学习ID空间的先验知识。IDEncoder利用重参数化技巧$\mathbf{z}^{\text{id}} \in \mathbb{R}^{32}$，从每个训练对象的深度图和3D关节坐标对中提取ID码[^14]。随后，IDDecoder会根据该ID码输出与ID相关的骨骼修正项$\Delta \tilde{J}^{\text{id}}$以及与ID相关的顶点修正项$\Delta \tilde{V}^{\text{id}}$。在训练过程中，对于同一个对象，IDEncoder始终接收相同的输入；这些输入是通过将中性姿态下的3D扫描数据和3D关节坐标刚性对齐到参考坐标系，并从对齐后的3D扫描数据渲染出深度图来准备的。通过这种方式，我们可以从IDEncoder的输入中消除与ID信息无关的姿态和视角因素。训练完成后，由于IDEncoder的输入在实际应用场景中难以获取，因此会被丢弃。取而代之的是，我们在测试阶段通过将ID码拟合到目标数据上来获取新样本的ID码（详见第6.2节和6.3节）。

PoseEncoder和PoseDecoder。PoseEncoder从单张RGB图像与任意姿态及身份的3D关节坐标对中，输出关节的6D旋转信息[^35] $\Theta$。与IDEEncoder的输入仅包含单个受试者的数据对不同，PoseEncoder的输入可来自任意姿态和受试者。PoseDecoder则通过多层感知机，根据6D旋转姿态$\Delta\tilde{V}^{pose}$与身份编码$\Theta$，输出依赖于姿态和身份的顶点修正量$z^{id}$。由于即便姿态相同，不同人的皮肤形变方式也可能存在差异，因此我们的PoseDecoder会同时考虑姿态编码和身份编码。请注意，零姿态下的依赖身份形变已在IDDecoder中处理完毕，而输入到PoseDecoder中的额外身份编码仅用于建模不同身份所特有的、依赖于姿态的形变。遵循STAR [^27]的思路，我们借助可学习的顶点权重$\Delta\tilde{V}^{pose}$以稀疏方式估算$\Phi$。出于与IDEEncoder相同的原因，训练完成后PoseEncoder会被丢弃。

---

在测试阶段，我们通过将新样本拟合到目标数据来获取其姿态（详见第6.2节和6.3节）。

### 4. 同步跟踪与建模

我们利用同步跟踪与建模流程，从头开始端到端地训练UHM。我们需要最小化的损失函数有两种：数据项和正则项。下文将介绍我们的数据项，正则项的详细描述请参阅补充材料。

姿态损失、点对点损失以及掩码损失。姿态损失$L_{\mathrm{pose}}$衡量3D关节坐标J与目标之间的$L_1$距离，主要用于提供运动学形变相关信息。点对点损失$L_{p2p}$是3D顶点坐标V与3D扫描数据之间最近的$L_1$距离；掩码损失$L_{\mathrm{mask}}$则是渲染出的前景掩码与目标前景掩码之间的$L_1$距离，我们的掩码由可微渲染器生成[^32]。$L_{p2p}$和$L_{\mathrm{mask}}$主要用于提供非刚性表面形变相关信息。对于$L_{p2p}$和$L_{\mathrm{mask}}$，我们均通过两组数据计算损失函数：首先，利用修正量($\Delta\bar{V}^{\mathrm{id}}$和$\Delta\bar{V}^{\mathrm{pose}}$)得到V并计算损失函数；其次，将$\Delta\bar{V}^{\mathrm{pose}}$设为零来得到V并计算损失函数。第二种方式能让我们在不受依赖于姿态和身份的修正量$\Delta\bar{V}^{\mathrm{id}}$影响的情况下，对依赖身份的修正量$\Delta\bar{V}^{\mathrm{pose}}$进行监督，从而学习到有意义的身份隐空间。

图像匹配损失。仅使用上述损失函数无法保证顶点在所有帧和受试者间保持语义一致性，因为3D扫描数据和掩码均属于无结构的表面数据。例如，某个本应位于所有帧和受试者拇指上的顶点，可能会滑移到语义上错误的位置。这是因为上述损失函数并未强制要求这种语义一致性。为确保语义一致性，我们额外计算了图像匹配损失，该思路受到[^3]和[^33]的启发。

首先，对于每个受试者，我们将中性姿势下某一帧的多视角图像展开到UV空间，如图4(a)所示，由此得到参考纹理。在展开过程中，我们使用从未经图像匹配损失训练的检查点中获得的3D网格。展开后，参考纹理的数量与受试者数量相等。这些参考纹理属于静态资源，在训练期间不会发生变化。接着，我们用额外的$L_{img}$对检查点进行微调。图4(b)展示了$L_{img}$的作用：我们首先以可微分的方式，利用参考纹理将网格顶点光栅化并渲染出图像[^32]（见图4(a)）；随后，我们使用预训练的最先进光流估计网络[^30]，计算渲染图像与采集图像之间的光流；最后，我们最小化以下两者间的$L_1$距离：1）光栅化网格顶点的2D位置，以及2）目标像素的位置。

![Image](images/a7fbdc3595b79c3d5215d4966be1b36113dddf2f42b9316a5d1f62581661df92.jpg)

<div style="text-align: center;">Figure 4. (a) Reference texture. (b) Our image matching loss function encourages rasterized vertices (orange) to move to the target positions (green), where the target position is obtained by the optical flow (white arrow).</div>

其中目标像素即为光流的输出结果。

我们的图像匹配损失会促使每个光栅化网格顶点具有与参考纹理一致的语义含义，从而使其方差较小。由于参考纹理来自中性姿势，此时皮肤滑动程度最小，因此偏差也较低。请注意，梯度仅反向传播至光栅化网格顶点，渲染图像并不会与采集图像完全一致——因为渲染图像不存在依赖姿态和视角的纹理变化及阴影变化。不过我们观察发现，光流对这类纹理变化具有极强的鲁棒性，因此能在渲染图像与采集图像之间实现合理的匹配。

### 5. 适配手机扫描数据

按照第4节的方法训练好UHM后，我们将其适配到用于生成真实手部虚拟形象的一段较短（通常约15秒）的手机扫描数据上。该手机扫描数据包含处于中性姿势、且带有不同全局旋转的单人手部的图像，目的是暴露出手部的大部分表面。在适配过程中，我们冻结已预训练的UHM，同时优化其输入参数。

#### 5.1. 预处理

我们使用单台iPhone 12进行手部扫描，该设备配备的深度传感器可用于提取更精准的用户手部几何信息。接着，我们利用2D手部关键点检测器（我们自研的检测器或开源的Mediapipe [^31]）获取2D手部关节坐标，通过RVM [^19]获得前景掩码。此外，我们还使用InterWild [^21]来获取所有帧的MANO [^29]参数。

#### 5.2. 几何拟合

我们将预训练UHM的输入参数（即3D姿态$\Theta$和ID编码$z^{id}$）、3D全局旋转以及3D全局平移

---

![Image](images/212a7bb9e5ba4539d58c3c1c6e63a1427c20d51c5d731c54d5a1506fec014a84.jpg)

<div style="text-align: center;">Figure 5. The overall pipeline to remove the shadow from the phone scan using our ShadowNet.</div>

适配到手机扫描数据上。其中3D姿态、3D全局旋转和3D全局平移是逐帧参数，而ID编码是单一参数且在所有帧中共享，因为每次手机扫描均来自同一人。在拟合过程中，我们针对2D手部关节坐标、前景掩码、深度图以及来自MANO参数的3D关节坐标最小化损失函数，这些拟合目标均来自5.1节的内容。有关拟合的详细描述请参阅补充材料。

#### 5.3. 阴影去除

为了生成反照率纹理，我们需要从手机扫描数据中去除阴影。图6显示，若不去除阴影，手机拍摄产生的阴影会被嵌入纹理中，从而导致……

![Image](images/41f727fd2a71eecd1fc8150ba97480efda6bed4952e0f3cc350473908a750e53.jpg)

<div style="text-align: center;">(a) With ShadowNet (Ours) (b) Without ShadowNet</div>

<div style="text-align: center;">Figure 6. Effectiveness of our ShadowNet in a novel light condition.</div>

在全新的光照条件下会出现明显的伪影。由于无法获知手机扫描时的完整三维环境地图，因此很难将阴影与展开后的纹理完美分离。以往的研究[^13]假设存在单点光源，并在适配过程中对其进行优化。然而在大多数情况下，这一假设并不成立，因为日常生活中往往存在多个光源。我们并未采用这种基于物理的方法，而是引入了ShadowNet，采取统计学的处理方式。如图5所示，我们的思路是将阴影建模为色彩校准图像与拍摄图像之间的暗度差异。

ShadowNet。我们的ShadowNet能够根据平铺的3D全局旋转、3D姿态$\Theta$、ID编码$z^{id}$以及每个网格顶点的视角方向，在UV空间中估算阴影图。在手机扫描期间，给定固定的3D环境，ShadowNet的输入即可确定手部的阴影。ShadowNet是一个包含多个上采样层的全卷积网络。为了获得平滑的阴影效果，我们

![Image](images/ca213146a2763c44e416d54d796f50048b5398b047d196a4664030a257996b97.jpg)

<div style="text-align: center;">(a) Albedo (b) Shadow (c) Albedo*Shadow (d) Phone scan</div>

<div style="text-align: center;">Figure 7. Qualitative results of image's albedo and shadow decomposition using our ShadowNet.</div>

![Image](images/704da84283b5851610c9d641d787b1fc6aba6e2a6d4513a7eba44c0ad0d44995.jpg)

<div style="text-align: center;">(a) Phone scan</div>

<div style="text-align: center;">(b) Animation with novel poses</div>

<div style="text-align: center;">Figure 8. Animated hand avatars whose textures are from (a) phone scan, and geometry is from UHM by passing novel 3D poses  $\Theta$ and personalized ID code  $\mathbf{z}^{id}$ to it.</div>

在网络末端进行四次双线性上采样。在将数据传入ShadowNet之前，我们会向输入中添加可学习的位置编码，因为UV空间中的每个纹理像素都有其特定的语义含义。我们在ShadowNet的末端应用Sigmoid激活函数。通过将生成的阴影图渲染并乘以原图像，可使图像变暗，从而模拟出阴影效果，这一思路与Bagautdinov等人[^2]的研究类似。图7展示了ShadowNet的定性结果。我们随机初始化ShadowNet，并用手机扫描数据进行训练。详细架构请参见补充材料。

优化过程。首先，我们获取色彩校准图像，该图像由所有纹理像素颜色相同的UV纹理渲染而成。纹理像素的RGB值（3D向量）是可优化的参数。对于阴影去除，我们的假设是手部皮肤颜色通常较为均匀，这与人体上下身衣物颜色各异的情况不同。请注意，色彩校准图像仅用于去除阴影，最终生成的手部模型会保留各种真实的颜色信息。

接着，我们将渲染出的阴影乘以色彩校准图像。我们最小化$L_{1}$距离以及VGG

---

![Image](images/285d8f45d02610b885a57f149ceca7022e0045a6465e8110796cfcd0a70c55e4.jpg)

<div style="text-align: center;">Figure 9. Comparison of our UHM and previous 3D hand models [^16] [^28] [^29] on our test set. The first row examples are from the same ID with a sharp hand, and the second row examples are from another same ID with a thick hand. All the others are from different IDs.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">3D hand models</td><td colspan="3">Testing sets</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>MANO</td><td style='text-align: center; word-wrap: break-word;'>DHM</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MANO [^29]</td><td style='text-align: center; word-wrap: break-word;'>1.44</td><td style='text-align: center; word-wrap: break-word;'>0.94</td><td style='text-align: center; word-wrap: break-word;'>1.36</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NIMBLE [^16]</td><td style='text-align: center; word-wrap: break-word;'>1.21</td><td style='text-align: center; word-wrap: break-word;'>0.88</td><td style='text-align: center; word-wrap: break-word;'>1.22</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Handy [^28]</td><td style='text-align: center; word-wrap: break-word;'>1.20</td><td style='text-align: center; word-wrap: break-word;'>0.78</td><td style='text-align: center; word-wrap: break-word;'>1.11</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UHM (low res.)</td><td style='text-align: center; word-wrap: break-word;'>0.73</td><td style='text-align: center; word-wrap: break-word;'>0.76</td><td style='text-align: center; word-wrap: break-word;'>0.61</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UHM (Ours)</td><td style='text-align: center; word-wrap: break-word;'>0.72</td><td style='text-align: center; word-wrap: break-word;'>0.75</td><td style='text-align: center; word-wrap: break-word;'>0.59</td></tr></table>

<div style="text-align: center;">Table 1. P2S error (mm) comparison of 3D hand models on multiple test sets.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">3D hand models</td><td colspan="3"># of views of DHM test set</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1 view</td><td style='text-align: center; word-wrap: break-word;'>2 views</td><td style='text-align: center; word-wrap: break-word;'>4 views</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LISA [^6]</td><td style='text-align: center; word-wrap: break-word;'>3.68</td><td style='text-align: center; word-wrap: break-word;'>3.56</td><td style='text-align: center; word-wrap: break-word;'>3.38</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UHM (Ours)</td><td style='text-align: center; word-wrap: break-word;'>1.63</td><td style='text-align: center; word-wrap: break-word;'>1.38</td><td style='text-align: center; word-wrap: break-word;'>1.27</td></tr></table>

<div style="text-align: center;">Table 2. P2S error (mm) comparison on DHM dataset.</div>

损失[^15]，同时针对两组图像对进行优化：1）色彩校准图像与拍摄图像；2）带有阴影的色彩校准图像与拍摄图像。通过这种方式，我们可以优化ShadowNet，使其根据图像固有分解公式生成拍摄图像与色彩校准图像之间的单通道差异图。如果没有适当的正则化项，ShadowNet可能会将所有单通道差异都视为阴影，这对于头发和黑色纹身而言是不合适的。因此，我们对渲染出的阴影应用总变差正则化，以将阴影建模为局部平滑的暗度变化，而非局部尖锐的变化。

#### 5.4. 纹理优化

根据第5.2节中估算的3D网格以及第5.3节中的阴影信息，我们首先将采集到的图像除以阴影，再将其展开到UV空间。接着，我们根据每个纹理像素的可见性对其进行平均处理。我们使用OpenCV的图像修复功能对展开后的纹理进行预处理，以填补缺失的纹理像素。为了进一步优化展开后的纹理，我们先用该纹理渲染一幅图像，再将渲染出的阴影与之相乘。随后，我们最小化渲染图像与采集图像之间的$L_{1}$距离以及VGG损失[^15]，从而获得更逼真的纹理。此外，对于由OpenCV填充的缺失纹理像素，我们还要求它们具有局部平滑性。在纹理优化过程中，我们会微调ShadowNet，以确保阴影与纹理保持一致。

#### 5.5. 最终输出

我们的手部虚拟形象创建流程的最终输出包括：1）来自第5.2节的优化后的UHM ID码$z^{id}$；2）来自第5.4节的优化后的纹理。几何ID码可生成个性化的3D手部形状与骨骼，而优化后的纹理则提供了个性化的反照率纹理。将市售3D手部姿态估计器[^5]、[^8]、[^17]、[^18]、[^22]、[^25]输出的3D姿态，与优化后的ID码一同输入到预训练的UHM模型中，即可根据新姿态驱动整个网格顶点进行动画制作。此外，仅利用标准的计算机图形学流程，就能渲染出具有个性化反照率纹理的逼真3D手部虚拟形象，如图8所示；或者采用Phong反射模型，如图1(b)所示。我们的流程处理15秒的手机扫描数据仅需2小时，而HARP则需6小时。

### 6. 实验

#### 6.1. 数据集

我们使用以下三个数据集来训练和评估我们的UHM模型。

我们的工作室数据集：我们选取177组采集数据用于训练，7组用于测试，每组采集数据包含来自平均170个摄像头的、同一受试者的18K帧图像。测试所用的受试者并未包含在训练集中。关于该数据集的详细描述，请参阅补充材料。

MANO测试集：我们在MANO测试集上报告3D误差，该测试集包含来自6名受试者的50组3D扫描数据。它仅用于评估目的。

DHM数据集：我们在DHM数据集上报告3D误差，该数据集包含来自同一受试者的33K组3D扫描数据。我们仅将该数据集用于评估目的。

我们还使用以下两个数据集来评估适配流程。

我们的新手机扫描数据集：我们新采集了18组来自不同ID的手机扫描数据，用于评估我们的适配流程。其中4组用于定量评估。训练时使用中性姿态的帧，测试时使用多种姿态的帧。所有手机扫描数据均按照说明进行了预处理。

---

![Image](images/61a907a4d55b6a714a3280ef9753becf0b8d293449529cc2bf0c2ffd826b3f3e.jpg)

<div style="text-align: center;">(a) Phone scan (b) UHM (Ours) (c) HARP (d) Handy (e) Phone scan (b) UHM (Ours) (c) HARP (d) Handy Figure 10. Comparison of various hand avatars on the training set of our phone scan dataset.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>3D hand avatars</td><td style='text-align: center; word-wrap: break-word;'>PSNR $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Handy [^28]</td><td style='text-align: center; word-wrap: break-word;'>26.10</td><td style='text-align: center; word-wrap: break-word;'>0.930</td><td style='text-align: center; word-wrap: break-word;'>0.087</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HARP [^13]</td><td style='text-align: center; word-wrap: break-word;'>27.50</td><td style='text-align: center; word-wrap: break-word;'>0.947</td><td style='text-align: center; word-wrap: break-word;'>0.081</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UHM (Ours)</td><td style='text-align: center; word-wrap: break-word;'>32.55</td><td style='text-align: center; word-wrap: break-word;'>0.957</td><td style='text-align: center; word-wrap: break-word;'>0.055</td></tr></table>

<div style="text-align: center;">Table 4. Comparison of 3D hand avatars on the test set of HARP dataset.</div>

如第5.1节所述，部分手机扫描数据具有独特的特征，比如指甲油、纹身等。关于该数据集的详细描述，请参阅补充材料。

HARP数据集。我们指出了公开可用的HARP数据集中的错误。请注意，他们仅发布了论文中所用数据的一部分，且发布的数据仅包含一个ID。在定量结果方面，我们使用了subject_1序列，因为其他序列的姿势多样性不足，无法用于测试。在subject_1的9个子序列中，1至5号用于训练，6至9号用于测试。

#### 6.2. 三维手部模型的比较

我们比较了预训练三维手部模型对未见过的ID和姿势的泛化能力。为此，我们在固定预训练三维手部模型的前提下，将三维手部模型的输入（即姿势和ID编码）拟合到目标数据上。将其拟合到目标数据后，我们测量点面距离（P2S）误差（单位：毫米），该误差反映了三维扫描点距输出网格表面的平均距离。这些误差是在固定模型的同时，尽可能将三维手部模型的输入拟合到目标数据后测得的。通过这种方式，我们可以判断每种手部模型的保真度（即表面表现力）在排除拟合误差后，是否足以完全还原三维扫描结果。对于UHM模型，计算误差时我们排除了前臂上的顶点，因为其他模型都不包含前臂部分。我们没有将个性化三维手部模型纳入比较范围 [^4] [^12] [^23] [^26]，因为本实验的重点是比较模型对未见姿势和ID的泛化能力，而这类个性化模型无法泛化到新的ID。

![Image](images/a54c073506a4b87d1ad36fd5f20499827fb5a64183176a92d9fc9641708883f2.jpg)

<div style="text-align: center;">Figure 11. Comparison of various hand avatars on the testing set of our phone scan dataset.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>3D hand avatars</td><td style='text-align: center; word-wrap: break-word;'>PSNR $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>P2S $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Handy [^28]</td><td style='text-align: center; word-wrap: break-word;'>26.02</td><td style='text-align: center; word-wrap: break-word;'>0.930</td><td style='text-align: center; word-wrap: break-word;'>0.134</td><td style='text-align: center; word-wrap: break-word;'>2.21</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HARP [^13]</td><td style='text-align: center; word-wrap: break-word;'>29.89</td><td style='text-align: center; word-wrap: break-word;'>0.952</td><td style='text-align: center; word-wrap: break-word;'>0.092</td><td style='text-align: center; word-wrap: break-word;'>2.04</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UHM (Ours)</td><td style='text-align: center; word-wrap: break-word;'>31.82</td><td style='text-align: center; word-wrap: break-word;'>0.962</td><td style='text-align: center; word-wrap: break-word;'>0.076</td><td style='text-align: center; word-wrap: break-word;'>0.45</td></tr></table>

<div style="text-align: center;">Table 3. Comparison of 3D hand avatars on our test set.</div>

该模型具备对未见过的姿态和ID的泛化能力，而此类个性化模型却无法推广到新的ID。

图9和表1显示，与其他通用手部模型（如MANO [^29]、NIMBLE [^16]和Handy [^28]）相比，我们的UHM在多个测试集上生成的网格质量最佳。Handy [^28]存在表面伪影问题：例如，前三行第一列示例中指关节区域有严重伪影；底部第一列示例中拇指周围没有肌肉隆起；第三行第二列示例中小指部位也有严重伪影。为了更公平地比较，我们还提供了基于低分辨率模板的结果，该模板的顶点数仅为NIMBLE（6K）和Handy（7K）的一半（3K）。表格显示，即便顶点数只有一半，我们的模型仍比NIMBLE和Handy具有更高的保真度。表2显示，在DHM数据集上，我们的模型效果也远优于LISA [^6]。

#### 6.3. 适配流程的比较

图10和11显示，我们的适配流程生成的结果比HARP [^13]和Handy [^28]更加逼真、具有照片级真实感。尤其是图11右侧列显示，只有我们的虚拟形象在拇指周围和指关节处出现了训练阶段未见的皮肤隆起和尖锐轮廓，这得益于我们高保真的UHM模型。HARP模型存在几何伪影，进而引发纹理伪影，我们认为这是由于MANO模型的表现力有限所致。此外，由于他们假设光源为单点光源，其生成的阴影与采集图像明显不同，图10的第二行示例便体现了这一点。我们通过引入ShadowNet解决了这类故障。Handy模型则缺乏纹理真实性，比如指甲油、纹身和手掌皱纹等细节，因为其纹理来自预定义的纹理库。

---

(a) 光流L2范数的差异

（蓝色：使用图像匹配时范数更小）

红色：使用图像匹配时范数更大。

![Image](images/9102de1e46b58368681db6dd4e24ae91524b1f77359a1539d6c930c946006add.jpg)

(d) 未经过图像匹配损失的展开纹理

<div style="text-align: center;">Figure 12. Effectiveness of our image matching loss function.</div>

另一方面，我们对纹理进行展开，并直接对其进行优化，而不受纹理空间的约束，从而生成逼真的纹理。与几何形状不同，纹理空间中可能存在多种变体，包括阴影、纹身和指甲油；因此我们认为这种纹理先验不足以保证真实性。

表3和表4显示我们的适配流程取得了更好的数值结果。为了公平比较，表3中的所有虚拟形象都采用了额外的深度图损失进行训练，因为我们的数据集提供了深度图。对于手机扫描中的四个受试者，我们同时采集了工作室数据，从而得到他们的3D数据。为了更全面地评估适配流程的准确性，我们测量了手机扫描得到的个性化网格与工作室采集的3D扫描之间的P2S误差（毫米）。得益于我们的高保真通用建模技术，所提出的UHM在3D指标上明显取得了最佳结果。

关于测试集的结果，遵循之前的协议[^13]——即优化测试集中手部的3D姿态、光照和环境光比——我们对测试集上的PoseNet和ShadowNet进行微调。按照HARP[^13]的方法，在测试阶段固定所有其余参数，包括ID编码和优化后的纹理。对于HARP的结果，我们使用了其官方代码以及真实的手部框。对于Handy的结果，我们下载了其官方预训练权重，并按照其论文所述，利用$L_{1}$距离和LPIPS[^34]来优化3D姿态和纹理潜码。有关Handy的详细拟合过程，请参阅补充材料。

#### 6.4. 消融实验

图像匹配损失。为了验证我们的图像匹配损失$L_{img}$在跟踪和建模过程中的有效性（如图4所示），我们首先利用我们的3D网格将多视角图像展开到UV空间。接着，我们计算从中性姿态的参考纹理（图12(b)）到每帧展开纹理的光流[^30]。

![Image](images/53030568d758f10b64137ee1e6a8816ea66a57dc44aaece99022813651f97fd9.jpg)

<div style="text-align: center;">Figure 13. Comparison of rendered images 1) only using albedo and 2) using both albedo and shadow.</div>

图12(a)显示，使用我们的图像匹配损失$L_{img}$后，大多数纹理元素的光流L2范数有所降低，这表明纹理元素位于语义上正确且一致的位置，受皮肤滑动的影响更小。尤其是那些语义位置独特的纹理元素，比如手掌上的皱纹和拇指指甲，其光流L2范数显著更低，因为光流为这类纹理元素提供了有意义的对应关系。图12(c)和(d)显示，与图12(b)相比，使用我们的图像匹配损失后，拇指在UV空间中的位置更加一致且正确。另一方面，由于手背通常没有明显的纹理，光流无法产生有意义的对应关系，因此导致L2范数略高。

ShadowNet。图13显示，HARP的漫反射渲染中仍存在阴影，而我们的结果则没有。这体现了使用我们的ShadowNet从手机扫描数据中去除阴影的优势，无需像HARP那样假设单点光源并对其优化。此外，我们的漫反射纹理更加细致，比如手背上的毛发（第一行）。由于图像固有分解存在歧义，我们无法给出定量评估结果。

### 7. 结论

我们提出了UHM，一种通用手部模型，它能够：1）表示任意ID和多种姿态的高保真3D手部网格；2）通过简短的手机扫描即可为每个人定制逼真的3D手部虚拟形象。UHM同时执行跟踪与建模任务，以解决跟踪阶段产生的误差累积问题。此外，我们新引入了图像匹配损失函数，以防止在跟踪和建模过程中出现皮肤滑动现象。最终，借助UHM所学到的有用先验知识，我们的适配流程能够生成高度逼真的手部虚拟形象。

---

## 参考文献

[^1]: Brian Amberg, Sami Romdhani, and Thomas Vetter. Optimal step nonrigid ICP algorithms for surface registration. In CVPR, 2007. 1, 2

[^2]: Timur Bagautdinov, Chenglei Wu, Tomas Simon, Fabian Prada, Takaaki Shiratori, Shih-En Wei, Weipeng Xu, Yaser Sheikh, and Jason Saragih. Driving-signal aware full-body avatars. ACM TOG, 2021. 5

[^3]: Federica Bogo, Javier Romero, Matthew Loper, and Michael J Black. FAUST: Dataset and evaluation for 3D mesh registration. In CVPR, 2014. 4

[^4]: Xingyu Chen, Baoyuan Wang, and Heung-Yeung Shum. Hand Avatar: Free-pose hand animation and rendering from monocular video. In CVPR, 2023. 1, 2, 7

[^5]: Hongsuk Choi, Gyeongsik Moon, and Kyoung Mu Lee. Pose2Mesh: Graph convolutional network for 3D human pose and mesh recovery from a 2D human pose. In ECCV, 2020. 1,6

[^6]: Enric Corona, Tomas Hodan, Minh Vo, Francesc Moreno-Noguer, Chris Sweeney, Richard Newcombe, and Lingni Ma. LISA: Learning implicit shape and appearance of hands. In CVPR, 2022. 1, 2, 6, 7

[^7]: Marc-André Gardner, Kalyan Sunkavalli, Ersin Yumer, Xiaohui Shen, Emiliano Gambaretto, Christian Gagné, and Jean-François Lalonde. Learning to predict indoor illumination from a single image. ACM TOG, 2017. 1

[^8]: Liuhao Ge, Zhou Ren, Yuncheng Li, Zehao Xue, Yingying Wang, Jianfei Cai, and Junsong Yuan. 3D hand shape and pose estimation from a single RGB image. In CVPR, 2019. 1,6

[^9]: Kaiwen Guo, Peter Lincoln, Philip Davidson, Jay Busch, Xueming Yu, Matt Whalen, Geoff Harvey, Sergio Orts-Escolano, Rohit Pandey, Jason Dourgarian, et al. The relightables: Volumetric performance capture of humans with realistic relighting. ACM TOG, 2019. 1

[^10]: David A Hirshberg, Matthew Loper, Eric Rachlin, and Michael J Black. Coregistration: Simultaneous alignment and modeling of articulated 3D shape. In ECCV, 2012. 1, 2

[^11]: Yannick Hold-Geoffroy, Akshaya Athawale, and Jean-François Lalonde. Deep sky modeling for single image outdoor lighting estimation. In CVPR, 2019. 1

[^12]: Shun Iwase, Shunsuke Saito, Tomas Simon, Stephen Lombardi, Timur Bagautdinov, Rohan Joshi, Fabian Prada, Takaaki Shiratori, Yaser Sheikh, and Jason Saragih. Relightable Hands: Efficient neural relighting of articulated hand models. In CVPR, 2023. 1, 2, 7

[^13]: Korrawe Karunratanakul, Sergey Prokudin, Otmar Hilliges, and Siyu Tang. HARP: Personalized hand reconstruction from a monocular RGB video. In CVPR, 2023. 1, 2, 5, 7, 8

[^14]: Diederik P. Kingma and Max Welling. Auto-encoding variational bayes. In ICLR, 2014. 3

[^15]: Christian Ledig, Lucas Theis, Ferenc Huszár, Jose Caballero, Andrew Cunningham, Alejandro Acosta, Andrew Aitken, Alykhan Tejani, Johannes Totz, Zehan Wang, et al. Photo-realistic single image super-resolution using a generative adversarial network. In CVPR, 2017. 6

[^16]: Yuwei Li, Longwen Zhang, Zesong Qiu, Yingwenqi Jiang, Nianyi Li, Yuexin Ma, Yuyao Zhang, Lan Xu, and Jingyi Yu. NIMBLE: a non-rigid hand model with bones and muscles. ACM TOG, 2022. 1, 2, 3, 6, 7

[^17]: Kevin Lin, Lijuan Wang, and Zicheng Liu. End-to-end human pose and mesh reconstruction with transformers. In CVPR, 2021. 1,6

[^18]: Kevin Lin, Lijuan Wang, and Zicheng Liu. Mesh graphormer. In ICCV, 2021. 1, 6

[^19]: Shanchuan Lin, Linjie Yang, Imran Saleemi, and Soumyadip Sengupta. Robust high-resolution video matting with temporal guidance. In WACV, 2022. 4

[^20]: Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, and Ren Ng. NeRF: Representing scenes as neural radiance fields for view synthesis. In ECCV, 2020. 2

[^21]: Gyeongsik Moon. Bringing inputs to shared domains for 3D interacting hands recovery in the wild. In CVPR, 2023. 4

[^22]: Gyeongsik Moon and Kyoung Mu Lee. I2L-MeshNet: Image-to-Lixel prediction network for accurate 3D human pose and mesh estimation from a single RGB image. In ECCV, 2020. 1,6

[^23]: Gyeongsik Moon, Takaaki Shiratori, and Kyoung Mu Lee. DeepHandMesh: A weakly-supervised deep encoder-decoder framework for high-fidelity hand mesh modeling. In ECCV, 2020. 2, 3, 7

[^24]: Gyeongsik Moon, Shoou-I Yu, He Wen, Takaaki Shiratori, and Kyoung Mu Lee. InterHand2.6M: A dataset and baseline for 3D interacting hand pose estimation from a single rgb image. In ECCV, 2020. 2

[^25]: Gyeongsik Moon, Hongsuk Choi, and Kyoung Mu Lee. Accurate 3D hand pose estimation for whole-body 3D human mesh estimation. In CVPRW, 2022. 1, 6

[^26]: Akshay Mundra, Mallikarjun B R, Jiayi Wang, Marc Habermann, Christian Theobalt, and Mohamed Elgharib. Live-Hand: Real-time and photorealistic neural hand rendering. In ICCV, 2023. 1, 2, 7

[^27]: Ahmed AA Osman, Timo Bolkart, and Michael J Black. STAR: Sparse trained articulated human body regressor. In ECCV, 2020. 3

[^28]: Rolandos Alexandros Potamias, Stylianos Ploumpis, Stylianos Moschoglou, Vasileios Triantafyllou, and Stefanos Zafeiriou. Handy: Towards a high fidelity 3D hand shape and appearance model. In CVPR, 2023. 1, 2, 3, 6, 7

[^29]: Javier Romero, Dimitrios Tzionas, and Michael J Black. Embodied Hands: Modeling and capturing hands and bodies together. ACM TOG, 2017. 1, 2, 3, 4, 6, 7

[^30]: Zachary Teed and Jia Deng. RAFT: Recurrent all-pairs field transforms for optical flow. In ECCV, 2020. 2, 4, 8

[^31]: Andrey Vakunov, Chuo-Ling Chang, Fan Zhang, George Sung, Matthias Grundmann, and Valentin Bazarevsky. MediaPipe Hands: On-device real-time hand tracking. In CVPRW, 2020. 4

## [^32]: Shih-En Wei, Jason Saragih, Tomas Simon, Adam W Harley, Stephen Lombardi, Michal Perdoch, Alexander Hypes, Dawei Wang, Hernan Badino, and Yaser Sheikh. VR facial animation via multiview image translation. ACM TOG, 2019. 4

---

[^33]: Donglai Xiang, Timur Bagautdinov, Tuur Stuyck, Fabian Prada, Javier Romero, Weipeng Xu, Shunsuke Saito, Jingfan Guo, Breannan Smith, Takaaki Shiratori, et al. Dressing Avatars: Deep photorealistic appearance for physically simulated clothing. ACM TOG, 2022. 4

[^34]: Richard Zhang, Phillip Isola, Alexei A Efros, Eli Shechtman, and Oliver Wang. The unreasonable effectiveness of deep features as a perceptual metric. In CVPR, 2018. 8

[^35]: Yi Zhou, Connelly Barnes, Jingwan Lu, Jimei Yang, and Hao Li. On the continuity of rotation representations in neural networks. In CVPR, 2019. 3
