
# NIMBLE：一种包含骨骼和肌肉的非刚性手部模型

李宇威 $^{*}$，上海科技大学信息科学与技术学院，中国

张龙文，上海科技大学，中国；迪米斯科技，中国

邱泽松，上海科技大学，中国

蒋颖文琪，上海科技大学，中国

李念一，克莱姆森大学，美国

马月欣，上海科技大学，中国

张雨瑶，上海科技大学，中国

徐兰，上海科技大学，中国

虞晶怡 $^{\dagger}$，上海科技大学，中国；DGene数字科技公司，中国

![Image](images/931bb2cb6ee824398e61c69388d251a76286954eba94c5d3103ea4d982d91274.jpg)

<div style="text-align: center;">Fig. 1. We present NIMBLE, a non-rigid parametric hand model that includes bones and muscles, bringing 3D hand model to a new level of realism. By enforcing the inner bones and muscles to match anatomic and kinematic rules, NIMBLE can animate 3D hands to new poses at unprecedented realism.</div>

新兴的元宇宙应用需要可靠、精确且逼真的手部三维模型，以便像在现实世界中一样执行复杂的操作。虽然真实的人类手部是骨骼、肌肉、肌腱和皮肤之间最复杂的协同系统，但现有最先进的技术都仅专注于建模手部的骨骼结构。在本文中，我们提出了NIMBLE——一种全新的参数化手部模型，它补充了此前缺失的关键组件，将三维手部模型的逼真度提升到了全新水平。我们首先在最新的磁共振成像手部数据集（MRI-Hand）[Li et al. 2021]上标注肌肉、骨骼和皮肤信息，随后将体积化的模板手部匹配到不同的姿态和受试者身上。

该数据集中的NIMBLE模型包含20块作为三角网格的骨骼、7组作为四面体网格的肌肉群，以及一层皮肤网格。通过迭代式形状配准和参数学习，该模型还能生成形状混合变形、姿态混合变形以及关节回归器。我们展示了NIMBLE在建模、渲染和视觉推理任务中的应用。通过强制内部的骨骼和肌肉遵循解剖学与运动学规则，NIMBLE能够以前所未有的逼真度将三维手部动画化为新的姿态。为了模拟皮肤的外观，我们进一步构建了光度学HandStage，以获取高质量的纹理和法线贴图，从而模拟皱纹和掌纹。最后，无论是用于合成丰富的数据，还是直接作为推理网络中的可微层，NIMBLE都能助力基于学习的手部姿态和形状估计任务。

CCS概念：• 计算方法 → 网格模型；体积模型。

其他关键词：手部模型、网格配准、纹理、混合蒙皮、参数化学习

## ACM参考格式

李宇威、张龙文、邱泽松、蒋颖文琪、李念一、马月欣、张雨瑶、徐兰、虞晶怡。2022年。NIMBLE：一种包含骨骼和肌肉的非刚性手部模型。《ACM图形学汇刊》第41卷第4期，文章编号120（2022年7月），共17页。<https://doi.org/10.1145/3528223.3530079>

## 1 引言

在动画电影的制作过程中，特效巨头们会将大部分时间和资源投入到面部、毛发和肤色的渲染上，以此作为创造逼真人物和情感的捷径或技巧。相比之下，人体其他部位——尤其是手部——的渲染往往被忽视。原因很简单：特效制作人员可以轻易地将观众的注意力转移开。

---

从双手转移到头发和皮肤上，在那里它们能生成最逼真、因而也最引人注目的视觉效果。事实上，我们很少看到包含复杂而灵巧的手部动作的场景。然而，在元宇宙兴起之际，新兴的虚拟现实消费产品将会更加贴近用户、更具沉浸感和互动性，因此要求对所有身体部位——尤其是手部——进行逼真的渲染。当用户戴上头戴式显示器后，他们的虚拟手应取代真实的手，在元宇宙中执行与现实生活中同样多的操作。人类双手的灵巧性——其复杂的几何结构、手指所能创造并传递的奇妙事物与微妙信息——定义了我们在物理世界和数字世界中的智慧生物身份。

不过，手部建模十分困难。经过长期进化，手部运动已成为骨骼、肌肉、韧带、神经和皮肤之间精密配合的结果。例如，做出某个特定手势，源于手部肌肉的牵拉，进而驱动骨骼运动，最终因肌肉变形和皮肤起皱而改变形状与外观。要真实再现三维手部运动，不仅要对各个组成部分进行建模，更重要的是要对其精细的配合关系进行建模。与在三维人体建模领域的大量研究相比[Anguelov et al. 2005; Hirshberg et al. 2012; Loper et al. 2015; Pons-Moll et al. 2015]，关于照片级真实感的三维人手的研究相对有限。迄今为止，大多数现有技术都侧重于对手部骨骼的建模。实际上，应用最广泛的手部模型MANO [Romero et al. 2017] 是根据经验性关节位置来定义骨骼，并未考虑解剖学上的骨骼结构。最近的PIANO [Li et al. 2021] 模型在MANO的基础上引入了符合解剖学的骨骼结构与形状，以及连接骨骼的关节。PIANO虽然能生成更逼真的运动效果，但因其忽略了随骨骼变形的肌肉和皮肤，最终呈现的效果仍缺乏真实感。现实中，即便是抓握或握拳这样的日常动作，也需要手部及手腕周围的24组肌肉[Panchal-Kildare and Malone 2013]协同工作以实现伸展与弯曲。这些肌肉群的形状变化会进一步影响其所覆盖皮肤的外观，进而影响虚拟手渲染的整体真实感。至今，图形学界仍缺乏可靠且实用的肌肉骨骼参数化手部模型。

在本文中，我们提出了NIMBLE——一种包含皮肤、骨骼和肌肉的非刚性手部模型，旨在将动态手部的三维建模推向新的真实度水平。我们的研究得益于最新的磁共振成像手部（MRI-Hand）数据集[Li et al. 2021]，该数据集涵盖了35名受试者（19名男性，16名女性），包含50种不同的手部姿势，并附有骨骼的标注分割标签。我们首先对该数据集进行全面的分割标注，以进一步识别其中的肌肉和皮肤。类似于SMPL [Loper et al. 2015] 以T形姿势为起点来建模复杂的运动，NIMBLE采用通用的休息手姿势作为模板，该模板包含20块骨骼、7组肌肉以及一个皮肤网格。为了兼顾计算效率与渲染效率，我们将24组解剖学上的肌肉归类合并为7组，同时尽可能保留其物理意义。

为了构建新的参数化手部模型，NIMBLE利用三角网格来建模骨骼，用四面体网格来表示可变形的肌肉和皮肤。该建模方法能够在保持结构刚性的同时模拟形状变形。为了将静息姿态下的内部结构对齐到MRI-Hand数据集中的对应结构，我们提出了一种多阶段配准技术，该技术充分利用了姿态初始化的优势、手部结构间的相互依赖性以及基于物理的仿真。我们的技术能够在不牺牲姿态精度的前提下精确模拟变形的弹性。配准后的结果生成了一个全新的参数化模型，其中包含骨骼、肌肉、皮肤模板网格、运动学树、形状混合形状、姿态混合形状以及关节回归器。除了参数学习外，我们还引入了惩罚项以避免碰撞并确保肌肉变形符合物理规律。

NIMBLE的应用范围涵盖了几何建模、渲染以及视觉推理等领域。我们首先展示了如何利用NIMBLE来为不同形状且处于任意姿态下的3D手部制作动画。通过强制内部骨骼和肌肉遵循解剖学与运动学规则，NIMBLE实现了前所未有的真实感。为了进一步提升视觉真实感，我们构建了一个名为HandStage的光度外观采集系统，该系统类似于USC的LightStage [Debevec 2012]，可用于获取带有外观细节的高质量纹理（如法线贴图），包括皱纹和掌纹。这些外观细节进一步提高了视觉保真度，并能适应新的光照条件。作为参数化模型，NIMBLE可以进一步集成到Blender和Unity等先进的动画系统与渲染引擎中，用于VR和AR应用。此外，以参数形式表示的NIMBLE有助于基于学习的方法从MRI和RGB图像中估计手部姿态与形状，既可以通过合成具有不同形状和姿态的丰富数据，也可以直接作为推理网络中的可微层来使用。

总结来说，我们的主要贡献包括：

- 我们利用最新的MRI-Hand数据集，对骨骼、肌肉和皮肤进行了完整的分割标注，并通过带物理约束的优化得到了自动配准的网格。

- 我们通过形状配准与参数学习的迭代过程，构建了参数化的NIMBLE模型，并引入了新的惩罚项以确保骨骼运动与肌肉变形符合物理规律。

- 我们展示了NIMBLE在解剖学上正确的数字手部合成、运动动画及照片级渲染方面的应用。相关成果可服务于姿态与形状推断、视觉跟踪等众多下游任务。

- 我们已在<https://reyuwei.github.io/proj/nimble>上公开了NIMBLE模型和标注数据。

## 2 相关工作

在本节中，我们将综述密切相关的工作，并探讨它们与本文所提工作之间的关系。

参数化模型。通过参数化建模，可以估计低维参数空间以逼近人体几何形态。许多现有方法采用了线性混合蒙皮技术，该技术…

---

基于相关骨骼的刚性变换的非线性组合来使网格变形，这一过程适用于各种骨骼表示形式。通过精心设计的蒙皮权重，这些表示方法能够为关节化身体组织产生合理的变形效果。[Blanz和Vetter于1999年]提出了关于3D可变形人脸的开创性研究。此后，众多方法从扫描数据中学习3D人脸形状和表情[Allen等人，2006年；Zollhöfer等人，2018年]。这类几何模型的优势在于它们能够表示多种多样的人脸形状以及广泛的表情变化。与大多数仅关注面部区域的人脸模型不同，近期流行的模型FLAME[Li等人，2017年]及其扩展模型DECA[Feng等人，2021年]将建模范围扩展到了整个头部和颈部区域。借助完整的头部模型，研究者能够模拟颌关节运动，从而实现大幅度的面部姿态和表情变形。3D人体扫描技术的普及使得从扫描数据中学习人体形状成为可能。自从CAESAR数据集为人体形状学习打开了大门[Allen等人，2003年]以来，早期的研究大多集中于利用姿势大致相同的受试者扫描数据来建模人体形状（随身份不同而有所差异）。[Anguelov等人，2005年]结合了人群的人体形状数据以及单个受试者的不同姿势数据，基于三角形变形技术建立了同时包含人体形状和姿势的分解模型。在此之后，许多人体参数化模型相继被建立，有的采用三角形变形技术[Hirshberg等人，2012年；Pons-Moll等人，2015年]，有的则采用基于顶点的位移方法[Hasler等人，2010年；Loper等人，2015年]；不过所有这些研究都侧重于建模人体形状和姿势，而并未涉及手部或面部。与面部和身体相比，由于手部运动的灵活性极高，因此对其进行参数化建模更为复杂。早期的3D手部模型通常并非通过学习获得，而是基于形状基元[Melax等人，2013年；Oikonomidis等人，2011年；Schmidt等人，2014年]；这些模型通过多视角立体成像技术重建，且形状固定[Ballan等人，2012年；Tzionas等人，2016年]，或者使用非学习的零部件缩放参数[de la Gorce等人，2011年]，又或是采用简单的形状空间[Tkach等人，2016年]。直到近期[Khamis等人，2015年；Li等人，2021年；Romero等人，2017年]才提出了基于学习的手部模型。[Khamis等人，2015年]收集了50人的局部深度图以学习形状变异模型，但他们并未捕捉到姿势空间。[Romero等人，2017年]则采用了SMPL[Loper等人，2015年]的建模框架，利用31名受试者最多51种姿势下的3D扫描数据，建立了兼具丰富形状和姿势空间的参数化手部模型（MANO）。[Li等人，2021年]则基于MRI数据构建了参数化的手部骨骼模型，该模型利用真实的骨骼和关节结构来控制手部的形状和姿势。

手部模型。手部建模是计算机图形学中的重要课题。目前已提出诸多手部模型，表1根据其对手部内部生物力学结构的侧重程度[Albrecht等人，2003年；Li等人，2021年；Wang等人，2019年、2021年]或对手部外部形状、颜色和纹理的侧重程度[Moon等人，2020a；Qian等人，2020年；Romero等人，2017年]对这些模型进行了分类总结。

手部内部生物力学模型。手部的结构和功能在生物力学上极为复杂，因此基于物理的动力学模拟对于建模手部姿态和形状至关重要。例如，在早期研究中，人们利用模拟的底层手部骨骼来生成实体手部表面网格约束 [Capell et al. 2005; Kim and Pollard 2011; Liu et al. 2013]。不仅骨骼，手部皮肤和肌腱也常被纳入考量，以优化视觉外观或控制手部关节活动 [Li et al. 2013; Sachdeva et al. 2015; Sueda et al. 2008]。肌肉-肌腱建模与模拟 [Abdrashitov et al. 2021; Kadleček et al. 2016; Lee et al. 2018] 在人体研究中也受到重视。近年来，为了实现类真人般的手部动画效果，研究人员更加关注解剖结构而非模拟模型。[Mirakhorlo et al. 2018] 基于手部标本的详细测量数据，全面构建了生物力学手部模型，但该模型不具备可微性，无法嵌入深度学习框架。[Anas et al. 2016] 提出了一种用于自动腕骨分割的统计手腕形状和骨骼模型。[Wang et al. 2019] 通过磁共振成像（MRI）获取了单个受试者的完整手部骨骼和肌肉数据 [Wang et al. 2021]，进而构建了目标表演者的解剖结构正确的手部骨骼绑定模型。不过，该方法需要耗费大量时间且依赖人工指定的骨骼分割操作，难以应用于不同个体以构建参数化模型。[Li et al. 2021] 利用多受试者、多姿态的MRI数据，构建了名为PIANO的参数化手部骨骼模型，该模型在物理上精确且具有可微性，可应用于计算机视觉任务中的深度神经网络。然而，它仍缺乏更全面的解剖结构（如肌肉），难以支持更逼真的手部外表面生成。

手部外观模型。尽管完全由底层的生物力学手部结构驱动，蒙皮技术仍是生成高保真手部动画不可或缺的步骤。[Lewis et al. 2000] 提出了姿态空间变形（PSD）技术，该技术结合了骨骼子空间变形 [Magnenat-Thalmann et al. 1989] 与艺术家修正后的姿态形状，因其速度快、操作简单，且能整合真实扫描数据和任意艺术家修正，因此在行业内广泛应用。Kry及其合作者 [^2002] 进一步提出用主成分分析（PCA）来表示大量的姿态修正项。近期，[Romero et al. 2017] 为基于线性混合蒙皮（LBS）的手部表面模型添加了统计性的、依赖个体和姿态的参数化修正项，构建了一个名为MANO的系统 [Romero et al. 2017]。MANO已广泛应用于各类手部适配与跟踪场景，包括手部交互 [Hasson et al. 2019; Mueller et al. 2019] 以及单RGB图像手部姿态估计 [Baek et al. 2019]。这些方法完全受限于底层的MANO模型，缺乏来自手部组织的真实生物力学约束，因此可能无法还原手部几何的细微细节，如褶皱和凸起。受这些有趣研究的启发，我们构建了首个包含骨骼、肌肉和皮肤的完整参数化手部模型。NIMBLE通过融入固有的运动学结构并考虑物理上精确的约束，能够实现逼真的手部形状和外观生成，同时支持多种下游任务的可微训练。

## 3 概述

我们提出了一种用于骨骼与肌肉的非刚性手部参数化建模的新方法——NIMBLE。据我们所知，这是

---

<div style="text-align: center;">Table 1. NIMBLE vs. existing hand models.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Model</td><td style='text-align: center; word-wrap: break-word;'>Parametric Model</td><td style='text-align: center; word-wrap: break-word;'>Skin</td><td style='text-align: center; word-wrap: break-word;'>Bone</td><td style='text-align: center; word-wrap: break-word;'>Muscle</td><td style='text-align: center; word-wrap: break-word;'>Shape</td><td style='text-align: center; word-wrap: break-word;'>Pose</td><td style='text-align: center; word-wrap: break-word;'>Appearance</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[Albrecht et al. 2003]</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;'>✓</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;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[Wang et al. 2019]</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;'>✓</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;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[Wang et al. 2021]</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;'>✗</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;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MANO [Romero et al. 2017]</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;'>✗</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;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HTML [Qian et al. 2020]</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;'>✗</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;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PIANO [Li et al. 2021]</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;'>✓</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;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NIMBLE (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;'>✓</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;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr></table>

![Image](images/e00e4cb10e45e34dac97b749970dbd1cd91017af404e006d6ded91cff1080583.jpg)

![Image](images/2fb3e0175f9cd2548c80b0eb6dbb7f1ff439e8eedad4aee98b1da1f780be5128.jpg)

<div style="text-align: center;">(c) Reconstructed Mesh</div>

这是首个基于手部解剖结构的参数化算法，能够同时建模手部的内部运动结构以及具有个体高保真外观的外部形状。

NIMBLE是基于大量带有内部和外部结构特征标注的手部数据开发的。具体而言，我们采用了[Li等人，2021年]提供的MRI手部数据集，并进一步对MRI数据进行标注，从原始标注中分割出肌肉和皮肤，如图2所示。手部外观以纹理形式呈现，包括漫反射贴图、法线贴图和镜面反射贴图，这些纹理是由名为HandStage的光度外观采集系统收集得到的。随后，我们通过将手部模板与数据集中的所有内部和外部手部特征及光度外观进行配准，构建出参数化手部模型。配准完成后，我们沿用[Li等人，2021年；Romero等人，2017年]提出的一般手部建模流程，通过迭代地将手部模板拟合到多模态数据上，并从配准后的多模型特征中重新生成参数化模型，从而使NIMBLE能够学习到包含骨骼、肌肉和纹理的完整解剖学基础手部模型。我们的方法流程如图3所示。本文的其余部分安排如下：我们首先在第3.1节介绍数据采集与标注工作；接着在第4.1节阐述模型构建方式，随后在第4.2节介绍基于物理的配准过程，第4.3节则讲述形状和姿态的多阶段参数学习。获得手部模板后，我们会为其附加手部外观以实现照片级真实感渲染效果，相关内容在第5节讨论。第6节中，我们通过大量不同姿态、形状、外观及照片级真实感渲染条件下的3D手部模型来评估NIMBLE的有效性。我们还证明了该方法能够轻松集成到各种输入对应的手部推理流程中。

<div style="text-align: center;">Fig. 2. (a) MRI annotation of bone and muscle mask. (b) Original slices. (c) Reconstructed bone, muscle and skin mesh, joints are visualized in red.</div>

<div style="text-align: center;">Table 2. NIMBLE template mesh details. Number of semantic parts, vertices, mesh faces and tetrahedrons.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Tissue</td><td style='text-align: center; word-wrap: break-word;'># parts</td><td style='text-align: center; word-wrap: break-word;'># vertices</td><td style='text-align: center; word-wrap: break-word;'># faces</td><td style='text-align: center; word-wrap: break-word;'># tetrahedron</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Bone</td><td style='text-align: center; word-wrap: break-word;'>20</td><td style='text-align: center; word-wrap: break-word;'>3345</td><td style='text-align: center; word-wrap: break-word;'>6610</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Muscle</td><td style='text-align: center; word-wrap: break-word;'>7</td><td style='text-align: center; word-wrap: break-word;'>5635</td><td style='text-align: center; word-wrap: break-word;'>10512</td><td style='text-align: center; word-wrap: break-word;'>15986</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Skin</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>5990</td><td style='text-align: center; word-wrap: break-word;'>9984</td><td style='text-align: center; word-wrap: break-word;'>19562</td></tr></table>

### 3.1 MRI数据采集与准备

[Li等人，2021年]提供的数据集包含200个手部MRI影像，涵盖了35名受试者的50种不同手部姿势。不过，该数据集仅提供了每只手的骨骼掩码和25个关节位置的标注。在本文中，我们利用径向基函数和关节标注，在每个MRI影像上重新生成了更精细的骨骼分割掩码。此外，我们使用Amira [Amira 2022]在每个影像切片上手工制作二值肌肉掩码。为提高效率，我们仅标注每个MRI扫描中的大型且显著的肌肉区域，而如第4.2节所述，我们的模型配准算法能够自动填补缺失部分。至于皮肤标注，我们采用自动阈值分割方法[Otsu 1979]来提取皮肤掩码。接下来，我们应用Marching Cubes算法[Lorensen和Cline 1987]提取骨骼、肌肉和皮肤的等值面，从而得到粗略的手部网格，如图2(c)所示。

## 4 NIMBLE

建模照片级真实感的手部极具挑战性，因为手部的内部结构（包括肌肉和骨骼）是未知的，而肌肉的非刚性和弹性特性以及肌肉与骨骼之间的生物医学联系，会在很大程度上决定手部的外部形状。现有的先进解决方案忽略了这种联系，因此无法捕捉到肌肉和皮肤隆起等逼真的运动效果。我们解决了这一问题：在考虑肌肉、骨骼和皮肤之间相对运动的物理约束的同时，将手部内部结构与外部外观联合建模。

### 4.1 模型构建

NIMBLE的一般构建方式定义如下：

 $$ \mathcal{N}(\theta,\beta,\alpha)=\{\mathcal{G}(\theta,\beta),\mathcal{A}(\alpha)\}, $$

其中，G表示手部几何结构，A用于建模手部外观。$\theta$、$\beta$、$\alpha$分别是用于控制手部姿态、形状和外观的参数。

---

![Image](images/29d768ade828406bc58ff4b53eae5291f8e43f6823f9a2f17a279d6dbba969ca.jpg)

<div style="text-align: center;">Fig. 3. Overview of building NIMBLE, which includes inner and outer registration and parametric model learning. As well as NIMBLE application for synthetic hand generation and photorealistic rendering. $\theta$, $\beta$, $\alpha$ are parameters that control model pose, shape and appearance.</div>

![Image](images/bbf8ce2e322d8cf0b6cc32e8fa11494f35bcb32fb2741e1c862d27403f2256fd.jpg)

<div style="text-align: center;">Fig. 4. Three cutaway views of the tetrahedral mesh of our template hand.</div>

在本节中，我们将重点介绍手部几何结构的模型。

为了生成精确的手部模板，我们扩展了仅考虑骨骼结构、形状和关节的PIANO [Li et al. 2021]流程，并在模板公式G中加入了肌肉和皮肤特征：

 $$ \mathcal{G}(\theta,\beta)=L B S(\mathcal{W},J_{p}(\beta),\theta,\mathbf{T}_{p}(\theta,\beta)). $$

其中，$LBS(\cdot)$表示线性混合蒙皮（LBS）函数；$\mathcal{W}$是$LBS(\cdot)$的学习到的蒙皮权重；$J_p$代表关节位置；$\theta$是关节旋转轴和角度的数组；$\beta$是形状空间的PCA系数向量；$T_p$是针对特定个体的手部模板网格。换句话说，只要我们知道$\mathcal{G}$，就可以根据公式2来构建任意个体的$(\mathcal{W}, J_p, \beta, \theta, T_p)$。具体而言，$J_p$由关节回归器$\mathcal{T}$定义，该回归器会结合形状参数$\overline{T}_b$将骨骼网格顶点$\beta$映射到关节位置，相关细节可参考[Li et al. 2021; Loper et al. 2015]。需要注意的是，我们采用骨骼网格是因为关节是骨骼段的关键旋转中心，其不受皮肤和肌肉形状的影响。

个性化模板$\mathbf{T}_p$是通用手部模板$\overline{\mathbf{T}}$、姿态混合形状$B_P$和形状混合形状$B_S$的线性组合（参见[Romero et al. 2017]中的公式2、3、4），其中$B_P$是姿态混合形状$\mathcal{P}$与姿态旋转矩阵的乘积，$B_S$是正交PCA形状混合形状$\mathcal{S}$与$\beta$的乘积。$B_P$和$B_S$可以通过向通用模板$LBS(\cdot)$添加顶点偏移量，来修正$\overline{\mathbf{T}}$引入的瑕疵。我们采用的旋转关节数量$K = 19$与PIANO [Li et al. 2021]中的设置一致。在后续论文中，我们使用$\{\mathcal{W}, \mathcal{J}, \beta, \theta, \overline{\mathbf{T}}, \mathcal{P}, \mathcal{S}\}$来对$\mathcal{G}$进行参数化。

与SMPL [Loper et al. 2015]和MANO [Romero et al. 2017]等主流的曲面建模方法不同，我们将骨骼、肌肉和皮肤网格作为一个整体来定义通用手部模板$\overline{T}$，即$\overline{\mathbf{T}} = \{\overline{\mathbf{T}}_{b}, \overline{\mathbf{T}}_{m}, \overline{\mathbf{T}}_{s}\}$。对于骨骼部分，由于骨骼具有刚性变形特性，我们采用了PIANO [Li et al. 2021]中的三角网格设置。我们使用四面体网格来建模肌肉和皮肤，以便NIMBLE能够捕捉到肌肉隆起和皮肤褶皱等非刚性运动效应。考虑到每只手约有24块主要肌肉，如果NIMBLE对所有肌肉进行建模，会大幅增加计算和渲染成本，因此我们遵循[Erolin et al. 2016; Schwarz and Taylor 1955]的方法，根据功能特性和物理属性将肌肉群整合为7组。至于皮肤模板$\overline{T}_{s}$，我们以MANO拓扑作为初始化基础。我们使用[R3DS 2022]工具手动将骨骼、肌肉和皮肤网格在MRI数据集中注册到同一静止姿态下，从而使这三个组件处于同一物理空间。这一过程耗时不到10分钟，且只需执行一次。随后，我们使用各向同性显式重新网格化算法[Alliez et al. 2003]，以3毫米为目标边长，对注册后的七块肌肉和皮肤的三角网格进行重新网格化，进而创建

---

我们使用Tetgen [Si 2015]生成四面体网格。模型详情列于表2中，图4展示了我们模板网格中带有四面体的三个剖视图。完整的手部模板网格由$\overline{T}$构成，包含14970个顶点和27106个面。

### 4.2 肌肉配准

在训练参数化手部模型之前，我们需要先将通用模板网格$\overline{T}$进行配准，以便在同一拓扑结构下对数据集进行缩放。然而，网格配准长期以来一直是个未解决的问题，更何况我们的目标是配准来自大型MRI数据集的低分辨率网格。在本文中，我们摒弃了手动标注标志点的方法[Wang et al. 2021]，提出了一种基于物理的多阶段配准算法，该算法能够模拟出具有高质量弹性非刚性变形的精确姿态。我们对肌肉、骨骼和皮肤采用了类似的配准流程。此处我们将详细介绍肌肉配准过程，并简要说明其与骨骼和皮肤配准的差异。

总体而言，我们的配准流程分为两步：姿态初始化和迭代优化。姿态初始化的目的是为肌肉的强非线性变形提供一个良好的初始对齐。初始化完成后，我们会迭代更新网格顶点的偏移量，从而使变形后的模板$\hat{T}$与MRI扫描得到的目标网格最佳匹配。

姿态初始化。我们使用简化的参数化模型来初始化姿态参数$\tilde{\theta}$：

 $$ \begin{array}{r}{\mathcal{G}(\tilde{\boldsymbol{\theta}})=L B S(\mathcal{W},\tilde{\boldsymbol{J}},\tilde{\boldsymbol{\theta}},\tilde{\mathbf{T}}).}\end{array} $$

其中我们去掉了方程(2)中所有与形状相关的参数，包括形状参数$\beta$、形状混合形状S以及姿态混合形状$\mathcal{P}$。我们用$\{\tilde{f}, \tilde{T}\}$来表示经过裁剪的$\{J_p, T_p\}$。$\tilde{W}$是该LBS函数的蒙皮权重，它已根据模板关节位置通过径向基函数(RBF)完成初始化[Rhee et al. 2007]。我们通过最小化带姿态的模板与目标关节标注之间的L2关节误差，求解逆运动学来得到初始姿态$\tilde{\theta}$。

迭代优化。接着，我们进行非刚性配准，以更精细的尺度对齐手部模型。我们将此问题表述为一个能量最小化问题，旨在使变形后的模板肌肉网格$\hat{T}$与目标肌肉网格M相匹配。非刚性配准的目标函数定义为：

 $$ E(\hat{\mathbf{T}};M)=E_{{g e o}}+E_{{r e g}}+E_{{n e}}+E_{{a t t}}+E_{{i c o l}}+E_{{e c o l}}. $$

其中$E_{geo}$是几何项，$E_{reg}$是正则化项，$E_{ne}$是非刚性弹性项，$E_{att}$是附着约束，而$E_{icol}$、$E_{ecol}$分别是内部/外部碰撞惩罚项。我们将详细讨论各项及其作用。

几何项$E_{geo}$。受表面跟踪算法的启发[Newcombe et al. 2015; Smith et al. 2020; Xu et al. 2019]，我们使用顶点距离和法线角度误差来衡量模板网格$\hat{T}$与目标网格M之间的距离：

 $$ \begin{array}{r}{E_{g e o}=\lambda_{d}\delta_{d}(\hat{\mathbf{T}},M)+\lambda_{d n}\delta_{d n}(\hat{\mathbf{T}},M),}\end{array} $$

其中$\delta_{d}(\cdot)$用于计算两个网格之间的倒角距离[Borgefors 1983]，$\delta_{dn}(\cdot)$用于计算对应顶点法线之间的夹角。第一项会将模板顶点拉向最近的目标顶点，第二项则添加法线惩罚项，防止模板拟合到相反的法线方向。

正则化项 $E_{reg}$ 正则化项由三个部分组成，即刚性正则化器 $E_{rig}$、面法线一致性正则化器 $E_{fn}$ 以及边长正则化器 $E_{edge}$：

 $$ E_{r e g}=\lambda_{a}E_{r i g}+\lambda_{f n}E_{f n}+\lambda_{e}E_{e d g e}. $$

$E_{rig}$ 通过比较相邻顶点的变形程度来约束 $\hat{T}$ 中顶点的变形，从而避免在未观测区域出现不合理的形状。我们并非直接调节网格节点的旋转，而是对顶点施加约束：

 $$ E_{r i g}=\sum_{v_{i}\in\hat{\mathrm{T}}}\sum_{v_{j}\in\hat{\mathrm{T}}}w_{i j}(\mathbf{D}_{i}v_{j}-\mathbf{D}_{j}v_{j}), $$

其中 $D_i$ 表示顶点 $v_i$ 的变形量，$w_{ij}$ 是顶点 $v_i$ 与 $v_j$ 之间的权重：$w_{ij} = e^{-\|v_i - v_j\|_2^2/2\sigma^2}$。$w_{ij}$ 的值越大，说明两者距离越近，产生的影响也越大。

为了约束顶点的移动方向，我们采用了 Wang 等人于 2018 年提出的面法线一致性项 $E_{fn}$ 和边长项 $E_{edge}$，以进一步确保网格表面的平滑性并避免顶点“飞出”网格。具体而言，$E_{fn}$ 通过计算每对相邻面的法线夹角，来保证 $\hat{T}$ 具有一致的面法线和平滑表面；$E_{edge}$ 则通过最小化平均边长来惩罚那些导致长边的“飞出”顶点。

非刚性弹性项 $E_{ne}$ 为了捕捉手部的非刚性变形，我们使用 Neo-Hookean 弹性函数定义 $E_{ne}$，该函数在 Smith 等人于 2018 年和 2020 年的研究中已被证明在肌肉和软组织模拟中效果显著：

 $$ E_{ne}=\lambda_{ne}\sum_{i}V_{i}\psi(F) $$

其中 $V_i$ 表示 $i^{th}$ 四面体的体积，$\psi(F)$ 可视为能量密度。$\psi(\cdot)$ 能确保变形梯度 F 保持一致，从而有效防止肌肉的剧烈变形和严重自碰撞。关于 $\psi(F)$ 的完整公式，请参阅 Smith 等人于 2020 年发表的相关文献。

附着约束 $E_{att}$ 为了确保肌肉能够正确地附着在对应的骨骼上，我们使用 $E_{att}$ 来保证网格表面上存在相应的附着点：

 $$ E_{a t t}=\lambda_{a t t}||\mathbf{A}_{m}-\mathbf{A}_{b}||_{2}^{2}, $$

其中 $A_{m}$ 和 $A_{b}$ 是在肌肉网格和骨骼网格上手工设定的匹配附着点。

内部碰撞 $E_{icol}$ 为了避免手部网格的自穿透现象，我们借鉴 Hirota 等人于 2001 年提出的方法，通过以下方式对内部碰撞进行惩罚：

 $$ E_{i c o l}=\lambda_{c o l}\sum_{v_{i n}}||n_{t a r}^{T}\cdot(v_{i n}-v_{t a r})||_{2}^{2}. $$

其中 $v_{in}$ 指的是发生内部穿透的顶点，$v_{tar}$ 是目标表面位置，$n_{tar}$ 是对应的表面法线 $n_{tar}$。由于 $v_{in}$ 和 $v_{tar}$ 的搜索空间较大，$E_{icol}$ 只能处理较小的碰撞情况。

---

![Image](images/a4d9bbebb1ff79ed9fd22caa436586d24a735b4d35ebdae00bca9b52844d06f4.jpg)

<div style="text-align: center;">Fig. 5. Registered hand muscles from MRI segmentation. Observe that the muscle around the arrows become thicker and tighter after registration.</div>

因此，我们添加了额外的法线和距离过滤器来缩小搜索范围。具体来说，我们在 $90^{\circ}$ 中会排除法线夹角大于 $E_{icol}$ 的碰撞情况，从而消除 $\hat{T}$ 中的大型自碰撞以及手指穿透手掌的现象。

外部碰撞 $E_{ecol}$ 外部碰撞发生在肌肉与肌肉之间以及肌肉与骨骼之间。为了消除这种碰撞，我们采用了 Hasson 等人于 2019 年提出的接触损失机制：

 $$ E_{{e c o l}}=\lambda_{{r e p}}E_{{r e p}}+(1-\lambda_{{r e p}})E_{{a t t r}}, $$

其中，$E_{rep}$ 是一个排斥项，用于衡量点到平面的距离；$E_{attr}$ 则是吸引项，用于计算对应顶点之间的点对点距离。$E_{rep}$ 能够检测出相互穿透的点，并将它们推向目标网格表面，而吸引项则会找到靠近的顶点并迫使它们接触。通过这种方式，$E_{ecol}$ 就能使肌肉群和骨骼相邻排列且互不碰撞。

骨骼与皮肤配准。骨骼与皮肤的配准流程与肌肉配准类似，只是我们采用了不同的术语组合和权重平衡方式。对于骨骼配准，考虑到骨骼的刚性变形特性，我们在公式（4）中省略了非刚性弹性项 $E_{ne}$。而皮肤配准同样需要非刚性变形约束，因此我们使用公式（4）中的所有项。核心区别在于，我们使用更大的权重作用于几何项 $E_{geo}$ 以实现皮肤对齐，因为MRI数据集中皮肤标注的可靠性要高于肌肉标注。

### 4.3 参数学习

配准后，我们得到一个初始化模型 \{\widetilde{W}, \widetilde{J}, \widetilde{\theta}, \widetilde{T}\}。通用模板网格 $\overline{T}$ 和 MRI 数据集中的手部扫描已对齐到相同的拓扑结构。因此，对于每个受试者 $S_i$（其手部姿态为 $P_j$），我们可以生成一个对齐的网格 $g_{ij}$。随后我们开始着手训练 $\mathcal{G} = \{\mathcal{W}, \mathcal{J}, \beta, \theta, \overline{\mathbf{T}}, \mathcal{P}, \mathcal{S}\}$。请注意，在形状和姿态变化过程中，骨骼、肌肉和皮肤遵循不同的解剖学和物理特性。因此，给定 MRI 扫描，我们通过多阶段策略训练 $\mathcal{G}$，以将形变按姿态和形状进行解耦。然而，由于 MRI 数据采集成本高且耗时长，公开的 MRI 数据集仅包含有限数量的手部姿态。因此，我们进一步利用来自大规模基于图像的数据集的额外手部扫描来优化 $\mathcal{G}$，以扩展我们的姿态变化范围。

基于MRI数据集的学习。给定MRI扫描数据，我们通过三个阶段来训练 $\mathcal{G}$，即姿态阶段、形状阶段和参数阶段。在每个阶段中，我们只更新特定参数，而保持其余参数不变。目标函数定义如下：

 $$ E_{1}=E_{{p o}}(\theta|\mathcal{G})+E_{{s h}}(\mathcal{T},\beta,\overline{{\mathbf{T}}},\mathcal{S}|\mathcal{G})+E_{{p a}}(\mathcal{W},\mathcal{P}|\mathcal{G}), $$

其中，$E_{po}$ 是用于姿态阶段更新姿态参数 $\theta$ 的能量项；$E_{sh}$ 用于约束与形状相关的参数 $\{\beta, \overline{\tau}, S\}$，而 $E_{pa}$ 则用于参数阶段，用以更新 $\mathcal{W}$ 和 $\mathcal{P}$。为避免肌肉、骨骼和皮肤之间发生碰撞，我们在整个训练过程中将耦合惩罚项 $E_{cp}$（公式（11）中的 $\lambda_{rep} = 1$）引入到 $E_{po}$、$E_{sh}$ 和 $E_{pa}$ 中，同时赋予不同权重以平衡其对不同阶段的影响。我们通过交互式地依次执行这三个阶段直至收敛，来最小化 $E_1$。

姿态阶段。给定每个 $g_{ij}$、$\tilde{\mathbf{T}}$、$\tilde{\mathcal{T}}$ 和 $\tilde{\mathbf{W}}$，我们求解对应的特定姿态参数 $\theta_{ij}$：

 $$ E_{{p o}}(\theta|\mathcal{G})=\sum_{i\in S}\sum_{j\in P}w_{j t}E_{j t}^{i j}+E_{{e d g e}}^{i j}+E_{{p r e g}}^{i j}+w_{{c p}}E_{{c p}}^{i j}. $$

关节项$E_{jt}$通过测量姿态模板关节与目标关节标注之间的L2距离，迫使姿态模板与$g_{ij}$相匹配。$E_{edge}$用于衡量姿态模板与$g_{ij}$之间的边长差异。即便在不知道受试者具体形状的情况下，该项也能提供良好的姿态估计。由于根据[Panchal-Kildare和Malone 2013；Wang等人2019]的研究结果，掌骨的活动范围有限，因此我们添加了正则化项，以防止掌骨关节出现不切实际的旋转：

 $$ E_{p r e g}^{i j}=\sum_{i j}||\mathcal{B}(\theta_{i j})||_{2}, $$

其中$\mathcal{B}(\cdot)$是一个二进制掩码，仅用于选取掌骨关节。

形状阶段。在此阶段，我们更新与形状相关的参数（$\beta$、$\mathcal{S}$）、关节回归器$\mathcal{T}$以及通用模板$\overline{\mathbf{T}}$。首先，我们对与$T_p$和$J_p$直接相关的受试者专属模板$\overline{\mathbf{T}}$和$\mathcal{T}$进行优化：

 $$ E_{{s h}}(\mathbf{T}_{p},J_{p}|\mathcal{G})=\sum_{i\in S}\sum_{j\in P}E_{{g e o}}^{i j}+E_{{r e g}}^{i j}+w_{j t}E_{j t}^{i j}+w_{j{r e g}}E_{j{r e g}}^{i}+w_{c p}E_{c p}^{i j}, $$

其中$E_{geo}$是几何项（公式(5)）；$E_{reg}$是正则化项（公式(6)）；$E_{jt}$是关节项；$E_{jreg}$是关节正则化项。对于几何项而言，我们在肌肉群的内部边界——即相互接触的顶点处——赋予较低的权重，

---

以确保肌肉边界的一致性。此外，我们对肌肉顶点应用$E_{reg}$以保证平滑性。$E_{jreg}$是一种关节正则化项，用于约束受试者i的关节位置，使其与初始关节回归器预测的关节位置保持一致：

 $$ E_{j r e g}^{i}=||\mathcal{\tilde{T}}\mathbf{T}_{p}^{i}-J_{p}^{i}||_{2}^{2}. $$

通过优化$\mathbf{T}_p$得到$J_p$和$E_{sh}(\mathbf{T}_p, J_p|\mathcal{G})$后，我们可通过令$\mathcal{J}$与$J_p$相等来获得$\mathcal{J}\mathbf{T}_p$。随后我们对$\mathbf{T}_p$执行主成分分析（PCA），从而得到形状空间参数$\{\overline{\mathbf{T}}, S, \beta\}$，其中$\overline{\mathbf{T}}$是MRI数据集$\mathbf{T}_p$的平均形状。S为主成分矩阵，$\beta$为形状空间的PCA系数向量。

参数阶段。我们通过以下方式优化蒙皮权重$\mathcal{W}$和姿态混合形状$\mathcal{P}$：

 $$E_{p a}(\mathcal{W},\mathcal{P}|\mathcal{G})=E_{g e o}+E_{r e g}+w_{j r e g}E_{j r e g}+w_{c p}E_{c p}+E_{w r e g}+E_{p b r e g_{(17)}}$$

与[Loper等人2015]的方法类似，$E_{pbreg}$会将$\mathcal{P}$的弗罗贝尼乌斯范数正则化为零，从而防止姿态依赖的混合形状出现过拟合现象。$E_{wreg}$则通过最小化$\mathcal{W}$与$\tilde{\mathcal{W}}$之间的距离来调节蒙皮权重。

姿态增强。经过$E_{1}$优化后，NIMBLE有望直接用于更精确地估计手部姿态，因为其骨骼和肌肉建模更为可靠。如图15所示，与现有最先进方法相比，我们能够生成解剖结构正确且物理上合理的变形效果。然而，由于MRI数据集[Li et al. 2021; Wang et al. 2019]提供的手部姿态有限，NIMBLE在需要较大姿态变化的应用中性能可能会有所下降。为解决这一问题，我们进一步利用MANO数据集[Romero et al. 2017]中的手部扫描数据对NIMBLE进行优化。MANO数据集包含1554个原始扫描样本，其手部配准结果与MANO手模型的拓扑结构相匹配。我们通过简化的基于物理的非刚性配准技术（第4.2节）将我们的模型与MANO数据集对齐。为此，我们使用Wrap3D [R3DS 2022]手动将MANO模型拟合到我们的模板上，从而计算出从MANO拓扑结构到我们模型之间的密集对应关系。随后，我们运行包含几何项、非刚性弹性项和密集对应关系的非刚性优化过程，以匹配原始扫描数据。通过这种方法，我们又获得了1554个具有较大姿态变化的手部配准结果。

我们采用与MRI数据集相同的参数学习策略，进一步对从MRI扫描数据中得到的G进行优化。需要注意的是，标准化后的MANO数据仅包含皮肤几何信息，因此对骨骼和肌肉的约束较弱。为防止出现意外变形，我们引入了额外的形状正则化项来约束内部几何结构的变形。本质上，我们希望利用皮肤来引导骨骼和肌肉的变形，从而使内部和外部网格不会退化为我们之前在MRI形状空间中注册的平均模板。我们定义的形状正则化项如下：

 $$ E_{s r e g}=\sum_{i}||\mathbf{T}_{p}^{i}\mathbf{S}^{T}||^{2}, $$

其中$\mathbf{T}_{p}^{i}\mathbf{S}^{T}$表示投影到MRI形状空间上的形状系数$\beta_{i}$，它对应于$\beta_{i}=0$。

更多参数设置、配准和学习细节可参见第6.1节。

## 5 照片级真实感渲染

对于逼真的渲染流程而言，建模高质量且真实的外观至关重要。基于物理的纹理，包括漫反射反照率、法线贴图和高光贴图，在渲染照片级真实的手部外观时发挥着重要作用。在此，我们介绍如何为NIMBLE建模外观，即$\mathcal{A}(\alpha)$。

外观捕捉。我们利用一种名为HandStage的光度外观捕捉系统来采集详细的基于物理的纹理，该系统类似于USC LightStage [Debevec et al. 2000]。通过在手部表面施加多种偏振梯度照明模式，我们能够获取手部的漫反射反照率、法线贴图和高光贴图。我们利用HandStage捕捉系统采集了20名不同个体的手部数据，以此重建出$8192 \times 8192$级别的、具有毛孔细节的基于物理的手部纹理。为了增加多样性，我们还纳入了来自[3DSCANSTORE 2022]的18种在线手部纹理资源。最终的外观数据集包含了38种来自不同年龄、性别和种族的照片级真实手部纹理资源。

为了生成丰富且逼真的手部外观，我们基于外观数据集创建了一个参数化外观模型。数据集中的每件资产都具备基于物理的纹理以及统一的纹理UV映射，这使我们能够对现有纹理进行线性插值。对于数据集中的每种外观$\mathbf{A}_i$，我们都会计算出其平均外观$\tilde{\mathbf{A}} = \frac{1}{n} \sum_{i=1}^n \mathbf{A}_i, n = 38$，包括平均漫反射反照率、法线贴图和高光贴图。接着，我们利用奇异值分解技术执行主成分分析（PCA），从而从整个外观数据集中提取出各种现有外观的主成分$\Phi$。之后，我们便得到了以外观参数向量$\alpha \in \mathbb{R}^k$表示的参数化外观模型，如下所示：

 $$ \mathcal{A}(\alpha)=\bar{\mathbf{A}}+\Phi\alpha, $$

其中k代表主成分的数量，此处我们取k = 10。借助通过PCA创建的参数化外观模型，我们还能从数据集中生成逼真的基于物理的纹理。由于这些纹理采用了与我们模板皮肤网格一致的统一纹理UV映射，因此我们可以直接将生成的基于物理的纹理应用于不同形状的物体上，进而呈现出照片级真实感的外观。

渲染流程。我们在图6中展示了我们的程序化渲染流程：首先以NIMBLE模板模型为起点，随机生成形状、姿态和外观参数。NIMBLE会接收这些参数，进而生成包含骨骼、肌肉和皮肤几何结构的逼真3D手部模型，同时还会生成带有漫反射贴图、法线贴图和高光贴图的照片级真实感外观。随后，我们使用照片级真实感光线追踪渲染器Cycles [Blender 2021]来渲染该3D手部模型。如图6所示，我们采用基于图像的照明方式，利用高动态范围图像（HDRI）作为背景纹理来照亮手部。图中还展示了在均匀光照条件下各种不同姿态、形状和外观的手部效果。

---

![Image](images/33b68636d863255343a2c8e2fe464cbaf71bfe228a338291193882604936432d.jpg)

<div style="text-align: center;">Fig. 6. Our rendering pipeline for creating photorealistic hand. Starting with our full template, we randomly generate shape, pose and appearance and render the 3D hand with environment maps. We also show difference rendering effects with only diffuse map and with normal map.</div>

![Image](images/91428492ba30f699ad5b83b25cd4cd64f7d0c88a3ca753a8f7f535b82a6b57e2.jpg)

<div style="text-align: center;">Fig. 7. Simulation of skin wrinkle due to thumb adduction. Note the wrinkle gradually appear and skin bulges as the fingers become closer.</div>

8. 为了生成动态运动序列，我们将姿态参数映射为完整的姿态四元数表示，并在不同姿态之间进行线性插值，以保证姿态过渡平滑。相关示例可参见补充视频。为了进一步提升渲染质量，我们在渲染引擎中通过布料模拟来生成皮肤皱纹。此处我们仅使用体素网格的表面三角形，以便应用布料模拟算法。图7给出了一个示例：当拇指向食指内收时，拇指与食指之间的第一骨间背侧肌会收缩并拉近两块骨头，收缩的肌肉会使皮肤隆起，而指缝处的皮肤则会被挤压形成褶皱。从图7的特写中可以看出，随着手指靠得更近，指缝附近的皱纹会逐渐显现。NIMBLE能够还原此种姿态下的肌肉与皮肤隆起现象，而布料模拟则会生成由拇指与食指几何结构挤压而产生的皱纹。

## 6 实验结果

我们首先介绍实现细节，随后评估注册过程的性能以及从这些注册过程中学习到的NIMBLE模型的表现。我们在公开的手部数据集上对NIMBLE进行测试，并与最先进的方法（如MANO [Romero et al. 2017]和HTML [Qian et al. 2020]）进行比较。大量实验表明，NIMBLE在各类数据集上的表现均优于其他方法，且具备照片级真实感渲染能力。此外，我们还证明NIMBLE能够轻松集成到基于各种输入的手部推断流程中。

### 6.1 实现细节

在我们的实验中，注册过程中我们根据模板类型来设定公式(4)中的各项权重。对于肌肉而言，由于目标区域并未分离，我们采用了较大的正则化项权重来引导注册过程。我们设定了$\lambda_d = 1$、$\lambda_{dn} = 1$、$\lambda_a = 0.1$、$\lambda_e = 0.5$、$\lambda_{fn} = 0.01$、$\lambda_{ne} = 0.02$、$\lambda_{rep} = 0.5$、$\lambda_{col} = 0.1$以及$\lambda_{att} = 10$。对于皮肤，我们设定了较大的几何项权重和非刚性弹性项权重：$\lambda_d = 2$、$\lambda_{dn} = 2$、$\lambda_{ne} = 1$、$\lambda_{col} = 1$、$\lambda_a = 0.01$。具体而言，对于骨骼，我们省略了非刚性弹性项，即使用$\lambda_ne = 0$。整个注册过程对于肌肉组大约需要20分钟，对于皮肤需要8分钟，而对于骨骼仅需2分钟。在参数学习阶段，我们也利用权重来平衡各项。在第一次迭代中，我们将公式(12)中的权重$w_{jt}$和$w_{jreg}$设为100，以强制施加较强的姿态约束；第一阶段结束后，再将它们分别降至0.01和10。我们设定耦合惩罚项的权重$w_{cp}$，使其从0.1逐渐增至1，以确保最终模型不会发生碰撞。此外，我们还采用基于公式(10)和(11)的额外优化流程，来处理模型使用时皮肤与骨骼及肌肉之间的碰撞问题。我们多次迭代注册和参数学习过程，以获得稳定的结果。所有实验均使用PyTorch自动微分功能，在NVIDIA GeForce RTX 3090上完成。

### 6.2 注册效果评估

定量结果。在图9中，我们绘制了从注册结果到MRI网格以及MANO扫描网格的逐顶点距离中位数的直方图。该距离是针对所有已注册的MRI数据和MANO扫描结果测量的。需注意，本次评估中我们排除了内部顶点。结果显示，我们的方法生成的注册结果通常与目标网格的距离误差在2毫米以内。对于骨骼注册，几乎全部顶点的距离误差都低于1.4毫米，其中87%的顶点的中位距离小于1毫米。对于肌肉注册，65%的顶点的中位距离小于1毫米，仅有9%的顶点距离超过5毫米。这主要是由于附着部位的数据缺失所致——正如第4节所述，该处肌肉较薄且与骨骼相连。因此，我们采用了较高的正则化权重和附着项来提高这些区域的鲁棒性。对于MRI数据集中的皮肤注册，70%的顶点的中位距离小于1.5毫米，最大距离误差为3.69毫米。而对于MANO扫描皮肤数据集，借助我们的拓扑传递方法，我们实现了1.09毫米的平均误差；其中误差超过3毫米的顶点占比为4%。这主要是因数据集中扫描不完整所致，尤其是物体遮挡情况，如图10最后两行所示。同时，我们报告了MANO皮肤从扫描到注册的平均平方距离为1.76毫米。

---

![Image](images/a00095abfc0a68c9c86cf311bedcc724e99f59f027f06d7b264b2c98c0650f2c.jpg)

<div style="text-align: center;">Fig. 8. Gallery of generated 3D Hand. Our model is able to synthesize realistic digital hand with large variance on pose, shape and appearance.</div>

![Image](images/4fe95b284ba9302e8bb17699a90168dda4a74ab29a5d7b0261fe3f2ba5ca9ee3.jpg)

![Image](images/db6c24bea9dd2d455c69c0926f7d356f143f1d2923bd0ad5cf913be5092ec20c.jpg)

![Image](images/30fd460086a60eef6a2509493f647e0dde823bfff435e135f7226151e38e2a19.jpg)

![Image](images/afcfe449dc8c5983bbbc595b3bcc34f2f7c1c33543759d04a2f48e9c8cef4b50.jpg)

<div style="text-align: center;">Fig. 9. The histogram of median per-vertex distance between registration and the target surface.</div>

定性结果。图10展示了MRI数据集和MANO扫描数据集的典型注册样本。对于所有内部和外部数据，我们的方法都能提供精确且平滑的注册结果。我们能够捕捉到肌肉的拉伸和隆起效应。值得注意的是，我们的注册方法在面对噪声较多的MRI目标时仍能保持稳健的性能，同时还能还原MANO扫描中精细的皮肤皱纹细节 [Romero et al. 2017]。

定性结果。图10展示了MRI数据集与MANO扫描数据集的典型配准样本。对于所有内部和外部数据，我们的方法均能实现精确且平滑的配准。我们能够捕捉到肌肉的拉伸与隆起效应。值得注意的是，我们的配准算法在面对噪声较多的MRI目标数据时仍能保持稳健的性能，同时还能还原出MANO扫描数据中精细的皮肤皱纹细节 [Romero et al. 2017]。

消融实验。我们的配准过程包含两步：LBS姿态初始化和迭代非刚性优化。图11展示了每个优化步骤的配准结果。LBS步骤仅用于姿态初始化，无法捕捉肌肉和皮肤隆起细节，尤其是拇指肌肉和手掌周围。经过迭代非刚性优化后，配准结果能紧密贴合MRI网格的表面。注意图11右上角，MRI肌肉网格中部的几何误差仍然较大。这是由于分割错误导致的——某些肌腱被误标为肌肉，因为在MRI切片上很难区分它们。通过在第4.2节中使用强正则化项，我们成功地将模板与目标匹配，而不会使其贴合这些被误标的肌腱。

为了评估各项能量项对迭代优化的影响，我们使用多种能量项变体对MRI手部网格进行配准。如图12所示，我们先使用几何项，随后分别加入正则化项、非刚性弹性项和碰撞项，从而得到第4.2节中定义的总能量。几何项虽然能迫使顶点与目标对齐，但会导致手指相互碰撞，产生严重伪影。加入正则化项后，部分伪影得以消除，但手指碰撞和不自然的指关节变形问题依然存在。加入非刚性弹性项后，各手指的变形更加逼真，但拇指和中指仍会相互穿透。引入碰撞项后，这种自我穿透问题得到解决，最终获得无碰撞的配准结果。

### 6.3 模型评估

评估统计模型的一般方法是测量其紧凑性和泛化能力[Loper et al. 2015; Romero et al. 2017]。紧凑性衡量模型所捕获的训练数据中的变异程度，而泛化能力则衡量模型表示未见过的形状、姿态和外观的能力。

紧凑性。图13(a)、(b)（红色曲线）分别绘制了NIMBLE形状和姿态空间的紧凑性曲线。这些曲线反映了不同数量的主成分所捕获的训练数据中的方差。姿态空间曲线显示，15、25、30个主成分分别能表达完整空间的83%、92%和95%。这一结果与人类手部解剖结构一致，通常认为手部有27个自由度[Panchal-Kildare and Malone 2013]。至于形状空间，如图13(b)所示，第一个主成分就覆盖了50%的形状空间；10个和20个主成分则分别能覆盖完整形状空间的83%和93%。我们还在图14(a)中绘制了各组织的紧凑性曲线，结果表明不同组织的变异程度大致一致。

---

![Image](images/a423d0a7dd11ef22d75cf89030d8dc1602f823189d594d26b1c95c2247938490.jpg)

<div style="text-align: center;">Fig. 10. Qualitative result of MRI registration. From top to bottom: MRI muscle mesh (purple) and our registration (green), MRI bone mesh and registration, MRI skin mesh and our registration, as well as the MANO scan mesh (yellow) and our registration.</div>

---

![Image](images/7f78d5af33f99117c99237fff11330398ae46872cdf37bb258c36937e7c30425.jpg)

<div style="text-align: center;">LBS registration</div>

<div style="text-align: center;">Non-rigid registration</div>

<div style="text-align: center;">Fig. 11. Results of the LBS initialization and non-rigid refinement on MRI mesh. From left to right: target MRI mesh, LBS registration and mri registration distance, Non-rigid registration and the color-coded distance.</div>

![Image](images/047d1e58c32349f28b1a2982090882f176abf1a45abdaf79fc5eaa74927ddd92.jpg)

<div style="text-align: center;">Fig. 12. Registration results with different optimization terms. We label regions of interest with arrows. From left to right, we run registration with geometry term and then add regularization term, non-rigid elasticity term, and the collision terms to obtain the total energy.</div>

泛化能力。为了研究在形状变异有限的情况下NIMBLE形状空间的泛化能力，我们对包含62名受试者的MRI和MANO训练集进行了留一法评估。图13(b)中的蓝色曲线显示了形状空间的泛化曲线。我们报告了均方误差和标准差（单位：毫米）。随着主成分数量的增加，平均误差逐渐减小，完整空间下的最小误差达到0.6毫米。我们还在图14(b)中绘制了各组织的泛化能力曲线。值得注意的是，在所有主成分数量下，肌肉的误差都是最低的，这意味着与骨骼和皮肤相比，肌肉的形状变异相对较小。

为了评估NIMBLE中姿态空间的泛化能力，即针对已知形状参数但未见过的姿态进行泛化的能力，我们构建了一个测试集：其中包含9个处于未见姿态的已配准MRI数据，并结合了[Romero等人，2017年]的测试扫描集。该测试扫描集包含50个具有未见姿态和形状的手部表面扫描数据。所有网格均与我们定义的拓扑结构保持一致，且均未用于模型训练。我们将训练好的模型拟合到已配准的网格上，通过优化姿态参数$\tilde{\theta}$和$\tilde{\beta}$，以找到在平均平方顶点距离意义上最优的拟合结果。由于本次实验旨在评估姿态泛化能力，因此采用了完整的形状空间。图13(a)中的蓝色曲线显示了相关结果。

<div style="text-align: center;">Table 3. Comparison with MANO. We evaluate mean squared distance in millimeters on MRI test set and MANO test set respectively, and report the average error.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Model</td><td style='text-align: center; word-wrap: break-word;'>MRI test</td><td style='text-align: center; word-wrap: break-word;'>MANO test</td><td style='text-align: center; word-wrap: break-word;'>Avg.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MANO [Romero et al. 2017]</td><td style='text-align: center; word-wrap: break-word;'>3.32</td><td style='text-align: center; word-wrap: break-word;'>1.46</td><td style='text-align: center; word-wrap: break-word;'>2.39</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours - MRI</td><td style='text-align: center; word-wrap: break-word;'>2.51</td><td style='text-align: center; word-wrap: break-word;'>3.89</td><td style='text-align: center; word-wrap: break-word;'>3.20</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours - Pose Aug</td><td style='text-align: center; word-wrap: break-word;'>2.67</td><td style='text-align: center; word-wrap: break-word;'>1.62</td><td style='text-align: center; word-wrap: break-word;'>2.15</td></tr></table>

这就是泛化结果。我们报告了平均平方距离误差及其标准差。与形状空间类似，该图中姿态空间的误差随成分数量的增加而单调递减。

与MANO模型对比。为了与MANO模型[Romero等人，2017年]进行对比，参照姿态泛化实验的做法，我们分别将模型拟合到我们的MRI测试集以及他们的扫描测试集上。本实验中所有模型均采用完整的姿态空间和形状空间。表3中列出了以毫米为单位的平均平方顶点误差。可以看出，MANO模型在其测试集上表现最佳，但对MRI数据的泛化能力较差。与此同时，我们的模型也无法对MANO测试集中由MRI数据衍生的低姿态方差情况下的未见姿态和形状进行泛化。经过姿态增强后，尽管在MRI测试集上的性能略有下降，但在MANO测试集上的结果却显著提升。总体而言，我们的模型在两个测试集上均取得了令人满意的效果，且平均误差最小。图15进一步展示了与MANO模型的定性手部拟合对比。值得注意的是，MANO模型存在不切实际的内部变形问题，且缺乏皮肤细节，因为它仅基于外部表面构建。相比之下，我们的NIMBLE模型既能实现符合解剖结构的手部内部组织变形，又能保留皮肤细节。

骨骼/肌肉/皮肤相关性。关于骨骼、肌肉和皮肤之间的相关性，我们引入了生物力学约束，通过配准过程中的非刚性弹性项（第4.2节）以及参数训练中的耦合项（第4.3节），隐式地关联这三种组织。这些约束迫使皮肤变形跟随骨骼和肌肉的运动，这对于物理上正确的模拟至关重要。从视觉上看，此类变形更为细腻，如图15及配套视频所示。两者均展示了拇指触碰食指时拇指基部的隆起现象（鱼际隆起），这体现了骨骼、肌肉和皮肤之间复杂的协同作用。为了定量评估内部肌肉层的影响，我们对骨骼-皮肤模型与骨骼-肌肉-皮肤模型进行了消融研究。我们分别用基于骨骼-皮肤数据和骨骼-肌肉-皮肤数据训练的模型，在完整的姿态空间和形状空间下拟合MRI测试集和MANO测试集。评估结果见表4。可以看出，加入肌肉层后，所有指标上的误差均有所降低。与骨骼相比，皮肤误差在两个测试集上均有更显著的改善，这表明肌肉层对皮肤变形有积极影响。因此我们得出结论：建模肌肉层既有助于提升视觉真实感，也有助于改善拟合结果；通过我们的配准和参数学习流程，各组织之间的相关性已成功编码到模型中。

---

![Image](images/2268ece1552ace66ab9eb901554c3fd74acd54aabf682786cf7db0ef89b9f2e8.jpg)

![Image](images/59e9bc7ad1d2740b9c744ff919013aaec58ebdfd02507959efb9f838d89460c2.jpg)

![Image](images/7520d12a31ae57524a4122b43fa84271098050bc408f3c1c3e13598e5dc3347d.jpg)

<div style="text-align: center;">Fig. 13. Model Quality of compactness and generalization. (a) Pose space (b) Shape space (c) Appearance space.</div>

![Image](images/4b6f9bb330e6793270a45526400f4baf0d8582d22f06023f3083a4e6affe2898.jpg)

![Image](images/5b9ea91200ebaca966e317bb3f328dd3331934858417d930c465f82866e2b09d.jpg)

<div style="text-align: center;">Fig. 14. Per-tissue shape compactness and generalization.</div>

![Image](images/3c31cd980ef25ee2966f14ad69243a2f3bacdb99dd0f2643a72d360da1c2d625.jpg)

<div style="text-align: center;">Fig. 15. Deformation comparison with MANO [Romero et al. 2017]. (a) NIMBLE retains skin details during deformation, while MANO provides an overly smoothed skin. (b) (c) MANO presents implausible flexion of the inner bone and muscle, as well as an unrealistically sunken skin, whereas NIMBLE maintains anatomically correct and physically plausible deformation.</div>

<div style="text-align: center;">Table 4. Ablative comparison of bone-skin model and bone-muscle-skin model. We evaluate mean squared distance in millimeters on bone and skin mesh from MRI test set, as well as skin mesh from MANO test set.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Model</td><td style='text-align: center; word-wrap: break-word;'>MRI-bone</td><td style='text-align: center; word-wrap: break-word;'>MRI-skin</td><td style='text-align: center; word-wrap: break-word;'>MANO-skin</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Bone-Skin</td><td style='text-align: center; word-wrap: break-word;'>2.59</td><td style='text-align: center; word-wrap: break-word;'>2.61</td><td style='text-align: center; word-wrap: break-word;'>1.67</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Bone-Muscle-Skin</td><td style='text-align: center; word-wrap: break-word;'>2.58</td><td style='text-align: center; word-wrap: break-word;'>2.56</td><td style='text-align: center; word-wrap: break-word;'>1.62</td></tr></table>

![Image](images/2c190ce2a5bed8375abb48f274cee288e20048312da3b8c44f49509bc12a42ed.jpg)

<div style="text-align: center;">Fig. 16. Appearance comparison with HTML [Qian et al. 2020]. We render our model with textures from HTML and our appearance data, respectively. (a)(b) shows the back and front side of captured hand textures from each model, (c)(d) shows random sampled textures. (a)(c) are rendered with an additional lighting source to highlight the normal differences.</div>

照片级真实感外观。图13(c)展示了我们外观模型的评估结果。该图反映了随着所用主成分数量的增加，外观数据集中的变异性也随之增大。前几个主成分能够表征大量的变异信息，主要包括肤色和泛红程度，而其他成分则控制着皮肤的细节。为了评估模型的泛化能力，我们采用了类似的交叉验证方法。由于我们的外观数据集包含漫反射贴图、法线贴图和高光贴图，因此采用均方根误差（RMSE）作为重建误差的衡量指标。我们利用从其他纹理中分析得到的PCA结果来重建被排除在外的纹理，并通过向量化纹理的RMSE值来衡量重建误差。如图13(c)所示，随着主成分数量的增加，重建误差会逐渐减小。图16展示了与HTML [Qian et al. 2020]模型的外观定性对比结果。我们使用Wrap3d [R3DS 2022]将HTML模型的纹理迁移到我们的模型中，并在相同的光照条件下渲染结果。可以看出，NIMBLE的外观子模块能够覆盖多种多样的肤色类型。值得一提的是，NIMBLE中使用的法线贴图即便在不同肤色条件下，也能更清晰地呈现手背上的肌腱以及掌纹细节。

---

![Image](images/356738f1e94b249d23925616f57808b1d24b99eade2c7358f588d05065da6d6c.jpg)

![Image](images/ddd52ddecd8b01882ff3739f7813f0ffc05380389b63834c110c81fa9fd8c2c4.jpg)

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

<div style="text-align: center;">Fig. 17. Representative results of the same posed hand with different camera view, illumination and texture. (a) Inner and outer geometry of NIMBLE generated digital hand and the corresponding 3D joint annotation. (b) Photorealistic images. From left to right, the first two columns show the same texture under different illumination, while the second and third column show different textures under the same illumination.</div>

### 6.4 应用场景

数字手部合成。基于学习的方法在处理手部相关任务时依赖高质量且带有标注的手部图像数据集，但由于手部运动具有极高的自由度（DoF），获取这类带有正确标注（如3D几何结构、姿态和外观）的数据集极具挑战性。每个手指都能进行屈伸、外展和内收以及环转运动；所有手指既可以独立移动，也能协同形成特定手势。这种高自由度会导致复杂的遮挡现象，给骨骼标注带来极大困难。即便对人类而言，要高精度地手动标注复杂手势下的手部关节也十分困难，这主要是因为遮挡造成的歧义性。我们的模型非常适合解决这些问题。借助NIMBLE模型和渲染引擎，我们可以生成无限量的照片级真实感手部图像和视频序列，同时附带对应的真实内外部几何结构、姿态及纹理贴图，这些资料均可用于下游的手部相关学习任务。我们在图8中展示了照片级真实感渲染的定性结果，以及其生成完整数字手部的能力。图17展示了同一姿态下不同纹理在不同光照环境下的几组结果。我们还能提供对应的真实3D关节标注数据。

手部推理。与其他参数化手部模型 [Li et al. 2021; Romero et al. 2017] 类似，NIMBLE能轻松适配各类基于优化和回归的手部推理任务，比如手部解剖分析、姿态与形状估计，以及利用网格、点云、MRI和RGB图像等多种输入数据的手部跟踪任务。我们将NIMBLE集成为一个可微分层，它以形状 $\theta$、姿态 $\beta$ 和外观 $\alpha$ 作为输入，输出带有照片级真实感纹理和3D关节的3D手部网格。与 [Hasson et al. 2019; Li et al. 2021] 中的做法类似，NIMBLE支持多损失函数训练，比如参数损失、正则化损失、2D/3D关节损失、网格损失，以及由Qian等人提出的光度损失 [Qian et al. 2020] 和Xu等人提出的轮廓损失 [Xu et al. 2018]，这些损失函数可通过PyTorch3D [Johnson et al. 2020] 提供的可微渲染器来实现。

<div style="text-align: center;">Table 5. Quantitative results of RGB inference. We report joint error with PA MPJPE and F-scores between [Moon and Lee 2020] and our model on FreiHAND dataset.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>PA MPJPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>F@5mm $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>F@15mm $\uparrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[Moon and Lee 2020]</td><td style='text-align: center; word-wrap: break-word;'>7.4</td><td style='text-align: center; word-wrap: break-word;'>0.681</td><td style='text-align: center; word-wrap: break-word;'>0.973</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NIMBLE</td><td style='text-align: center; word-wrap: break-word;'>9.4</td><td style='text-align: center; word-wrap: break-word;'>0.547</td><td style='text-align: center; word-wrap: break-word;'>0.955</td></tr></table>

我们在图18中展示了使用NIMBLE的典型结果。我们能够估算并还原解剖结构正确的手部内外结构，并能根据各种输入生成照片级真实感的渲染图像。图18(a)展示了基于点云的手部推断示例。输入点云取自MANO测试集，我们采用基于优化的方法[Newcombe et al. 2015]来完成这一任务。我们针对目标点云优化姿态和形状参数，同时引入联合损失和网格损失。图18(b)展示了从MRI体积数据中推断手部解剖结构的过程。我们构建了一个以ResNet3D [Tran et al. 2018]编码器为基础的网络，并增设参数回归分支，以便直接从MRI体积数据中回归出NIMBLE参数。我们在自己的MRI训练集上训练该网络，并以姿态和形状参数为监督信号，这些参数标签是通过我们的配准和参数学习阶段获得的。由于点云和MRI体积数据中没有外观引导信息，因此在优化和训练过程中我们省略了外观参数$\alpha$，并在图18(a)(b)中使用平均纹理进行渲染。同样，对于图18(c)中展示的基于图像的手部推断任务，我们以I2L-MeshNet [Moon and Lee 2020]为基础，利用FreiHand [Zimmermann et al. 2019]数据集训练另一个参数回归分支，该分支采用3D联合损失和光度损失。需要注意的是，FreiHand提供了包含21个3D关键点的真实标注，而我们的模型则定义了25个解剖学关节。按照[Li et al. 2021]的方法，我们添加了一个额外的线性层，将我们的关节映射为数据集标注，以解决这种不匹配问题。此外，我们还在形状、姿态和外观参数的幅度上添加了L2正则化项。在预测外观参数时，我们假设光照条件与HTML [Qian et al. 2020]中的设定一致。定量结果如表5所示。按照[Zimmermann et al. 2019]的方法，我们报告了PA MPJPE值，即刚性对齐后预测关节与真实3D关节之间的欧几里得距离（单位：毫米），以及两个不同距离阈值下的F分数。尽管由于关节定义的根本差异，我们的模型并未超越[Moon and Lee 2020]的成果，但我们仍取得了可比的定量结果，并能够预测出具有内部结构的前所未有的照片级真实感手部图像（见图18(c)）。

## 7 结论与未来工作

为了在元宇宙中生成逼真的手部模型以提升沉浸式体验，我们提出了一种非刚性的手部模型NIMBLE，该模型包含皮肤、骨骼和肌肉，不仅解剖结构正确，还能满足手部内外运动结构的精细协调需求。尤其值得一提的是，我们所依赖的数据集是一个经过增强的MRI手部数据集，其中包含骨骼、肌肉和皮肤的完整分割标注，以及通过我们提出的带物理约束的优化方法自动生成的配准网格。在NIMBLE的参数学习方面，我们

---

![Image](images/d0b471821d1c1f3adb3ad83cd0e8320fd3eec8e465a95648be36a044d28ef82b.jpg)

<div style="text-align: center;">Fig. 18. Representative results of the usage of NIMBLE for hand pose and shape estimation from (a) point cloud, (b) MRI volume and (c) RGB image. For textureless point cloud and MRI, NIMBLE is rendered with mean texture.</div>

还引入了惩罚项以确保肌肉变形符合物理规律。通过强制内部骨骼和肌肉遵循解剖学与运动学规则，NIMBLE实现了前所未有的逼真度，能够合成解剖结构正确的数字手部模型、进行运动动画制作及照片级真实感渲染。得益于其参数化表示方式，NIMBLE也能为多种输入模态的基于学习的视觉应用提供支持。

未来研究有几种方向。我们展示了NIMBLE如何在内部和外部一致性下改变形状和姿态，但我们并未对它们之间的相互连接进行显式建模。我们打算利用隐式蒙皮技术来加入对骨骼、肌肉和皮肤交互的显式约束。此外，借助我们的四面体建模方法，我们可以扩展模型，通过专门设计的混合形状或有限元软体动力学来加入参数化的次级变形，正如[Pons-Moll等人，2015年；Tsoli等人，2014年]所做的一样。我们还希望分析肌肉的刚度与弹性等属性，从而构建更逼真的物理模型，以实现高效的肌肉与肉体建模。我们计划扩展参数化模型，加入肌腱和韧带，以改善皮肤变形效果及手部运动的整体真实感，从而为未来更灵活的手部建模以及解剖学与运动学分析创造条件。另外，我们计划采用其他方法，比如通过参数化或基于学习的方式来进行几何建模，以模拟皮肤皱纹。不过，这类方法需要采集细节更为精细的法线贴图。我们的下一步是利用HandStage采集动态序列，以便在形状和外观上建模这些细微细节。对于高度依赖手部数据集的手部追踪应用而言，现有的多视角数据集如[Moon等人，2020b；Zimmermann等人，2019年]提供的标注有限，而像[Hasson等人，2019年]这样的合成数据集则缺乏真实感，且与真实图像存在域差异。我们计划利用NIMBLE创建高质量的手部数据集，其中包含包括内部与外部几何结构、姿态和外观在内的全面真实标注，并进一步以此训练深度网络以实现手部动作捕捉。最后，双手接触与物体交互也至关重要。我们目前仅使用了右手数据，但左手模型以及手-物参数化模型对于双手动作捕捉和沉浸式虚拟现实交互将大有裨益。

## 致谢

本研究得到了国家自然科学基金项目（61976138、61977047）、国家重点研发计划（2018YFB2100500）、上海市科学技术委员会项目（2015F0203-000-06）以及上海市教育委员会项目的资助。

## 参考文献

3DSCANSTORE.2022. 3D Scan Store：面向数字艺术家的扫描资产。<https://www.3dscanstore.com/>

Rinat Abdrashitov、Seungbae Bang、David Levin、Karan Singh和Alec Jacobson。2021年。体积肌肉骨骼解剖结构的交互式建模。《ACM图形学交易》第40卷第4期，文章编号122（2021年7月），共13页。<https://doi.org/10.1145/3450626.3459769>

Irene Albrecht、Jörg Haber和Hans-Peter Seidel。2003年。基于解剖学的人手模型的构建与动画制作。收录于2003年ACM SIGGRAPH/Eurographics计算机动画研讨会论文集。Citeseer，第98–109页。

基于深度扫描的重建与参数化。《ACM图形学交易》第22卷第3期（2003年7月），第587–594页。<https://doi.org/10.1145/882262.882311>

Brett Allen、Brian Curless、Zoran Popović和Aaron Hertzmann。2006年。学习身份与姿态相关的身体形状变异相关模型以实现实时合成。收录于2006年ACM SIGGRAPH/Eurographics计算机动画研讨会论文集（奥地利维也纳）（SCA '06）。Eurographics协会，德国戈斯拉尔，第147–156页。

Pierre Alliez、Eric Colin De Verdire、Olivier Devillers和Martin Isenburg。2003年。各向同性曲面重新网格化。收录于2003年形状建模国际会议论文集。IEEE，第49–58页。

Amira。2022年。用于生物医学与生命科学研究的Amira软件。<https://www.thermofisher.com/hk/en/home/electron-microscopy/products/software-em-3d-vis/amira-software.html>

E. M. A. Anas、A. Rasoulian、A. Seitel、K. Darras、D. Wilson、P. S. John、D. Pichora、P. Mousavi、R. Rohling和P. Abolmaesumi。2016年。利用统计手腕形状与姿态模型实现CT图像中腕骨的自动分割。《IEEE医学成像杂志》第35卷第8期，第1789–1801页。<https://doi.org/10.1109/TML.2016.2529500>

Dragomir Anguelov、Praveen Srinivasan、Daphne Koller、Sebastian Thrun、Jim Rodgers和James Davis。2005年。SCAPE：人体形状的补全与动画制作。收录于《ACM SIGGRAPH 2005论文集》，第408–416页。

Seungryul Baek、Kwang In Kim和Tae-Kyun Kim。2019年。通过神经渲染技术提升基于RGB的密集3D手部姿态估计性能。收录于《IEEE/CVF计算机视觉与模式识别会议（CVPR）论文集》。

Luca Ballan、Aparna Taneja、Jürgen Gall、Luc Van Gool和Marc Pollefeys。2012年。利用判别性显著点捕捉动作中的手部运动轨迹。收录于《欧洲计算机视觉会议论文集》，Springer出版社，第640–653页。

Volker Blanz和Thomas Vetter。1999年。用于3D人脸合成的可变形模型。收录于《第26届计算机图形学与交互技术年会论文集》，第187–194页。

Blender。2021年。Cycles渲染器。

Gunilla Borgefors。1983年。倒角算法：一种在N维空间中快速获取欧几里得距离近似值的方法。收录于《第三届斯堪的纳维亚图像分析会议论文集（SCIA3）》，第250–255页。

Steve Capell、Matthew Burkhart、Brian Curless、Tom Duchamp和Zoran Popović。2005年。可变形角色的基于物理的绑定技术。收录于《2005年ACM SIGGRAPH/Eurographics计算机动画研讨会论文集》，第301–310页。

Martin de la gorce、David Fleet和Nikos Paragios。2011年。基于模型的单目视频3D手部姿态估计。《IEEE模式分析与机器智能杂志》第33卷，2011年10月，第1793–1805页。<https://doi.org/10.1109/TPAMI.2011.33>

Paul Debevec。2012年。光线舞台及其在照片级真实数字演员中的应用。《SIGGRAPH Asia》第2卷第4期，第1–6页。

Paul Debevec、Tim Hawkins、Chris Tchou、Haarm-Pieter Duiker、Westley Sarokin和Mark Sagar。2000年。获取人脸的反射场数据。收录于《第27届计算机图形学与交互技术年会论文集》，第145–156页。

Caroline Erolin、Clare Lamb、Roger Soames和Caroline Wilkinson。2016年。虚拟触觉解剖是否能改善学生的学习效果？一项多年对比研究。收录于《MMVR会议论文集》，第110–117页。

Yao Feng、Haiwen Feng、Michael J Black和Timo Bolkart。2021年。从自然场景图像中学习可动画化的精细3D人脸模型。《ACM图形学交易（TOG）》第40卷第4期，第1–13页。

---

Nils Hasler、Thorsten Thormählen、Bodo Rosenhahn和Hans-Peter Seidel。2010年。用于形状与姿态学习的骨架模型。收录于《2010年ACM SIGGRAPH交互式3D图形与游戏研讨会论文集》（华盛顿特区，I3D '10），美国纽约计算机协会，第23–30页。<https://doi.org/10.1145/1730804.1730809>

Yana Hasson、Gul Varol、Dimitrios Tzionas、Igor Kalevatykh、Michael J Black、Ivan Laptev和Cordelia Schmid。2019年。学习手部与被操纵物体的联合重建方法。收录于《IEEE计算机视觉与模式识别会议论文集》，第11807–11816页。

Gentaro Hirota、Susan Fisher、A State、Chris Lee和Henry Fuchs。2001年。接触状态下弹性固体的隐式有限元方法。收录于《2001年计算机动画会议论文集》，第十四届计算机动画会议（编号01TH8596），IEEE出版社，第136–254页。

David A Hirshberg、Matthew Loper、Eric Rachlin和Michael J Black。2012年。Coregistration：关节3D形状的同步对齐与建模。载于欧洲计算机视觉会议论文集。Springer出版社，第242–255页。

Justin Johnson、Nikhila Ravi、Jeremy Reizenstein、David Novotny、Shubham Tulsiani、Christoph Lassner和Steve Branson。2020年。利用PyTorch3D加速3D深度学习。载于SIGGRAPH Asia 2020课程（虚拟活动）（SA '20）。美国纽约计算机协会，第10篇文章，共1页。 <https://doi.org/10.1145/3415263.3419160>

Petr Kadleček、Alexandru-Eugen Ichim、Tiantian Liu、Jaroslav Krivánek和Ladislav Kavan。2016年。为基于物理的人体动画重建个性化解剖模型。《ACM图形学交易》（TOG）第35卷第6期，第1–13页。

S. Khamis、Jonathan Taylor、Jamie Shotton、Cem Keskin、Shahram Izadi和Andrew W. Fitzgibbon。2015年。从深度图像中学习高效的手部形状变化模型。载于2015年IEEE计算机视觉与模式识别会议（CVPR）（2015年），第2540–2548页。

Junggon Kim和Nancy S. Pollard。2011年。骨骼驱动的可变形人体角色的快速模拟。《ACM图形学交易》第30卷第5期，第121篇文章（2011年10月），共19页。 <https://doi.org/10.1145/2019627.2019640>

Paul G Kry、Doug L James和Dinesh K Pai。2002年。Eigenskin：硬件中实现实时大变形角色蒙皮技术。载于2002年ACM SIGGRAPH/Eurographics计算机动画研讨会论文集。第153–159页。

Seunghwan Lee、Ri Yu、Jungnam Park、Mridul Aanjaneya、Eftychios Sifakis和Jehee Lee。2018年。基于体积肌肉的灵巧操控与控制。《ACM图形学交易》（TOG）第37卷第4期，第1–13页。

J. P. Lewis、Matt Cordner和Nickson Fong。2000年。姿态空间变形：形状插值与会骨驱动变形的统一方法。载于第27届计算机图形学与交互技术年会论文集（SIGGRAPH '00）。美国ACM出版社/Addison-Wesley出版公司，第165–172页。 <https://doi.org/10.1145/344779.344862>

Duo Li、Shinjiro Sueda、Debanga R. Neog和Dinesh K. Pai。2013年。薄皮肤弹性动力学。《ACM图形学交易》第32卷第4期，第49篇文章（2013年7月），共10页。 <https://doi.org/10.1145/2461912.2462008>

Tianye Li、Timo Bolkart、Michael J. Black、Hao Li和Javier Romero。2017年。从4D扫描中学习面部形状与表情模型。《ACM图形学交易》第36卷第6期，第194篇文章（2017年11月），共17页。 <https://doi.org/10.1145/3130800.3130813>

Yuwei Li、Minye Wu、Yuyao Zhang、Lan Xu和Jingyi Yu。2021年。PIANO：基于磁共振成像的参数化手部骨骼模型。载于第三十届国际人工智能联合会议论文集，IJCAI-21。第816–822页。 <https://doi.org/10.24963/ijcai.2021/113>

Libin Liu、KangKang Yin、Bin Wang和Baining Guo。2013年。骨骼驱动的软体角色模拟与控制。《ACM图形学交易》第32卷第6期，第215篇文章（2013年11月），共8页。 <https://doi.org/10.1145/2508363.2508427>

Matthew Loper、Naureen Mahmood、Javier Romero、Gerard Pons-Moll和Michael J Black。2015年。SMPL：一种带蒙皮的多人线性模型。《ACM图形学交易》（TOG）第34卷第6期，第1–16页。

William E Lorensen和Harvey E Cline。1987年。Marching Cubes：一种高分辨率3D表面构建算法。《ACM SIGGRAPH计算机图形学》第21卷第4期，第163–169页。

N. Magnenat-Thalmann、R. Laperrière和D. Thalmann。1989年。用于手部动画与物体抓取的运动相关局部形变研究。载于《Graphics Interface '88会议录》（加拿大阿尔伯塔省埃德蒙顿）。加拿大信息处理协会，第26–33页。

Stan Melax、Leonid Keselman和Sterling Orsten。2013年。基于动力学的3D骨骼手部追踪技术。载于《ACM SIGGRAPH交互式3D图形与游戏研讨会论文集》。第184–184页。

M Mirakhorlo、N Van Beek、M Wesseling、H Maas、HEJ Veeger和I Jonkers。2018年。手部与腕部的肌肉骨骼模型：模型定义与评估。《生物力学与生物医学工程计算方法》第21卷第9期（2018年），第548–557页。

Gyeongsik Moon和Kyoung Mu Lee。2020年。I2L-MeshNet：从单张RGB图像中精确估计3D人体姿态与网格的图像到像素预测网络。载于《欧洲计算机视觉会议》。施普林格出版社，第752–768页。

Gyeongsik Moon、Takaaki Shiratori和Kyoung Mu Lee。2020a。DeepHandMesh：一种用于高精度手部网格建模的弱监督深度编解码框架

建模。第440–455页。<https://doi.org/10.1007/978-3-030-58536-5_26>

Gyeongsik Moon、Shoou-I Yu、He Wen、Takaaki Shiratori和Kyoung Mu Lee。2020b。InterHand2.6M：基于单张RGB图像的3D交互手部姿态估计数据集与基准模型。载于《欧洲计算机视觉会议（ECCV）》。

Franziska Mueller、Micah Davis、Florian Bernard、Oleksandr Sotnychenko、Mickel Verschoor、Miguel A. Otaduy、Dan Casas和Christian Theobalt。2019年。利用单台深度相机实时重建两只交互手部的姿态与形状。《ACM图形学交易（TOG）》第38卷第4期（2019年）。

Richard A Newcombe、Dieter Fox和Steven M Seitz。2015年。动态融合技术：实时重建与追踪非刚性场景。载于《IEEE计算机视觉与模式识别会议论文集》。第343–352页。

Iasonas Oikonomidis、Nikolaos Kyriazis和Antonis A. Argyros。2011年。利用Kinect实现基于模型的高效3D手部关节追踪。载于BMVC会议。

Nobuyuki Otsu。1979年。基于灰度直方图的最优阈值选择方法。《IEEE系统、人与控制论交易》第9卷（1979年），第62–66页。

Surbhi Panchal-Kildare和Kevin Malone。2013年。手部骨骼解剖结构。《手部临床杂志》第29卷第4期（2013年），第459–471页。

Gerard Pons-Moll、Javier Romero、Naureen Mahmood和Michael J Black。2015年。Dyna：动态人体形态运动模型。《ACM图形学交易（TOG）》第34卷第4期（2015年），第1–14页。

Neng Qian、Jiayi Wang、Franziska Mueller、Florian Bernard、Vladislav Golyanik和Christian Theobalt。2020年。HTML：用于3D手部重建与个性化的参数化手部纹理模型。载于《欧洲计算机视觉会议》。施普林格出版社，第54–71页。

R3DS.2022.WRAP3D.<https://www.russian3dscanner.com/>

Taehyun Rhee、John P Lewis、Ulrich Neumann和Krishna Nayak。2007年。用于体内体积动画的软组织形变技术。载于《第15届太平洋计算机图形与应用会议（PG'07）》。IEEE出版社，第435–438页。

Javier Romero、Dimitrios Tzionas和Michael J Black。2017年。Embodied Hands：手部与身体协同建模与捕捉技术。《ACM图形学交易（ToG）》第36卷第6期（2017年），第245页。

Prashant Sachdeva、Shinjiro Sueda、Susanne Bradley、Mikhail Fain和Dinesh K. Pai。2015年。手部和肌腱系统的生物力学模拟与控制。《ACM图形学汇刊》第34卷第4期，文章编号42（2015年7月），共10页。<https://doi.org/10.1145/2766987>

Tanner Schmidt、Richard A. Newcombe和Dieter Fox。2014年。DART：密集关节实时跟踪。收录于《机器人：科学与系统》会议论文集。

Robert J Schwarz和C Taylor。1955年。人手的解剖结构与力学特性。《假肢》第2卷第2期（1955年），第22–35页。

Hang Si。2015年。TetGen：基于Delaunay的高质量四面体网格生成器。《ACM数学软件汇刊》（TOMS）第41卷第2期（2015年），第1–36页。

Breannan Smith、Fernando De Goes和Theodore Kim。2018年。稳定的neo-Hookean软组织模拟。《ACM图形学汇刊》（TOG）第37卷第2期（2018年），第1–15页。

Breannan Smith、Chenglei Wu、He Wen、Patrick Peluse、Yaser Sheikh、Jessica K Hodgins和Takaaki Shiratori。2020年。利用弹性约束实现密集手部表面跟踪。《ACM图形学汇刊》（TOG）第39卷第6期（2020年），第1–14页。

Shinjiro Sueda、Andrew Kaufman和Dinesh K. Pai。2008年。用于手部动画的肌肉肌腱模拟。《ACM图形学汇刊》第27卷第3期（2008年8月），第1–8页。<https://doi.org/10.1145/1360612.1360682>

Anastasia Tkach、Mark Pauly和Andrea Tagliasacchi。2016年。用于实时手部建模与跟踪的球面网格。《ACM图形学汇刊》第35卷第6期，文章编号222（2016年11月），共11页。<https://doi.org/10.1145/2980179.2980226>

Du Tran、Heng Wang、Lorenzo Torresani、Jamie Ray、Yann LeCun和Manohar Paluri。2018年。更深入地探究用于动作识别的时空卷积。收录于IEEE计算机视觉与模式识别会议论文集，第6450–6459页。

Aggeliki Tsoli、Naureen Mahmood和Michael J Black。2014年。为形状注入生命：3D人体呼吸动作的捕捉、建模与动画制作。《ACM图形学汇刊》（TOG）第33卷第4期（2014年），第1–11页。

Dimitrios Tzionas、Luca Ballan、Abhilash Srikantha、Pablo Aponte、Marc Pollefeys和Juergen Gall。2016年。利用判别性显著点和物理模拟捕捉手部动作。《国际计算机视觉杂志》第118卷第2期（2016年），第172–193页。

Bohan Wang、George Matcuk和Jernej Barbič。2019年。利用稳定的磁共振成像技术进行手部建模与模拟。《ACM图形学汇刊》（TOG）第38卷第4期（2019年），第1–14页。

Bohan Wang、George Matcuk和Jernej Barbič。2021年。利用塑性应变建模个性化解剖结构。《ACM图形学汇刊》（TOG）第40卷第2期（2021年），第1–21页。

Nanyang Wang、Yinda Zhang、Zhuwen Li、Yanwei Fu、Wei Liu和Yu-Gang Jiang。2018年。Pixel2mesh：从单张RGB图像生成3D网格模型。收录于欧洲计算机视觉会议（ECCV）论文集，第52–67页。

Lan Xu、Wei Cheng、Kaiwen Guo、Lei Han、Yebin Liu和Lu Fang。2019年。Flyfusion：利用飞行深度相机实现实时动态场景重建。《IEEE可视化与计算机图形学汇刊》（2019年）。

Weipeng Xu、Avishek Chatterjee、Michael Zollhöfer、Helge Rhodin、Dushyant Mehta、Hans-Peter Seidel和Christian Theobalt。2018年。MonoPerfCap：从单目视频中捕捉人体动作。收录于《ACM图形学汇刊》第37卷第2期，文章编号27（2018年5月），共15页。<https://doi.org/10.1145/3181973>

---

Christian Zimmermann、Duygu Ceylan、Jimei Yang、Bryan Russell、Max Argus和Thomas Brox。2019年。Freihand：一个用于从单张RGB图像中无标记捕捉手部姿态与形状的数据集。载于IEEE国际计算机视觉会议论文集，第813–822页。

Michael Zollhöfer、Justus Thies、Pablo Garrido、Derek Bradley、Thabo Beeler、Patrick Pérez、Marc Stamminger、Matthias Nießner和Christian Theobalt。2018年。单目3D人脸重建、跟踪及其应用的研究现状。《计算机图形学论坛》第37卷（2018年）。
