
# 富有表现力的身体捕捉：从单张图像中重建3D手部、面部和身体

Georgios Pavlakos $^{*1,2}$、Vasileios Choutas $^{*1}$、Nima Ghorbani $^{1}$、Timo Bolkart $^{1}$、Ahmed A. A. Osman $^{1}$、Dimitrios Tzionas $^{1}$ 以及 Michael J. Black $^{1}$

$^{1}$马克斯·普朗克智能系统研究所，图宾根，德国；$^{2}$宾夕法尼亚大学，宾夕法尼亚州，美国

{gpavlakos, vchoutas, nghorbani, tbolkart, aosman, dtzionas, black}@tuebingen.mpg.de

## 摘要

为了辅助对人类动作、交互和情绪的分析，我们能够从单张单目图像中计算出人体姿态、手部姿态以及面部表情的3D模型。为此，我们利用数千个3D扫描数据来训练一款全新的、统一的人体3D模型——SMPL-X，该模型在SMPL的基础上增加了可完全活动的手部和富有表现力的面部。若没有配对的图像和3D真实值，直接从图像中回归出SMPL-X的参数极具挑战性。因此，我们采用了SMPLify的思路：先估计2D特征，再优化模型参数以匹配这些特征。我们在多个方面对SMPLify进行了改进：（1）我们检测出与面部、手部和脚部对应的2D特征，并将完整的SMPL-X模型拟合到这些特征上；（2）我们利用大型动作捕捉数据集训练了一款全新的神经网络姿态先验；（3）我们定义了一种既快速又精准的穿透惩罚项；（4）我们能够自动识别性别并匹配合适的身体模型（男性、女性或中性）；（5）我们的PyTorch实现相比Chumpy的速度提升了超过$8\times$。我们利用新方法SMPLify-X将SMPL-X拟合到受控图像和野外图像中。我们在一个包含100张伪真实值图像的精心整理的数据集上评估了3D精度。这是从单目RGB数据中实现自动富有表现力的人体捕捉的重要一步。相关模型、代码和数据已出于研究目的发布在<https://smpl-x.is.tue.mpg.de>上。

### 1. 引言

人类往往是图像和视频中的核心元素。理解他们的姿势、所传递的社会线索以及他们与世界的互动，对于全面的场景理解至关重要。近期的方法在估计2D下的主要关节、手部关节和面部特征方面取得了快速进展[^15] [^31] [^69]。然而，我们与世界的互动本质上是3D的，近期的研究也在3D估计方面取得了进展。

![Image](images/15fddb8269967db6b6698de61a6d83b2d487b7334e161a8e8905e31bb98a18fa.jpg)

<div style="text-align: center;">Figure 1: Communication and gesture rely on the body pose, hand pose, and facial expression, all together. The major joints of the body are not sufficient to represent this and current 3D models are not expressive enough. In contrast to prior work, our approach estimates a more detailed and expressive 3D model from a single image. From left to right: RGB image, major joints, skeleton, SMPL (female), SMPL-X (female). The hands and face in SMPL-X enable more holistic and expressive body capture.</div>

从单张图像中直接估计主要关节和粗略的3D姿态[^10] [^37] [^58] [^61]。

然而，要理解人类行为，我们需要捕捉的不仅仅是身体的主要关节——我们还需要身体、手部和面部的完整3D表面。由于缺乏合适的3D模型和丰富的3D训练数据等几大挑战，目前还没有系统能够做到这一点。图1展示了这一问题。仅依靠稀疏的2D信息或缺少手部和面部细节的3D表示，很难解读富有表现力和交流性的图像。为解决这一问题，我们需要两样东西：首先，我们需要一个能够呈现人脸、手部和身体姿态复杂性的3D模型；其次，我们需要一种从单张图像中提取该模型的方法。

神经网络以及大量人工标注图像数据集的进步，推动了二维人体“姿态”估计技术的快速发展。在相关领域中，“姿态”通常指的是人体的主要关节。

---

![Image](images/e6b9414ba92efbdf91653d69e2f4da4da570706e3af3440eb086bd2f2dcde89e.jpg)

<div style="text-align: center;">Figure 2: We learn a new 3D model of the human body called SMPL-X that jointly models the human body, face and hands. We fit the female SMPL-X model with SMPLify-X to single RGB images and show that it captures a rich variety of natural and expressive 3D human poses, gestures and facial expressions.</div>

这还不足以全面理解人类行为，如图1所示。OpenPose [^15] [^59] [^69] 将研究范围扩展到了二维手部关节和二维面部特征。虽然这样能捕捉到更多关于交流意图的信息，但它仍无法支持对表面以及人类与三维世界交互情况的推理。

三维人体模型的研究重点在于捕捉人体的整体形状和姿态，却忽略了手部和面部 [^2] [^3] [^6] [^26] [^48]。关于手部建模 [^39] [^52] [^56] [^57] [^67] [^68] [^70] [^73] [^74] 以及面部建模 [^4] [^9] [^11] [^13] [^14] [^43] [^62] [^75] [^78] 的三维研究也已有大量成果，但这些研究都是将手部和面部独立于身体其他部分来进行的。直到最近，该领域才开始将身体与手部 [^67]，或者与手部和面部 [^36] 一同建模。例如，Frank模型 [^36] 就是将简化版的SMPL人体模型 [^48]、艺术家设计的手部骨骼模型以及FaceWarehouse [^14] 面部模型结合起来。这些互不关联的模型被拼接在一起后，得到的模型并不具备完全的真实性。

在此，我们基于大量三维扫描数据，学习了一种全新的、包含面部和手部的整体人体模型。新的SMPL-X模型（SMPL eXpressive）以SMPL为基础，保留了该模型的诸多优势：与图形软件兼容、参数化简单、体积小、效率高且可微分等。我们将SMPL与FLAME头部模型 [^43] 以及MANO手部模型 [^67] 相结合，随后将该组合模型与我们精心筛选出的5586个高质量三维扫描样本进行对齐。通过从数据中学习模型，我们捕捉到了人体形状、面部和手部之间的自然关联，最终得到的模型不存在Frank模型所出现的那些瑕疵。该模型的表现力可在图2中看到——我们将SMPL-X应用于彩色RGB图像；也可在图4中看到——我们将SMPL-X应用于公开的LSP数据集图像 [^33]。SMPL-X模型可供研究用途免费使用。

已有多种方法利用深度学习，从单张图像中回归SMPL模型的参数[^37] [^58] [^61]。不过，要同时估计包含手部与面部在内的3D人体模型，目前尚无合适的训练数据集。为解决这一问题，我们采用了SMPLify的思路：首先借助OpenPose[^15] [^69] [^76]“自下而上”地提取2D图像特征，该方法能够检测出人体、手部、脚部及面部的关节点；随后我们采用“自上而下”的方式，将SMPL-X模型拟合到这些2D特征上，我们的方法被命名为SMPLify-X。为此，我们对SMPLify做了多项重大改进：具体而言，我们利用变分自编码器，从大规模动作捕捉数据集中学习出一种新的、性能更优的姿态先验[^47] [^50]。这一先验至关重要，因为从2D特征到3D姿态的映射存在多义性。我们还定义了一种新的（自）穿透惩罚项，它比SMPLify中的近似方法更精准、更高效，且仍具备可微性。我们训练了一个性别检测器，用它来自动确定所使用的身体模型类型——男性、女性或中性模型。最后，开发直接回归方法来估计SMPL参数的一个动机是SMPLify的运行速度较慢；对此我们采用PyTorch实现，通过充分利用现代GPU的计算能力，使其速度至少比对应的Chumpy实现快8倍。图2展示了SMPLify-X方法的示例。

---

为了评估模型的准确性，我们需要带有全身RGB图像及对应3D真实值人体的新数据。为此，我们整理了一个新的评估数据集，其中包含受试者做出各种姿势、手势和表情的图像。我们使用扫描系统获取3D人体形状数据，并将SMPL-X模型拟合到这些扫描结果上。这种伪真实值数据的精确度足以支持对人体、手部和面部模型的定量评估。我们发现，我们的模型和方法的表现明显优于其他相关且性能较弱的模型，能够生成自然且富有表现力的结果。

我们认为，这项工作是朝着利用单张RGB图像同步捕捉具有表现力的人体、手部和面部迈出的重要一步。出于研究目的，我们已在<https://smpl-x.is.tue.mpg.de>上公开了SMPL-X模型、SMPLify-X代码、训练好的网络、模型拟合结果以及评估数据集。

### 2. 相关工作

#### 2.1. 人体建模

人体、面部与手部：以往在3D人体建模领域，通常的做法是将人体拆分为各个部分并分别建模。我们重点关注那些从3D扫描数据中学习统计形状模型的方法。

Blanz和Vetter[^9]率先提出了3D可变形人脸模型，开启了这一研究方向。此后，众多方法从扫描数据中学习3D人脸形状与表情；相关最新综述可参见[^13] [^80]。这类模型的一个关键特性是能够表示不同的人脸形状及丰富的表情，通常借助受FACS启发的混合形状来实现[^21]。大多数方法仅聚焦于面部区域，而非整个头部。相比之下，FLAME[^43]会对整个头部建模，能够捕捉3D头部旋转情况，还会对颈部区域进行建模；我们认为这对于连接头部与身体至关重要。但这些方法均未对人脸形状与人体形状之间的相关性进行建模。

3D人体扫描仪的问世使得从扫描数据中学习人体形状成为可能。尤其是CAESAR数据集[^66]为人体形状的学习开辟了道路[^2]。早期的大多数研究都聚焦于利用姿势大致相同的人体扫描数据来建模人体形状。Anguelov等人[^6]将形状建模与同一个受试者在不同姿势下的扫描数据相结合，从而基于三角形形变建立了人体形状与姿势的分解模型。此后出现了许多类似的模型，有的采用三角形形变方式[^16] [^23] [^26] [^29] [^63]，有的则采用基于顶点的位移方式[^3] [^27] [^48]，不过这些模型都只关注人体形状与姿势的建模，并未涉及手部或面部。这些方法都假设手部要么呈握拳状态，要么呈张开状态，而面部则呈现中性表情。

同样，手部建模方法通常也会忽略身体部分。此外，3D手部模型往往并非通过学习得到，要么是艺术家设计的[^70]，要么是基于形状基元构建的[^52] [^57] [^68]，要么是通过多视角立体成像技术重建且形状固定的模型[^8] [^74]，要么使用非学习的部件缩放参数[^19]，要么采用简单的形状空间[^73]。直到最近[^39] [^67]，文献中才出现通过学习得到的手部模型。Khamis等人[^39]收集了50人的局部深度图来学习形状变化模型，但他们并未构建姿势空间。而Romero等人[^67]则利用31名受试者最多51种姿势下的3D扫描数据，按照SMPL[^48]框架，构建了一个兼具丰富形状与姿势空间的参数化手部模型（MANO）。

统一模型。与我们模型最为相似的当属Frank[^36]和SMPL+H[^67]。Frank模型整合了三种不同的模型：用于身体的SMPL（不含姿势混合形状）、艺术家创作的手部骨骼模型，以及FaceWarehouse模型[^14]用于面部。但由此得到的模型并不完全逼真。SMPL+H则将SMPL身体模型与通过3D扫描学习得到的3D手部模型相结合。手部的形状变化数据来自全身扫描，而依赖姿势的形变则是从手部扫描数据集中学习得到的。不过SMPL+H并不包含可形变的面部。

我们以公开可用的SMPL+H[^51]为基础，加入公开可用的FLAME头部模型[^22]。但与Frank不同，我们并未简单地将两者拼接在身体上。相反，我们采用完整模型，将其拟合到5586组3D扫描数据上，从而学习出形状及依赖姿势的混合形状。最终得到的模型外观自然，参数化方式也保持一致。由于该模型基于SMPL构建，因此具备可微性，易于集成到已经使用SMPL的应用程序中。

#### 2.2. 人体推断

目前已有许多方法能够从图像或RGB-D数据[^80]中估计3D人脸，也有方法能从这类数据中估计手部[^79]。虽然从单张图像估计3D关节位置的方法众多，但我们这里重点关注能够提取完整3D人体网格的方法。

有几种方法可以从单张图像中估计SMPL模型[^37] [^41] [^58] [^61]。由于带有配对3D模型参数的训练图像很少，因此这并非易事。为了解决这个问题，SMPLify[^10]会“自下而上”地检测2D图像特征，然后在优化框架中“自上而下”地将SMPL模型拟合到这些特征上。在[^41]中，这些SMPLify拟合结果被用于迭代式地筛选配对数据训练集，以便训练出直接回归方法。HMR[^37]无需配对数据即可训练模型，它利用2D关键点以及一个了解3D人体结构的对抗网络。与SMPLify类似，NBF[^58]采用中间的2D表示（身体部位分割），并据此推断3D姿态。MonoPerfCap[^77]在推断3D姿态的同时还能优化表面几何结构以捕捉衣物细节。这些方法仅能估计人体的3D姿态，无法处理手部或面部。

此外，还有许多用于捕捉3D姿态、3D网格（动作捕捉）或参数化模型的多摄像头系统。

---

3D模型[^7] [^20] [^24] [^30] [^35] [^46] [^53] [^65] [^71]。其中最相关的是Panoptic工作室[^35]，它与我们的目标一致，旨在捕捉丰富且富有表现力的人体互动场景。在[^36]中，通过多摄像头数据将Frank模型参数拟合到3D关键点和3D点云上来进行估计。其捕捉环境十分复杂：用于捕捉身体的摄像头有140台VGA摄像头，用于捕捉脚部的有480台VGA摄像头，用于捕捉面部和手部关键点的则有31台HD摄像头。我们的目标是达到类似的表现力细节水平，但仅需单张RGB图像即可实现。

### 3. 技术路线

接下来我们将介绍SMPL-X（第3.1节）以及我们用于将SMPL-X拟合到单张RGB图像上的方法（第3.2节）。与SMPLify[^10]相比，SMPLify-X采用了更优的姿态先验（第3.3节）、更精细的碰撞惩罚机制（第3.4节）、性别检测功能（第3.5节），以及更快的PyTorch实现方式（第3.6节）。

#### 3.1. 统一模型：SMPL-X

我们创建了一个名为$SMPL-X$的统一模型，即SMPL eXpressive，其面部、手部和身体的形状参数是联合训练的。$SMPL-X$采用基于顶点的线性混合蒙皮技术，并配有学习得到的校正混合形状，它拥有$N = 10,475$个顶点和$K = 54$个关节，其中包括颈部、下颌、眼球和手指关节。$SMPL-X$由一个函数$M(\theta, \beta, \psi) : \mathbb{R}^{|\theta| \times |\beta| \times |\psi|} \to \mathbb{R}^{3N}$定义，该函数由姿态$\theta \in \mathbb{R}^{3(K+1)}$参数化，其中K表示除全局旋转关节外的身体关节数量。我们将姿态参数$\theta$分解为：用于下颌关节的$\theta_f$、用于手指关节的$\theta_h$，以及用于其余身体关节的$\theta_b$。身体、面部和手部的关节形状参数用$\beta \in \mathbb{R}^{|\beta|}$表示，面部表情参数用$\psi \in \mathbb{R}^{|\psi|}$表示。更正式地说：

 $$ M\left(\boldsymbol{\beta},\boldsymbol{\theta},\boldsymbol{\psi}\right)=W\left(T_{p}\left(\boldsymbol{\beta},\boldsymbol{\theta},\boldsymbol{\psi}\right),J\left(\boldsymbol{\beta}\right),\boldsymbol{\theta},\mathcal{W}\right) $$

 $$ T_{P}\left(\beta,\theta,\psi\right)=\bar{T}+B_{S}\left(\beta;\mathcal{S}\right)+B_{E}\left(\psi;\mathcal{E}\right)+B_{P}\left(\theta;\mathcal{P}\right) $$

其中$B_S(\beta; \mathcal{S}) = \sum_{n=1}^{|\beta|} \beta_n S_n$是形状混合形状函数，$\beta$是线性形状系数，$|\beta|$为系数的数量，$S_n \in \mathbb{R}^{3N}$是捕捉不同人身份导致的形状变化的顶点位移的正交主成分，$\mathcal{S} = [S_1, \ldots, S_{|\beta|}] \in \mathbb{R}^{3N \times |\beta|}$则是所有此类位移构成的矩阵。$B_P(\theta; \mathcal{P}) : \mathbb{R}^{|\theta|} \to \mathbb{R}^{3N}$是姿态混合形状函数，它会像SMPL$\tilde{T}$中一样，为模板网格[^47]添加校正顶点位移：

 $$ B_{P}\left(\theta;\mathcal{P}\right)=\sum_{n=1}^{9K}(R_{n}(\theta)-R_{n}(\theta^{*}))\mathcal{P}_{n}, $$

其中，$R : \mathbb{R}^{|\theta|} \to \mathbb{R}^{9K}$ 是一个函数，它将姿态向量 $\theta$ 映射为拼接后的各部分相对旋转矩阵，该矩阵通过罗德里格斯公式 [^12] [^54] [^64] 计算得出；$R_n(\theta)$ 是 $n^{th}$ 中的第 $R(\theta)$ 个元素，$\theta^*$ 是静止姿态下的姿态向量，$\mathcal{P}_n \in \mathbb{R}^{3N}$ 同样是顶点位移的正交主成分，而 $\mathcal{P} = [P_1, \ldots, P_{9K}] \in \mathbb{R}^{3N \times 9K}$ 则是所有姿态混合形状的矩阵。$B_E(\psi; \mathcal{E}) = \sum_{n=1}^{|\psi|} \psi_n \mathcal{E}$ 表示表情混合形状函数，其中 $\mathcal{E}$ 是捕捉面部表情变化的主成分，$\psi$ 是对应的PCA系数。由于不同体型的人体其3D关节位置 J 存在差异，因此它们是体型 $J(\beta) = \mathcal{J}\left(\bar{T} + B_S(\beta; \mathcal{S})\right)$ 的函数，其中 $\mathcal{J}$ 是一种稀疏线性回归器，用于从网格顶点中推算出3D关节位置。标准的线性混合蒙皮函数 $W(\cdot)$ [^42] 会根据混合权重 $T_p(\cdot)$ 对 $J(\beta)$ 中的顶点进行围绕估计关节 $\mathcal{W} \in \mathbb{R}^{N \times K}$ 的旋转。

我们以一个艺术家设计的3D模板作为起点，该模板的面部和手部与FLAME [^43] 及MANO [^67] 模板相匹配。我们将该模板适配到四组3D人体扫描数据集上，从而获得用于SMPL-X训练的3D对齐数据。体型参数 $\{\mathcal{S}\}$ 是在3800个A姿状态下的对齐数据上训练的，这些数据涵盖了不同身份的差异 [^66]。身体姿态参数 $\{\mathcal{W}, \mathcal{P}, \mathcal{J}\}$ 则是在1786个多样化姿态的对齐数据上训练的。由于全身扫描数据在手部与面部的分辨率有限，我们采用了分别基于1500个手部高分辨率扫描数据和3800个头部高分辨率扫描数据学习得到的MANO [^67] 与FLAME [^43] 参数。更具体地说，手部使用了MANO的姿态空间及姿态校正混合形状，面部则采用了FLAME的表情空间 $\mathcal{E}$。

手指共有30个关节，对应90个姿态参数（每个关节采用轴角表示法，共3个自由度）。SMPL-X为手部采用了低维度的PCA姿态空间，即 $\theta_h = \sum_{n=1}^{|m_h|} m_{h_n} \mathcal{M}$，其中 $\mathcal{M}$ 是捕捉手指姿态变化的主成分，$m_h$ 是对应的PCA系数。如前所述，我们采用了在大量3D人体手部关节数据集上训练的MANO PCA姿态空间。SMPL-X模型的总参数数量为119个：其中75个用于全局身体旋转以及{身体、眼睛、下颌}关节，24个用于低维度手部姿态PCA空间，10个用于描述个体体型，10个用于面部表情。此外，当已知性别时可使用独立的男性或女性模型，而当性别未知时则采用融合两性数据的体型空间。SMPL-X模型具有逼真、表现力强、可微且易于拟合数据的特点。

#### 3.2. SMPLify-X：从单张图像生成SMPL-X模型

为了将SMPL-X适配到单张RGB图像（即SMPLify-X），我们借鉴了SMPLify [^10] 的方法，但在各方面均进行了改进。我们将SMPL-X与图像的适配问题表述为一个优化问题，旨在最小化目标函数。

 $$ \begin{aligned}E(\boldsymbol{\beta},\boldsymbol{\theta},\boldsymbol{\psi})=&E_{J}+\lambda_{\theta_{b}}E_{\theta_{b}}+\lambda_{\theta_{f}}E_{\theta_{f}}+\lambda_{m_{h}}E_{m_{h}}+\\&\lambda_{\alpha}E_{\alpha}+\lambda_{\beta}E_{\beta}+\lambda_{\mathcal{E}}E_{\mathcal{E}}+\lambda_{\mathcal{C}}E_{\mathcal{C}}\end{aligned} $$

---

其中，$\theta_b$、$\theta_f$ 和 $m_h$ 分别是身体、面部以及两只手的姿态向量，而 $\theta$ 则是全部可优化的姿态参数。身体姿态参数是一个函数 $\theta_b(Z)$，这里 $Z \in \mathbb{R}^{32}$ 是第3.3节中描述的一个低维姿态空间。$E_J(\beta, \theta, K, J_{est})$ 就是下文所述的数据项，而 $E_{m_h}(m_h)$、$E_{\theta_f}(\theta_f)$、$E_{\beta}(\beta)$ 和 $E_{\mathcal{E}}(\psi)$ 则是对手部姿态、面部姿态、身体形状和面部表情的简单 $L_2$ 先验，用于惩罚其偏离中性状态的程度。由于SMPL-X的形状空间是按单位方差缩放的，与 [^67] 类似，$E_{\beta}(\beta) = \|\beta\|^2$ 描述的是正在优化的形状参数与SMPL-X训练数据集中的形状分布之间的马氏距离。$E_{\alpha}(\theta_b) = \sum_{i \in (elbows, knees)} \exp(\theta_i)$ 遵循 [^10] 的思路，是一种仅对手肘和膝盖的极端弯曲进行惩罚的简单先验。我们进一步采用了基于VAE的身体姿态先验 $E_{\theta_b}(\theta_b)$（见第3.3节），而 $E_{\mathcal{C}}(\theta_b, h, \beta)$ 则是穿透惩罚项（见第3.4节）。最后，$\lambda$ 表示用于调节公式4中各项影响的权重。我们通过实验发现，对 $\lambda$ 采用退火策略有助于优化过程（见第3.6节）。

对于数据项，我们采用重投影损失来最小化估计出的2D关节点 $J_{est}$ 与SMPL-X对应的姿态化3D关节点的2D投影 $R_{\theta}(J(\beta))_i$ 之间的加权鲁棒距离，这里的 i 代表每个关节；其中 $R_{\theta}(\cdot)$ 是一个根据姿态 $\theta$ 沿运动树变换关节的函数。按照 [^10] 中的记号，数据项表示为 $E_J(\beta, \theta, K, J_{est}) =$。

 $$ \sum_{j o i n t\;i}\gamma_{i}\omega_{i}\rho(\varPi_{K}(R_{\theta}(J(\beta))_{i})-J_{e s t,i}) $$

其中，$\Pi_K$ 表示利用相机内参K进行的3D到2D投影。对于2D检测，我们依赖OpenPose库 [^15] [^69] [^76]，该库能为图像中的每个人同时提供身体、手部、面部和脚部关键点。为了应对检测中的噪声，数据项中每个关节的贡献会由检测置信度分数 $\omega_i$ 加权，而 $\gamma_i$ 则是用于退火优化的逐关节权重，具体说明见第3.6节。最后，$\rho$ 表示一种鲁棒的Geman-McClure误差函数 [^25]，用于降低噪声检测点的权重。

#### 3.3. 变分人体姿态先验

我们希望得到一个能惩罚不可能姿态同时允许可能姿态的身体姿态先验。SMPLify采用的是基于动作捕捉数据训练得到的高斯混合模型负对数近似。尽管该方法有效，但我们发现SMPLify先验的强度不够。因此，我们采用变分自编码器 [^40] 来训练我们的身体姿态先验VPoser，该编码器能学习人体姿态的潜变量表示，并将潜变量的分布正则化为正态分布。在训练该先验时，我们利用 [^47] 和 [^50] 从三个公开的人体动作捕捉数据集中恢复身体姿态参数：CMU数据集 [^17]、Human3.6M的训练集 [^32] 以及PosePrior数据集 [^1]。我们的训练数据和测试数据分别包含约100万个和6.5万个以旋转矩阵形式表示的姿态。关于数据准备过程的详细信息见补充材料。

VAE的训练损失表示为：

 $$ \mathcal{L}_{t o t a l}=c_{1}\mathcal{L}_{K L}+c_{2}\mathcal{L}_{r e c}+c_{3}\mathcal{L}_{o r t h}+c_{4}\mathcal{L}_{d e t1}+c_{5}\mathcal{L}_{r e g} $$

 $$ \mathcal{L}_{K L}=K L(q(Z|R)||\mathcal{N}(0,I)) $$

 $$ \mathcal{L}_{r e c}=||R-\hat{R}||_{2}^{2} $$

 $$ \mathcal{L}_{o r t h}=||\hat{R}\hat{R}^{^{\prime}}-I||_{2}^{2} $$

 $$ \mathcal{L}_{d e t1}=|d e t(\hat{\boldsymbol{R}})-1| $$

 $$ \mathcal{L}_{r e g}=||\phi||_{2}^{2}, $$

其中，$Z \in \mathbb{R}^{32}$ 是自编码器的隐空间，$R \in SO(3)$ 是作为网络输入的、对应每个关节的$3 \times 3$旋转矩阵，而 $\hat{R}$ 则是形状与之相似的、代表输出的矩阵。公式(7)中的Kullback-Leibler项以及公式(8)中的重构项遵循 [^40] 中提出的VAE框架，它们的作用是促使隐空间服从正态分布，并生成高效的编码以高精度重构输入。公式(9)和(10)则促使隐空间能够编码出有效的旋转矩阵。最后，公式(11)通过约束更小的网络权重 $\phi$ 来防止过拟合。具体实现细节可参见补充材料。

为了在优化过程中使用VPoser，我们并非直接在公式4中对 $\theta_b$ 进行优化，而是优化一个32维隐空间的参数，并对Z施加二次惩罚项，随后将其转换回轴角表示下的关节角度 $\theta_b$。这一做法与处理手部的方式类似，只不过手部姿态 $\theta_h$ 会被投影到线性PCA空间中，惩罚项作用于这些线性系数上。

#### 3.4. 碰撞惩罚项

在用模型拟合观测数据时，常常会出现多个身体部位之间的自碰撞或穿插现象，这在物理上是不可能发生的。我们的方法借鉴了SMPLify的思路，即基于形状基元（也就是一系列胶囊体）构建底层碰撞模型来对穿插现象施加惩罚。尽管该模型计算效率较高，但它只是对人体粗略的近似。

对于像SMPL-X这样同时建模手指和面部细节的模型而言，需要更精确的碰撞模型。为此，我们采用了来自 [^8] 和 [^74] 的、针对网格的精细化基于碰撞的模型。我们首先利用包围盒层次结构（BVH）[^72] 检测出一组相互碰撞的三角形C，再计算出由这些三角形C及其法线n定义的局部圆锥三维距离场 $\Psi$。随后，穿插深度会被用作惩罚依据，其计算方式十分高效：

---

即通过距离场中的位置来确定。对于两个相互碰撞的三角形 $f_{s}$ 和 $f_{t}$，穿插是双向的；$v_{t}$ 的顶点 $f_{t}$ 会作为入侵者出现在接收三角形 $\Psi_{f_{s}}$ 的距离场 $f_{s}$ 中，并因此受到 $\Psi_{f_{s}}(v_{t})$ 的惩罚，反之亦然。因此，目标函数（公式4）中的碰撞项 $E_{C}$ 被定义为：

 $$ \begin{align*}E_{\mathcal{C}}(\theta)=\sum_{(f_{s}(\theta),f_{t}(\theta))\in\mathcal{C}}\bigg\{\sum_{v_{s}\in f_{s}}\|-\Psi_{f_{t}}(v_{s})n_{s}\|^{2}+\\ \sum_{v_{t}\in f_{t}}\|-\Psi_{f_{s}}(v_{t})n_{t}\|^{2}\bigg\}.\end{align*} $$

关于 $\Psi$ 的技术细节，以及针对存在永久性或频繁自接触现象的部位的碰撞处理细节，我们建议读者参考 [^8] 和 [^74] 以及补充材料。为了提升计算效率，我们采用了遵循 [^38] 思路的高度并行化BVH实现方案，并围绕自定义的PyTorch算子封装了定制的CUDA内核。

#### 3.5. 深度性别分类器

男性和女性的身体比例与形状存在差异。因此，若要使用合适的身体模型来匹配二维数据，就必须采用相应的形状空间。目前尚未有能自动在拟合三维人体姿态时考虑性别因素的方法。在本研究中，我们训练了一个性别分类器，它以包含全身的图像和OpenPose关节信息为输入，为被检测到的人员分配性别标签。为此，我们首先通过Amazon Mechanical Turk对来自LSP [^33]、LSP-extended [^34]、MPII [^5]、MS-COCO [^45]以及LIP数据集 [^44] 的大量图像进行标注，同时遵循各数据集官方规定的训练集与测试集划分方式。最终得到的数据集包含50216个训练样本和16170个测试样本（详见补充材料）。我们利用该数据集对预训练的ResNet18 [^28] 进行微调，以实现二元性别分类。此外，我们通过使用类别均衡的验证集来对计算出的类别概率设定阈值，从而在被舍弃的预测结果、正确的预测结果以及错误的预测结果之间取得良好平衡。我们选取0.9作为接受预测类别的阈值，在验证集上该阈值对应的正确预测率为62.38%，错误预测率为7.54%。测试时，我们先运行检测器并拟合相应性别的身体模型；若检测到的类别概率低于该阈值，则拟合中性性别的身体模型。

#### 3.6. 优化

SMPLify采用了Chumpy和OpenDR [^49]，这导致优化过程较为缓慢。为使公式4的优化过程可求解，我们选用PyTorch以及带有强Wolfe线搜索功能的有限内存BFGS优化器（L-BFGS）[^55]。具体实现细节可在补充材料中找到。

我们采用多阶段方法来优化公式4，这一思路与[^10]中的方法类似。我们假设已知摄像头的焦距精确值或近似值，随后先估算未知的摄像头平移量和全局身体朝向（详见[^10]）。接着固定摄像头参数，优化身体形状、$\beta$以及姿态，$\theta$。通过实践我们发现，对数据项$\gamma$（公式5）中的权重$E_J$采用退火策略，有助于目标函数（公式4）的优化，从而应对其中的歧义性和局部最优问题。这么做主要是考虑到手部和面部等小部位相对于其尺寸而言包含较多关键点，它们可能会在公式4中占据主导地位，一旦初始估计值与真实解偏差较大，就会使优化陷入局部最优。

下文用$\gamma_b$表示对应主要身体关键点的权重，用$\gamma_h$表示对应手部的权重，用$\gamma_f$表示对应面部关键点的权重。我们分三步进行操作：首先采用较高的正则化强度以主要优化全局身体姿态，随后逐步增加手部关键点的影响以细化手臂姿态；在得到更优的姿态估计值后，再增加手部和面部关键点的影响以捕捉更丰富的表情细节。在上述各步骤中，公式4中的权重$\lambda_\alpha, \lambda_\beta, \lambda_\varepsilon$起初正则化强度较高，随后逐渐降低以实现更好的拟合；唯一的例外是$\lambda_C$，随着$E_J$中手部影响的增强以及碰撞情况的增多，该权重会逐渐增大。

### 4. 实验

#### 4.1. 评估数据集

尽管近期人们对更具表现力的模型兴趣浓厚[^36] [^67]，但目前仍没有包含人体、手部及面部真实形状信息的图像数据集。因此，我们利用现有数据，通过拟合与精心筛选来创建用于评估的数据集。

富有表现力的手部与面部数据集（EHF）。我们以SMPL+H数据集[^51]为起点，每帧提取一张完整的人体RGB图像。随后，我们按照[^67]中的方法将SMPL-X模型与4D扫描数据对齐。由专家标注员手动筛选出的100帧图像被认定为具有可信度的伪真实数据，筛选依据包括对齐质量以及有趣的手部姿势和面部表情。这些伪真实网格数据使我们能够采用更严格的顶点对顶点（v2v）误差度量标准[^48] [^61]；相比之下，传统做法通常只报告3D关节误差，而这种方式无法反映表面误差及骨骼旋转情况。

#### 4.2. 定性与定量评估

为了检验SMPL-X和SMPLify-X的有效性，我们将其与最相关的模型进行对比，即SMPL [^48]、SMPL+H [^67]以及Frank [^36]。我们将SMPL-X模型拟合到EHF图像上，从而进行定性和定量评估。需要注意的是，我们的输入仅包含1张图像和2D关节信息，而以往的方法则需要更多信息，比如3D点云[^36] [^67]和关节数据[^36]。具体而言，[^48] [^67]使用了66个摄像机和34个投影仪，

---

<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;'>Keypoints</td><td style='text-align: center; word-wrap: break-word;'>v2v error</td><td style='text-align: center; word-wrap: break-word;'>Joint error</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>“SMPL”</td><td style='text-align: center; word-wrap: break-word;'>Body</td><td style='text-align: center; word-wrap: break-word;'>57.6</td><td style='text-align: center; word-wrap: break-word;'>63.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>“SMPL”</td><td style='text-align: center; word-wrap: break-word;'>Body+Hands+Face</td><td style='text-align: center; word-wrap: break-word;'>64.5</td><td style='text-align: center; word-wrap: break-word;'>71.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>“SMPL+H”</td><td style='text-align: center; word-wrap: break-word;'>Body+Hands</td><td style='text-align: center; word-wrap: break-word;'>54.2</td><td style='text-align: center; word-wrap: break-word;'>63.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPL-X</td><td style='text-align: center; word-wrap: break-word;'>Body+Hands+Face</td><td style='text-align: center; word-wrap: break-word;'>52.9</td><td style='text-align: center; word-wrap: break-word;'>62.6</td></tr></table>

<div style="text-align: center;">Table 1: Quantitative comparison of “SMPL”, “SMPL+H” and SMPL-X, as described in Section 4.2, fitted with SMPLify-X on the EHF dataset. We report the mean vertex-to-vertex (v2v) and the standard mean 3D body (only) joint error in mm. The table shows that richer modeling power results in lower errors.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Version</td><td style='text-align: center; word-wrap: break-word;'>v2v error</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify-X</td><td style='text-align: center; word-wrap: break-word;'>52.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>gender neutral model</td><td style='text-align: center; word-wrap: break-word;'>58.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>replace Vposer with GMM</td><td style='text-align: center; word-wrap: break-word;'>56.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>no collision term</td><td style='text-align: center; word-wrap: break-word;'>53.5</td></tr></table>

<div style="text-align: center;">Table 2: Ablative study for SMPLify-X on the EHF dataset. The numbers reflect the contribution of each component in overall accuracy.</div>

而[^36]则使用了超过500个摄像机。

我们首先在EHF数据集上与SMPL、SMPL+H及SMPL-X进行比较，结果如表1所示。表中分别给出了与真实3D网格及人体（仅限）关节对齐后的平均顶点对顶点（v2v）误差以及平均3D人体关节误差。为了便于数值评估，在本表中我们特意用锁定自由度的SMPL-X变体来“模拟”SMPL和SMPL+H，分别记为“SMPL”和“SMPL+H”。不出所料，误差数据表明传统的平均3D关节误差无法准确反映模型表现力的差异；而更为严格的v2v度量标准则显示出，加入手指和面部建模后误差会更低。我们还为SMPL模型添加了针对未充分建模部位的额外特征，例如手指特征，结果反而导致误差增大，这凸显了更丰富、更具表现力模型的重要性。我们在补充材料中报告了类似的定性比较结果。

接着我们进行了消融研究，结果汇总于表2中，表中给出了平均顶点对顶点（v2v）误差。采用性别特定模型的SMPLify-X误差为52.9毫米。性别中性模型使用起来更简便，因为它无需进行性别检测，但在精度上略有牺牲。若用SMPLify的GMM替换VPoser[^10]，误差会增至56.4毫米，这证明了VPoser的有效性。最后，若去掉碰撞项，误差也会升至53.5毫米，而且还会产生不符合物理规律的姿态估计结果。

![Image](images/3969d6b29f58497cc5e63312c93ebcb12576f2bf57935017c233636b44b9db1a.jpg)

参考文献

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

[^36]: : > 500

摄像机

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

<div style="text-align: center;">Ours: 1</div>

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

<div style="text-align: center;">Figure 3: Qualitative comparison of our gender neutral model (top, bottom rows) or gender specific model (middle) against Frank [^36] on some of their data. To fit Frank, [^36] employ both 3D joints and point cloud, i.e. more than 500 cameras. In contrast, our method produces a realistic and expressive reconstruction using only 2D joints. We show results using the 3D joints of [^36] projected in 1 camera view (third column), as well as using joints estimated from only 1 image (last column), to show the influence of noise in 2D joint detection. Compared to Frank, our SMPL-X does not have skinning artifacts around the joints, e.g. elbows.</div>

与SMPL-X最相近的对比模型是Frank [^36]。由于目前无法获取Frank模型及其用于[^18]的适配参数，我们展示了从网上找到的相关结果图片。图3展示了Frank模型对3D关节和点云的适配效果，该过程使用了超过500个摄像头。相比之下，SMPL-X是通过SMPLify-X在仅使用1张包含2D关节信息的RGB图像的情况下完成适配的。为了进行更直接的对比，我们将SMPL-X适配到[^36]为Frank模型所用的3D关节的2D投影上。尽管我们使用的数据量要少得多，但SMPL-X在面部和手部表现出的表达能力至少与Frank相当。由于Frank模型未采用姿态混合形状，因此在关节处（如肘部）会出现皮肤穿模现象，这一点在图3中清晰可见。而SMPL-X经过训练包含了姿态混合形状，因此不会出现此类问题，其还原效果也更自然、逼真。

---

![Image](images/35c36fd0a0ce786fb419c12f7ccff521f7090607f5de3281a81891c0d868ba3e.jpg)

<div style="text-align: center;">Figure 4: Qualitative results of SMPL-X for the in-the-wild images of the LSP dataset [^33]. A strong holistic model like SMPL-X results in natural and expressive reconstruction of bodies, hands and faces. Gray color depicts the gender-specific model for confident gender detections. Blue is the gender-neutral model that is used when the gender classifier is uncertain.</div>

![Image](images/092430aacb93abac07f19d2e4c8606293481aaab19f49c25e507649603604ddb.jpg)

<div style="text-align: center;">Figure 5: Comparison of the hands-only approach of [^60] (middle) against our approach with the male model (right). Both approaches depend on OpenPose. In case of good detections both perform well (top). In case of noisy 2D detections (bottom) our holistic model shows increased robustness. (images cropped at the bottom in the interest of space)</div>

为了进一步体现身体、面部和手部一体化模型的价值，我们在图5中将SMPL-X和SMPLify-X与仅针对手部的[^60]方法进行了对比。这两种方法都采用OpenPose进行2D关节检测，而[^60]方法还需依赖手部检测器。如图5所示，在检测结果良好的情况下，两种方法的表现都不错；但在检测噪声较大的情况下，由于有身体上下文信息的辅助，SMPL-X表现出更强的鲁棒性。在将适配结果与EHF对齐后，我们进一步开展了定量对比。由于网格拓扑结构不同，为简便起见，我们以手部关节作为伪真值，忽略身体部分，对各只手独立进行Procrustes分析。Panteleris等人[^60]的方法得到的平均3D关节误差为26.5毫米，而SMPL-X的平均误差仅为19.8毫米。

最后，我们利用SMPLify-X将SMPL-X适配到一些真实场景数据集上，包括LSP [^33]、LSP-extended [^34]以及MPII数据集 [^5]。图4展示了LSP数据集 [^33] 的一些定性结果；更多示例和失败案例详见补充材料。这些图片表明，像SMPL-X这样强大的一体化模型能够利用日常拍摄的图像有效生成自然且富有表现力的重建结果。

### 5. 结论

在这项工作中，我们提出了SMPL-X——一种能够同时捕捉身体、面部和手部信息的新模型。我们还提出了SMPLify-X，这是一种利用单张RGB图像和2D OpenPose关节检测结果来适配SMPL-X的方法。我们通过全新的强大身体姿态先验，以及一种快速精准的检测并惩罚穿透现象的方法，来解决适配过程中的歧义问题。我们利用真实场景中的图像展示了大量定性结果，证明了SMPL-X的表达能力和SMPLify-X的有效性。我们构建了一个带有伪真值的定制数据集来进行定量评估，评估结果凸显了更具表达能力的模型的重要性。在未来的工作中，我们将整理一个包含真实场景SMPL-X适配结果的数据集，并学习一个能直接从RGB图像中回归出SMPL-X参数的回归器。我们认为，这项工作是朝着利用RGB图像同步捕捉身体、手部和面部表达性特征迈出的重要一步。

致谢：感谢Joachim Tesch在Blender渲染方面的帮助，感谢Pavel Karasik在Amazon Mechanical Turk项目上的协助。感谢Soubhik Sanyal提供的仅针对面部的基线模型，感谢FORTH研究所的Panteleris等人协助我们在EHF数据集上运行他们的仅手部处理方法[^60]，感谢CMU的Joo等人提供其数据的早期访问权限 [^36]。

声明：MJB曾收到来自英特尔、英伟迪亚、Adobe、Facebook和亚马逊的研究资助。虽然MJB是亚马逊的兼职员工，但他的研究仅在马克斯·普朗克研究所进行，且资金也全部由该所提供。MJB在亚马逊和Meshcapade GmbH拥有财务利益。

---

## 参考文献

[^1]: Ijaz Akhter and Michael J. Black. Pose-conditioned joint angle limits for 3D human pose reconstruction. In CVPR, 2015. 5

[^2]: Brett Allen, Brian Curless, and Zoran Popović. The space of human body shapes: Reconstruction and parameterization from range scans. ACM Transactions on Graphics, (Proc. SIGGRAPH), 22(3):587–594, 2003. 2, 3

[^3]: Brett Allen, Brian Curless, Zoran Popović, and Aaron Hertzmann. Learning a correlated model of identity and pose-dependent body shape variation for real-time synthesis. In ACM SIGGRAPH/Eurographics Symposium on Computer Animation, SCA '06, pages 147–156. Eurographics Association, 2006. 2, 3

[^4]: Brian Amberg, Reinhard Knothe, and Thomas Vetter. Expression invariant 3D face recognition with a morphable model. In International Conference on Automatic Face Gesture Recognition, 2008. 2

[^5]: Mykhaylo Andriluka, Leonid Pishchulin, Peter Gehler, and Bernt Schiele. 2D human pose estimation: New benchmark and state of the art analysis. In CVPR, 2014. 6, 8

[^6]: Dragomir Anguelov, Praveen Srinivasan, Daphne Koller, Sebastian Thrun, Jim Rodgers, and James Davis. SCAPE: Shape Completion and Animation of PEople. ACM Transactions on Graphics, (Proc. SIGGRAPH), 24(3):408–416, 2005. 2, 3

[^7]: Luca Ballan and Guido Maria Cortelazzo. Marker-less motion capture of skinned models in a four camera set-up using optical flow and silhouettes. In International Symposium on 3D Data Processing, Visualization and Transmission (3DPVT), 2008. 3

[^8]: Luca Ballan, Aparna Taneja, Juergen Gall, Luc Van Gool, and Marc Pollefeys. Motion capture of hands in action using discriminative salient points. In ECCV, 2012. 3, 5, 6

[^9]: Volker Blanz and Thomas Vetter. A morphable model for the synthesis of 3D faces. In SIGGRAPH, pages 187–194, 1999. 2, 3

[^10]: Federica Bogo, Angjoo Kanazawa, Christoph Lassner, Peter Gehler, Javier Romero, and Michael J Black. Keep it SMPL: Automatic estimation of 3D human pose and shape from a single image. In ECCV, 2016. 1, 3, 4, 5, 6, 7

[^11]: James Booth, Anastasios Roussos, Allan Ponniah, David Dunaway, and Stefanos Zafeiriou. Large scale 3D morphable models. IJCV, 126(2-4):233–254, 2018. 2

[^12]: Christoph Bregler, Jitendra Malik, and Katherine Pullen. Twist based acquisition and tracking of animal and human kinematics. International Journal of Computer Vision (IJCV), 56(3):179–194, 2004. 4

[^13]: Alan Brunton, Augusto Salazar, Timo Bolkart, and Stefanie Wuhrer. Review of statistical shape spaces for 3D data with comparative analysis for human faces. CVIU, 128(0):1–17, 2014. 2, 3

[^14]: Chen Cao, Yanlin Weng, Shun Zhou, Yiying Tong, and Kun Zhou. Facewarehouse: A 3D facial expression database for visual computing. IEEE Transactions on Visualization and Computer Graphics, 20(3):413–425, 2014. 2, 3

[^15]: Zhe Cao, Tomas Simon, Shih-En Wei, and Yaser Sheikh. Realtime multi-person 2D pose estimation using part affinity fields. In CVPR, 2017. 1, 2, 5

[^16]: Yinpeng Chen, Zicheng Liu, and Zhengyou Zhang. Tensor-based human body modeling. In CVPR, 2013. 3

[^17]: CMU. CMU MoCap dataset. 5

[^18]: Total Capture Dataset. <http://domedb.perception.cs.cmu.edu.7>

[^19]: Martin De La Gorce, David J. Fleet, and Nikos Paragios. Model-based 3D hand pose estimation from monocular video. PAMI, 33(9):1793–1805, 2011. 3

[^20]: Quentin Delamarre and Olivier D. Faugeras. 3D articulated models and multiview tracking with physical forces. CVIU, 81(3):328–357, 2001. 3

[^21]: P. Ekman and W. Friesen. Facial Action Coding System: A Technique for the Measurement of Facial Movement. Consulting Psychologists Press, 1978. 3

[^22]: models FLAME website: dataset and code. <http://flame.is.tue.mpg.de.3>

[^23]: Oren Freifeld and Michael J. Black. Lie bodies: A manifold representation of 3D human shape. In ECCV, 2012. 3

[^24]: Juergen Gall, Carsten Stoll, Edilson De Aguiar, Christian Theobalt, Bodo Rosenhahn, and Hans-Peter Seidel. Motion capture using joint skeleton tracking and surface estimation. In CVPR, 2009. 3

[^25]: Stuart Geman and Donald E. McClure. Statistical methods for tomographic image reconstruction. In Proceedings of the 46th Session of the International Statistical Institute, Bulletin of the ISI, volume 52, 1987. 5

[^26]: Nils Hasler, Carsten Stoll, Martin Sunkel, Bodo Rosenhahn, and Hans-Peter Seidel. A statistical model of human pose and body shape. Computer Graphics Forum, 28(2):337–346, 2009. 2, 3

[^27]: Nils Hasler, Thorsten Thormählen, Bodo Rosenhahn, and Hans-Peter Seidel. Learning skeletons for shape and pose. In Proceedings of the 2010 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, I3D '10, pages 23–30, New York, NY, USA, 2010. ACM. 3

[^28]: Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In CVPR, 2016. 6

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

[^30]: Yinghao Huang, Federica Bogo, Christoph Lassner, Angjoo Kanazawa, Peter V. Gehler, Javier Romero, Ijaz Akhter, and Michael J. Black. Towards accurate marker-less human shape and pose estimation over time. In 3DV, 2017. 3

[^31]: Eldar Insafutdinov, Leonid Pishchulin, Bjoern Andres, Mykhaylo Andriluka, and Bernt Schiele. Deepercut: A deeper, stronger, and faster multi-person pose estimation model. In ECCV, 2016. 1

## [^32]: Catalin Ionescu, Dragos Papava, Vlad Olaru, and Cristian Sminchisescu. Human3.6M: Large scale datasets and predictive methods for 3D human sensing in natural environments. PAMI, 36(7):1325–1339, 2014. 5

---

[^33]: Sam Johnson and Mark Everingham. Clustered pose and nonlinear appearance models for human pose estimation. In BMVC, 2010. 2, 6, 8

[^34]: Sam Johnson and Mark Everingham. Learning effective human pose estimation from inaccurate annotation. In CVPR, 2011. 6, 8

[^35]: Hanbyul Joo, Hao Liu, Lei Tan, Lin Gui, Bart Nabbe, Iain Matthews, Takeo Kanade, Shohei Nobuhara, and Yaser Sheikh. Panoptic studio: A massively multiview system for social motion capture. In ICCV, 2015. 3, 4

[^36]: Hanbyul Joo, Tomas Simon, and Yaser Sheikh. Total capture: A 3D deformation model for tracking faces, hands, and bodies. In CVPR, 2018. 2, 3, 4, 6, 7, 8

[^37]: Angjoo Kanazawa, Michael J Black, David W Jacobs, and Jitendra Malik. End-to-end recovery of human shape and pose. In CVPR, 2018. 1, 2, 3

[^38]: Tero Karras. Maximizing parallelism in the construction of BVHs, Octrees, and K-d trees. In Proceedings of the Fourth ACM SIGGRAPH / Eurographics Conference on High-Performance Graphics, pages 33–37, 2012. 6

[^39]: Sameh Khamis, Jonathan Taylor, Jamie Shotton, Cem Keskin, Shahram Izadi, and Andrew Fitzgibbon. Learning an efficient model of hand shape variation from depth images. In CVPR, 2015. 2, 3

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

[^41]: Christoph Lassner, Javier Romero, Martin Kiefel, Federica Bogo, Michael J Black, and Peter V Gehler. Unite the people: Closing the loop between 3D and 2D human representations. In CVPR, 2017. 3

[^42]: John P. Lewis, Matt Cordner, and Nickson Fong. Pose space deformation: A unified approach to shape interpolation and skeleton-driven deformation. In ACM Transactions on Graphics (SIGGRAPH), pages 165–172, 2000. 4

[^43]: Tianye Li, Timo Bolkart, Michael J Black, Hao Li, and Javier Romero. Learning a model of facial shape and expression from 4D scans. ACM Transactions on Graphics (TOG), 36(6):194, 2017. 2, 3, 4

[^44]: Xiaodan Liang, Chunyan Xu, Xiaohui Shen, Jianchao Yang, Si Liu, Jinhui Tang, Liang Lin, and Shuicheng Yan. Human parsing with contextualized convolutional neural network. In ICCV, 2015. 6

[^45]: Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár, and C Lawrence Zitnick. Microsoft COCO: Common objects in context. In ECCV, 2014. 6

[^46]: Yebin Liu, Juergen Gall, Carsten Stoll, Qionghai Dai, Hans-Peter Seidel, and Christian Theobalt. Markerless motion capture of multiple characters using multiview image segmentation. PAMI, 35(11):2720–2735, 2013. 3

[^47]: Matthew Loper, Naureen Mahmood, and Michael J Black. MoSh: Motion and shape capture from sparse markers. ACM Transactions on Graphics (TOG), 33(6):220, 2014. 2, 4, 5

[^48]: Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J. Black. SMPL: A skinned multiperson linear model. ACM Transactions on Graphics, (Proc. SIGGRAPH Asia), 34(6):248:1–248:16, Oct. 2015. 2, 3, 6

[^49]: Matthew M Loper and Michael J Black. OpenDR: An approximate differentiable renderer. In ECCV, 2014. 6

[^50]: Naureen Mahmood, Nima Ghorbani, Nikolaus F. Troje, Gerard Pons-Moll, and Michael J. Black. AMASS: Archive of motion capture as surface shapes. arXiv:1904.03278, 2019. 2, 5

[^51]: MANO, models SMPL+H website: dataset, and code. <http://mano.is.tue.mpg.de.3,6>

[^52]: Stan Melax, Leonid Keselman, and Sterling Orsten. Dynamics based 3D skeletal hand tracking. In Graphics Interface, pages 63–70, 2013. 2, 3

[^53]: Thomas B. Moeslund, Adrian Hilton, and Volker Krüger. A survey of advances in vision-based human motion capture and analysis. CVIU, 104(2):90–126, 2006. 3

[^54]: Richard M. Murray, Li Zexiang, and S. Shankar Sastry. A Mathematical Introduction to Robotic Manipulation. CRC press, 1994. 4

[^55]: Jorge Nocedal and Stephen J Wright. Nonlinear Equations. Springer, 2006. 6

[^56]: Markus Oberweger, Paul Wohlhart, and Vincent Lepetit. Training a feedback loop for hand pose estimation. In ICCV, 2015. 2

[^57]: Iason Oikonomidis, Nikolaos Kyriazis, and Antonis A. Argyros. Efficient model-based 3D tracking of hand articulation using Kinect. In BMVC, 2011. 2, 3

[^58]: Mohamed Omran, Christoph Lassner, Gerard Pons-Moll, Peter V Gehler, and Bernt Schiele. Neural body fitting: Unifying deep learning and model-based human pose and shape estimation. In 3DV, 2018. 1, 2, 3

[^59]: OpenPose. <https://github.com/CMU-Perceptual-Computing-Lab/openpose>.

[^60]: Paschalis Panteleris, Iason Oikonomidis, and Antonis Argyros. Using a single RGB frame for real time 3D hand pose estimation in the wild. In WACV, 2018. 8

[^61]: Georgios Pavlakos, Luyang Zhu, Xiaowei Zhou, and Kostas Daniilidis. Learning to estimate 3D human pose and shape from a single color image. In CVPR, 2018. 1, 2, 3, 6

[^62]: Pascal Paysan, Reinhard Knothe, Brian Amberg, Sami Romdhani, and Thomas Vetter. A 3D face model for pose and illumination invariant face recognition. In 2009 Sixth IEEE International Conference on Advanced Video and Signal Based Surveillance, pages 296–301, 2009. 2

[^63]: Gerard Pons-Moll, Javier Romero, Naureen Mahmood, and Michael J. Black. Dyna: A model of dynamic human shape in motion. ACM Transactions on Graphics, (Proc. SIGGRAPH), 34(4):120:1–120:14, July 2015. 3

[^64]: Gerard Pons-Moll and Bodo Rosenhahn. Model-Based Pose Estimation, chapter 9, pages 139–170. Springer, 2011. 4

[^65]: Helge Rhodin, Jörg Spörri, Isinsu Katircioglu, Victor Constantin, Frédéric Meyer, Erich Müller, Mathieu Salzmann, and Pascal Fua. Learning monocular 3D human pose estimation from multi-view images. In CVPR, 2018. 3

### [^66]: Kathleen M. Robinette, Sherri Blackwell, Hein Daanen, Mark Boehmer, Scott Fleming, Tina Brill, David Hoeferlin, and Dennis Burnsides. Civilian American and European Surface Anthropometry Resource (CAESAR) final report. Technical Report AFRL-HE-WP-TR-2002-0169, US Air Force Research Laboratory, 2002. 3, 4

---

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

[^68]: Tanner Schmidt, Richard Newcombe, and Dieter Fox. DART: Dense articulated real-time tracking. In RSS, 2014. 2, 3

[^69]: Tomas Simon, Hanbyul Joo, Iain Matthews, and Yaser Sheikh. Hand keypoint detection in single images using multiview bootstrapping. In CVPR, 2017. 1, 2, 5

[^70]: Srinath Sridhar, Antti Oulasvirta, and Christian Theobalt. Interactive markerless articulated hand motion tracking using RGB and depth data. In ICCV, 2013. 2, 3

[^71]: Jonathan Starck and Adrian Hilton. Surface capture for performance-based animation. IEEE computer graphics and applications, 27(3), 2007. 3

[^72]: Matthias Teschner, Stefan Kimmerle, Bruno Heidelberger, Gabriel Zachmann, Laks Raghupathi, Arnulph Fuhrmann, Marie-Paule Cani, François Faure, Nadia Magnenat-Thalmann, Wolfgang Strasser, and Pascal Volino. Collision detection for deformable objects. In Eurographics, 2004. 5

[^73]: Anastasia Tkach, Mark Pauly, and Andrea Tagliasacchi. Sphere-meshes for real-time hand modeling and tracking. ACM Transactions on Graphics (TOG), 35(6), 2016. 2, 3

[^74]: Dimitrios Tzionas, Luca Ballan, Abhilash Srikantha, Pablo Aponte, Marc Pollefeys, and Juergen Gall. Capturing hands

利用判别性显著点和物理模拟来实现相关功能。《国际计算机视觉杂志》，第118卷第2期：172–193页，2016年。2、3、5、6

[^75]: Daniel Vlasic, Matthew Brand, Hanspeter Pfister, and Jovan Popović. Face transfer with multilinear models. ACM transactions on graphics (TOG), 24(3):426–433, 2005. 2

[^76]: Shih-En Wei, Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh. Convolutional pose machines. In CVPR, 2016. 2, 5

[^77]: Weipeng Xu, Avishek Chatterjee, Michael Zollhöfer, Helge Rhodin, Dushyant Mehta, Hans-Peter Seidel, and Christian Theobalt. Monoperfcap: Human performance capture from monocular video. ACM Transactions on Graphics (TOG), 37(2):27, 2018. 3

[^78]: Fei Yang, Jue Wang, Eli Shechtman, Lubomir Bourdev, and Dimitri Metaxas. Expression flow for 3D-aware face component transfer. ACM Transactions on Graphics (TOG), 30(4):60, 2011. 2

[^79]: Shanxin Yuan, Guillermo Garcia-Hernando, Björn Stenger, Gyeongsik Moon, Ju Yong Chang, Kyoung Mu Lee, Pavlo Molchanov, Jan Kautz, Sina Honari, Liuhao Ge, et al. Depth-based 3D hand pose estimation: From current achievements to future goals. In CVPR, 2018. 3

#### [^80]: Michael Zollhöfer, Justus Thies, Pablo Garrido, Derek Bradley, Thabo Beeler, Patrick Pérez, Marc Stamminger, Matthias Nießner, and Christian Theobalt. State of the art on monocular 3D face reconstruction, tracking, and applications. Computer Graphics Forum, 37(2):523–550, 2018. 3

---

#### 富有表现力的身体捕捉：从单张图像中还原3D手部、面部和身体 __补充材料__

Georgios Pavlakos $^{*1,2}$，Vasileios Choutas $^{*1}$，Nima Ghorbani $^{1}$，Timo Bolkart $^{1}$，Ahmed A. A. Osman $^{1}$，Dimitrios Tzionas $^{1}$，Michael J. Black $^{1}$

$^{1}$马克斯·普朗克智能系统研究所，德国图宾根；$^{2}$宾夕法尼亚大学，美国宾夕法尼亚州

{gpavlakos, vchoutas, nghorbani, tbolkart, aosman, dtzionas, black}@tuebingen.mpg.de

#### 1. 定性结果

SMPL、SMPL+H与SMPL-X的比较：在主论文的第4.2节中，我们在表1里对不同建模能力的模型进行了定量比较。在图A.1中，我们针对EHB数据集中的一张图像，对SMPL（左）、SMPL+H（中）和SMPL-X（右）进行了类似的比较。为了公平比较，我们使用SMPLify-X的变体对所有模型进行拟合，输入均为同一张RGB图像。该图从定性角度反映了主论文表1中的相同结论：从左到右，模型的表达能力明显增强，从仅包含身体的模型（SMPL）发展到包含手部的模型（SMPL+H），再到同时包含手部和面部的模型（SMPL-X）。

整体模型与局部模型：在主论文的第4.2节和图5中，我们将整体的SMPL-X模型与针对EHB数据的仅手部建模方法[^24]进行了对比。图A.2展示了类似的定性对比结果，不过这次是基于[^24]的数据。为了进一步探究整体建模的优势，我们还重点关注头部区域，将SMPL-X拟合结果与仅头部建模方法进行比较——后者采用FLAME [^16]模型，基于2D关键点进行拟合，其流程与我们的方法类似。全身的上下文信息能够提升在遮挡或非正面视角下的头部估计精度（见图A.3）。这种优势在定量结果中也有体现：在我们的EHF数据集中，整体SMPL-X模型相比仅头部建模方法，在顶点间误差指标上提升了17%。

失败案例：图A.4展示了一些典型的失败案例；深度歧义会导致躯干姿态估计错误，或因简单的2D投影数据项而导致身体部位的深度排序估计错误。此外，被遮挡的关节会使某些身体部位缺乏约束，目前这会导致拟合失败。我们计划在未来的工作中通过在目标函数中引入可见性项来解决这一问题。

##### 2. 碰撞惩罚项

论文的第3.4节中描述了碰撞惩罚项。关于技术细节和可视化内容，读者可

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

<div style="text-align: center;">Figure A.1. Comparison of SMPL (left), SMPL+H (middle) and SMPL-X (right) on the EHB dataset, using the male models. For fair comparison we fit all models with a variation of SMPLify-X to a single RGB image. The results show a clear increase in expressiveness from let to right, as model gets richer from body-only (SMPL) to include hands (SMPL+H) or hands and face (SMPL-X).</div>

跳转至[^4] [^28]查看，但为了内容完整，我们在此也附上其数学公式。

我们首先利用包围体层次结构（BVH）[^27] 检测出一组相互碰撞的三角形C，并计算由这些三角形C及其法线$\Psi : \mathbb{R}^3 \to \mathbb{R}_+$ 定义的局部圆锥三维距离场$n \in \mathbb{R}^3$。随后，根据侵入深度对穿透现象进行惩罚，该深度可通过距离场中的位置高效计算得出。对于两个相互碰撞的三角形$f_s$ 和 $f_t$，侵入是双向的：三角形$v_t \in \mathbb{R}^3$ 的顶点$f_t$ 会作为侵入物出现在接收三角形$\Psi_{f_s}$ 的距离场$f_s$ 中，并因此受到$\Psi_{f_s}(v_t)$ 的惩罚，反之亦然。由此，碰撞项$E_C$ 被定义为

 $$ \begin{align*}E_{\mathcal{C}}(\theta)=\sum_{(f_{s}(\theta),f_{t}(\theta))\in\mathcal{C}}\bigg\{\sum_{v_{s}\in f_{s}}\|-\Psi_{f_{t}}(v_{s})n_{s}\|^{2}+\\ \sum_{v_{t}\in f_{t}}\|-\Psi_{f_{s}}(v_{t})n_{t}\|^{2}\bigg\}.\end{align*} $$

---

![Image](images/8e1446ade7b1d4dc5b4d6cd9836b4c5d5efa0adbfeb7c152ec94eddce533c9da.jpg)

![Image](images/921962a0d860255305c4c19fefd8b62108de1beb95f7f8337bf1ebcc790dad8c.jpg)

<div style="text-align: center;">Figure A.2. Comparison of the hands-only approach of [^24] (middle row) against SMPLify-X with the male SMPL-X (bottom row). Both approaches depend on OpenPose [^23]. In case of good 2D detections both perform well (left group). In case of noisy detections (right group) fitting a holistic model is more robust.</div>

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

<div style="text-align: center;">Figure A.3. Fitting SMPL-X (right) versus FLAME (middle). For minimal occlusions and frontal views (top) both methods perform well. For moderate (middle) or extreme (bottom) occlusions the body provides crucial context and improves fitting (bottom: missing FLAME model indicates a complete fitting failure).</div>

当$f_{t}$ 为侵入物而$f_{s}$ 为接收物时（相反情况同理），距离场中的圆锥形状如下

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

<div style="text-align: center;">Figure A.4. Failure cases for SMPLify-X with the female SMPL-X for expressive RGB images similar to the ones of Figures 1 and 2 of the main paper. In the left case, 2D keypoints are reasonable, but due to depth ambiguities the torso pose is wrong, while the head shape is under-estimated. In the right case, the arms and hands are occluded and due to lack of constraints the arm and hand pose is wrong. The ordinal depth for feet is estimated wrongly, while similarly to the left case the torso pose and head shape are not estimated correctly. Left: Input RGB image. Middle: Intermediate 2D keypoints from OpenPose. Right: SMPL-X fittings overlaid on the RGB image.</div>

距离场$\Psi_{f_s}$ 的定义如下

 $$ \Psi_{f_{s}}(v_{t})=\left\{\begin{aligned}&\left|(1-\Phi(v_{t}))\Upsilon(n_{f_{s}}\cdot(v_{t}-\mathbf{o}_{f_{s}}))\right|^{2}&&\Phi(v_{t})<1\\ &0&&\Phi(v_{t})\geq1\end{aligned}\right. $$

其中$\mathbf{o}_{f_s} \in \mathbb{R}^3$ 是外接圆圆心，$r_{f_s} \in \mathbb{R}_{>0}$ 是接收三角形的外接圆半径。该项

 $$ \Phi(v_{t})=\frac{\|(v_{t}-\mathbf{o}_{f_{s}})-(n_{f_{s}}\cdot(v_{t}-\mathbf{o}_{f_{s}}))n_{f_{s}}\|}{-\frac{r_{f_{s}}}{\sigma}(n_{f_{s}}\cdot(v_{t}-\mathbf{o}_{f_{s}}))+r_{f_{s}}} $$

会将顶点$v_t$ 投影到由三角形法线$n_{fs}$ 定义且经过外接圆圆心$\mathbf{o}_{fs}$ 的圆锥轴上，然后测量其到该轴的距离，该距离会按该处圆锥的半径进行缩放。若$\Phi(v) < 1$，则顶点位于圆锥内部；若$\Phi(v) = 0$，则顶点位于轴上。该项

 $$ \Upsilon(x)=\begin{cases}-x+1-\sigma&x\leq-\sigma\\-\frac{1-2\sigma}{4\sigma^{2}}x^{2}-\frac{1}{2\sigma}x+\frac{1}{4}(3-2\sigma)&x\in(-\sigma,+\sigma)\\0&x\geq+\sigma\end{cases} $$

用于衡量投影点与外接圆圆心之间的距离，以此确定惩罚的强度。当$\Upsilon(x) < 0$ 时，投影点位于三角形后方；当$x \in (-\sigma, +\sigma)$ 时，惩罚项为二次项，而当$x > |\sigma|$ 时则变为线性项。参数$\sigma$ 还定义了圆锥的视野范围。与采用毫米单位和[^4] 的[^28]、$\sigma = 0.5$ 不同，我们采用米单位和$\sigma = 0.0001$。根据我们对网格分辨率的实际测试，发现该数值既能有效惩罚穿透现象，又不会在自接触情况下过度惩罚，例如手臂搭在膝盖上。

如图A.5所示，身体的某些部位，如眼睛、脚趾、腋窝和胯部，以及运动链中的相邻部位，要么始终存在自接触现象，要么频繁出现自接触。

---

![Image](images/f44d07e82a308167b513c0fb7a6d040ecc4282a5757b22e65eb601476c11ba38.jpg)

<div style="text-align: center;">Figure A.5. For certain parts of the body, like the eyes, toes, armpits and crotch, as well as neighboring parts in the kinematic chain, there is either always or frequently self-contact. The triangles for which collisions are detected are highlighted with red (left, middle). Since the model does not model deformations due to contact, for simplicity we just ignore collisions for these areas (right).</div>

为简化起见，由于模型并未模拟接触引起的形变，我们直接忽略这些区域相邻部位之间的碰撞。我们的实际观察表明，对其他部位的碰撞检测能够解决大部分穿透问题，并有助于避免出现不符合物理规律的姿态。图A.6展示了碰撞惩罚项在优化过程中包含或排除时的效果，并列出了典型的成功与失败案例。

为提高计算效率，我们针对基于高度并行化BVH实现[^14] 的CUDA内核，开发了一个定制的PyTorch封装算子。

#### 3. 优化

论文的第3.6节介绍了优化目标函数的主要信息，下文将补充一些遗漏的细节。

为了使优化过程易于处理，我们采用了PyTorch实现以及带强Wolfe线搜索的有限内存BFGS优化器（LBFGS）[^22]。我们设置的学习率为1.0，最大迭代次数为30次。对于第3.6节中介绍的退火方案，我们分为以下三个步骤：首先采用较强的正则化以主要优化全局身体姿态$(\gamma_b = 1, \gamma_h = 0, \gamma_f = 0)$，随后逐步增强手部关键点的影响来细化手臂姿态$(\gamma_b = 1, \gamma_h = 0.1, \gamma_f = 0)$。在收敛到更优的姿态估计后，我们再增加双手和面部关键点的影响以捕捉更丰富的表现力$(\gamma_b = 1, \gamma_h = 2, \gamma_f = 2)$。在上述各步骤中，目标函数E中的权重$\lambda_\alpha, \lambda_\beta, \lambda_\varepsilon$初始时具有较强正则化作用，随后逐渐降低以实现更好的拟合。唯一的例外是$\lambda_c$，其数值会逐渐增大。

![Image](images/94e29a0913e9cb1774a2296a5940a8ac1aaac26d39f95d5aeed4e6340f8945ab.jpg)

<div style="text-align: center;">Figure A.6. Effect of the collision penalizer. The colliding triangles are highlighted to show penetrations at the end of optimization with SMPLify-X without (middle) and with (right) the collision term in the objective function. The top row shows a successful case, where optimization resolves most collisions and converges in a physically plausible pose that reflects the input image. The bottom row shows a failure case, for which arm crossing causes a lot of collisions due to self-touch. The final pose (right) is still physically plausible, but optimization gets trapped in a local minima and the pose does not reflect the input image.</div>

在$E_{J}$中，随着手部和面部关键点影响的增强，预计会出现更大的姿态变化以及更多碰撞情况。

关于优化的权重，它们是凭经验设定的，各优化阶段的具体参数会随代码一同发布。为了更深入理解，我们进行了敏感性分析：分别将每个权重$\lambda$扰动不超过$\pm25\%$。结果显示顶点间误差指标的相对变化小于6%，这说明我们的方法在较大的权重范围内都具有鲁棒性，且无需精细调参。详细结果见图A.7。

#### 4. 在“Total Capture”数据集上的定量评估

在主论文中，我们介绍了一个名为“富有表现力的手部和面部数据集”（EHF）的精选数据集，该数据集包含了身体、手部和面部的真实形状数据。

由于最相关的模型是Frank [^13]，我们也使用了该作者发布的“Total Capture”数据集[^8]，重点研究其中的“PtCloudDB”部分，该部分包含针对身体、面部和手部的伪真实数据。

---

![Image](images/ec446308197d61328beca1085dc11281ed224ed4d5d6c28dbf293a107072c458.jpg)

<div style="text-align: center;">Figure A.7. Sensitivity of the weights for the different terms of the optimization. Each weight  $\lambda$ is perturbed separately up to  $\pm25\%$. The relative changes in the vertex-to-vertex error are smaller than 6%, indicating that our approach is robust for significant weight ranges and not sensitive to fine-tuning.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td colspan="2">SMPLify-X using</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Error Joints</td><td style='text-align: center; word-wrap: break-word;'>Alignment Joints</td><td style='text-align: center; word-wrap: break-word;'>GT 2D</td><td style='text-align: center; word-wrap: break-word;'>pred 2D</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Body</td><td style='text-align: center; word-wrap: break-word;'>Body</td><td style='text-align: center; word-wrap: break-word;'>92.6</td><td style='text-align: center; word-wrap: break-word;'>117.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Body+H+F</td><td style='text-align: center; word-wrap: break-word;'>Body</td><td style='text-align: center; word-wrap: break-word;'>101.2</td><td style='text-align: center; word-wrap: break-word;'>136.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Body+H+F</td><td style='text-align: center; word-wrap: break-word;'>Body+H+F</td><td style='text-align: center; word-wrap: break-word;'>71.2</td><td style='text-align: center; word-wrap: break-word;'>93.4</td></tr></table>

<div style="text-align: center;">Table A.1. Quantitative results on the selected frames from CMU Panoptic Studio, using SMPLify-X on the 2D re-projection of the ground-truth 3D joints, and the 2D joints detected by OpenPose respectively. The numbers are mean 3D joint errors after Procrustes alignment. First, we evaluate the error on the body-only keypoints after Procrustes alignment with the ground-truth body-only keypoints (row 1). Then, we consider the same alignment using body-only keypoints, but we evaluate the joint error across all the body+hands+face keypoints (row 2). Finally, we align the prediction using all body+hands+face keypoints and we report the mean error across all of them (row 3).</div>

这些伪真实数据是通过利用OpenPose [^23]从多视角进行三角测量得到的3D关节检测结果。我们根据图像中身体的可见程度、有趣的手部姿态以及面部表情，筛选出了200张图像。下文我们将这些数据称为“全身手部与面部”（THF）数据集。图A.8展示了THF部分数据的定性结果：每组图像中，第一行显示参考RGB图像，第二行显示使用伪真实OpenPose关键点（投影为2D以供我们的方法使用）的SMPLify-X结果，第三行则显示使用通过[^23]估算出的2D OpenPose关键点的SMPLify-X结果。该数据集的定量结果见表A.1。

#### 5. 在Human3.6M数据集上的定量评估

在主文中（表1），我们证明了仅用3D身体关节来评估重建精度，并不能反映模型的精度和细节表现水平。

<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;'>Mean (mm)</td><td style='text-align: center; word-wrap: break-word;'>Median (mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify [^5]</td><td style='text-align: center; word-wrap: break-word;'>82.3</td><td style='text-align: center; word-wrap: break-word;'>69.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify-X</td><td style='text-align: center; word-wrap: break-word;'>75.9</td><td style='text-align: center; word-wrap: break-word;'>60.8</td></tr></table>

<div style="text-align: center;">Table A.2. Quantitative results on the Human3.6M dataset [^10]. The numbers are mean 3D joint errors after Procrustes alignment. We use the evaluation protocol of [^5].</div>

该方法可以重建人体姿态。不过，许多方法确实会基于3D关节指标进行定量评估，因此在此我们将我们的结果与SMPLify [^5]进行比较，以证明我们的方法不仅更自然、更具表现力且细节更丰富，而且在常用指标上的结果也更准确。在表A.2中，我们展示了使用Human3.6M [^10]数据集得到的结果。我们遵循与[^5]相同的协议，并在与真实3D姿态进行Procrustes对齐后报告结果。尽管有多个因素使得我们的方法优于SMPLify，而本次实验并未说明其中哪个因素更为重要（关于这一点，我们建议读者参考主文档中的表2所呈现的消融研究），但即便采用这种基于3D关节的粗略指标，我们的表现仍优于原始的SMPLify。

##### 6. 在MPII数据集上的定性评估

在图A.14中，我们展示了在MPII数据集 [^3] 上的定性结果。对于该数据集，我们还纳入了一些分辨率较低、被严重遮挡或裁剪的人物样本。

##### 7. 模型

在主文档的3.1节中，我们介绍了SMPL-X模型。该模型的形状空间是在CAESAR数据库 [^26] 上训练的。在图A.9中，我们展示了所解释的方差百分比随所用PCA成分数量的变化情况。仅用10个主成分，所有模型就能解释超过95%的方差。

我们进一步在包含不同姿势的男性和女性受试者共180组对齐数据的测试集上对该模型进行评估。男性模型在男性对齐数据上进行评估，女性模型在女性对齐数据上进行评估，而性别中性模型则在男性和女性对齐数据上均进行评估。我们统计了模型对齐的顶点到顶点（v2v）平均绝对误差随所用主成分数量的变化情况，如图A.10所示。

#### 8. VPoser

在主文档的3.3节中，我们介绍了一种新的人体姿态参数化方式以及针对该参数化的先验知识，也就是VPoser。在本节中，我们将详细介绍数据准备和实现细节。

---

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

![Image](images/acefcb8d017e982a41545056d4567cadf3eb9975ef101c1987aef8535abcf9ec.jpg)

<div style="text-align: center;">Figure A.8. Qualitative results on some of the data of the "total capture" dataset [^8], focusing on the "PtCloudDB" part that includes pseudo ground-truth for all body, face and hands. We curate and pick 200 images, according to degree of body coverage in the image and interesting hand poses and facial expressions. We refer to this data as "total hands and faces" dataset (THF). Top row: Reference RGB image. Middle row: SMPLify-X results using pseudo ground-truth OpenPose keypoints (3D keypoints of [^8]) estimated from multiview and projected on 2D). Bottom row: SMPLify-X results using 2D OpenPose keypoints estimated with [^23]. Gray color depicts the gender-specific model for confident gender detections. Blue is the gender-neutral model that is used when the gender classifier is uncertain.</div>

---

![Image](images/b9d3dbfe04b02b2628c5cd6ed2f836eef1e1ff4ef9163e52f9f55a0eeead70a0.jpg)

<div style="text-align: center;">Figure A.9. Cumulative relative variance of the CAESAR dataset explained as a function of the number of shape coefficients for three SMPL-X models: male, female, gender neutral model.</div>

![Image](images/801a3948b8f9c325a1dc1c5fc2af77584f4a585b32be17b3f643171c573edac2.jpg)

<div style="text-align: center;">Figure A.10. Evaluating SMPL-X generalization on a held out test set of male and female 3D alignments.</div>

##### 8.1. 数据准备

我们以CMU [^19]、Human3.6M [^21]和PosePrior [^7]的人类运动序列中提取出的SMPL人体姿态参数 [^10] [^2] 作为数据集。随后，我们选取Human3.6M数据集中第9号和第11号受试者的参数作为测试集。我们从训练集中随机选取5%的数据作为验证集，利用它来保存验证损失最小的模型快照。我们选择矩阵旋转作为姿态参数化方式。

![Image](images/d791bbbacd866d14667b6d63106d43d362703bec00982d719445d4ebf78c8160.jpg)

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

<div style="text-align: center;">(b) Test mode.</div>

<div style="text-align: center;">Figure A.11. VPoser model in different modes. For training the network consists of an encoder and a decoder. For testing we use the latent code instead of the body pose parameters, i.e.  $\theta_{b}$, of SMPL-X, which are described in Section 3.1 of the main paper. By “inverse Rodrigues” we note the conversion from a rotation matrix to an axis-angle representation for posing SMPL-X.</div>

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

<div style="text-align: center;">Figure A.12. Gender classifier results on the test set. From left to right column: Successful predictions, predictions discarded due to low confidence(<0.9), failure cases.</div>

##### 8.2. 实现细节

在实现过程中，我们使用了TensorFlow [^1]，之后又将训练好的模型和权重迁移到PyTorch [^25]中。图A.11展示了训练和测试阶段的网络架构。我们仅使用全连接层，并采用LReLU [^20]非线性激活函数，同时保持编码器和解码器的对称性——

---

编码器包含两层各具有 512 个单元的密集层，随后是一层用于计算变分自编码器后验正态分布均值的密集层，以及另一层用于计算方差的密集层。解码器的权重形状与编码器相同，只是顺序相反。我们采用 ADAM 优化器 [^15]，通过更新网络权重来最小化主论文中公式 5 所定义的损失。我们根据经验选取损失权重值分别为：$c_1 = 0.005$、$c_2 = 1.0 - c_2$、$c_3 = 1.0$、$c_4 = 1.0$、$c_5 = 0.0005$。针对以下学习率：[5e-4、1e-4、5e-5]，我们分别训练 60 个周期。

训练完成后，潜空间会描述一个由物理上合理的人体姿态构成的流形，该流形可用于高效的 2D 到 3D 姿态还原。图 A.13 展示了从模型潜空间中抽取的一些随机样本。

### 9. 性别分类器

图 A.12 展示了性别分类器在测试集上的部分定性结果。

##### 9.1. 训练数据

在训练数据方面，我们使用了 LSP [^11]、LSP-extended [^12]、MPII [^3]、MS-COCO [^18]、LIP [^17] 数据集，并遵循它们原有的训练集和测试集划分方式。为了整理用于性别标注的数据，我们提取人物周围的紧密裁剪图像，仅保留那些头部、躯干及每个肢体处至少有一个置信度较高的可见关节的图像。我们还排除了尺寸小于 $200 \times 200$ 像素的裁剪图像。收集到的样本通过 Amazon Mechanical Turk 进行性别标注。每张图像由两名标注员标注，我们仅保留标签一致的图像。

##### 9.2. 实现细节

在实现过程中，我们使用基于 TensorFlow [^6] 后端的 Keras [^1]。我们采用预训练的 ResNet18 [^9] 进行特征提取，再为其添加全连接层以构建分类器。我们采用交叉熵损失函数，并加入权重的 L2 正则化项。为使图像适配 ResNet18 $224 \times 224$ 架构，每个数据样本会被缩放至 [^9] 像素大小。我们首先使用以下学习率 $[1e^{-3}, 1e^{-4}, 1e^{-5}, 1e^{-6}]$ 分别训练最终的全连接层两个周期；之后，整个网络会使用这些学习率 [5e^{-5}、1e^{-5}、1e^{-6}、1e^{-7}] 进行端到端的微调，共两个周期。优化过程采用 Adam 优化器 [^15]。

披露声明：MJB 曾收到来自英特尔、英伟达、Adobe、Facebook 和亚马逊的研究资助。虽然 MJB 是亚马逊的兼职员工，但他的研究完全在 MPI 进行且资金也全部来自 MPI。MJB 在亚马逊和 Meshcapade GmbH 拥有经济利益。

---

![Image](images/86f3524cb1f2fc55e7336a8ea8bb0a34800bafd846e3a37d6f48cb38b420ebc6.jpg)

<div style="text-align: center;">Figure A.13. Random pose samples from the latent space of VPoser. We sample from a 32 dimensional normal distribution and feed the value to the decoder of VPoser; shown in Figure A.11b. SMPL is then posed with the decoder output, after conversion to an axis-angle representation.</div>

---

![Image](images/e39ea4cc2c54abcfa50eedb513ca3e5fbd616455733ffa0d2d00dd9c294377a3.jpg)

![Image](images/8c7b2e1d6b4339f8bd298669590e63642ff0b95982a473c29f27d27e332e5374.jpg)

![Image](images/e208123f697e8b6932a5d3029abe4a6438fe85e15ac74f1b5bdf90ac66643001.jpg)

<div style="text-align: center;">Figure A.14. Qualitative results of SMPLify-X with SMPL-X on the MPII dataset [^3]. In this figure we also include images with some heavily occluded or cropped bodies. Gray color depicts the gender-specific model for confident gender detections. Blue is the gender-neutral model that is used when the gender classifier is uncertain or when cropping does not agree with the filtering criterion described in subsection 9.1.</div>

---

![Image](images/51307fdf7a1f5bd9abe2f41fa9cacb7ed9412701a382344353c73cde6b338d05.jpg)

<div style="text-align: center;">Figure A.15. Results of SMPLify-X fitting for the LSP dataset. For each group of images we compare two body priors; the top row shows a reference RGB image, the bottom row shows results of SMPLify with VPoser, while the middle row shows results for which VPoser is replaced with the GMM body pose prior of SMPLify [^5]. To eliminate factors of variation, for this comparison we use the gender neutral SMPL-X model.</div>

---

### 参考文献

[^1]: Martín Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, et al. Tensorflow: A system for large-scale machine learning. In OSDI, volume 16, pages 265–283, 2016. 6, 7

[^2]: Ijaz Akhter and Michael J. Black. Pose-conditioned joint angle limits for 3D human pose reconstruction. In CVPR, 2015. 6

[^3]: Mykhaylo Andriluka, Leonid Pishchulin, Peter Gehler, and Bernt Schiele. 2D human pose estimation: New benchmark and state of the art analysis. In CVPR, 2014. 4, 7, 9

[^4]: Luca Ballan, Aparna Taneja, Juergen Gall, Luc Van Gool, and Marc Pollefeys. Motion capture of hands in action using discriminative salient points. In ECCV, 2012. 1,2

[^5]: Federica Bogo, Anvi-va, Christoph Lassner, Peter Gehler, Javier Black. Keep it SMPL: Auto be from a

[^6]: François Chollet et al. Keras. <https://keras.io>, 2015.

[^7]: CMU. CMU MoCap dataset. 6

[^8]: Total Capture Dataset. <http://domedb.perception.cs.cmu.edu.3.5>

[^9]: Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In CVPR, 2016.7

[^10]: Catalin Ionescu, Dragos Papava, Vlad Olaru, and Cristian Sminchisescu. Human3.6M: Large scale datasets and predictive methods for 3D human sensing in natural environments. PAMI, 36(7):1325–1339, 2014. 4, 6

[^11]: Sam Johnson and Mark Everingham. Clustered pose and nonlinear appearance models for human pose estimation. In BMVC, 2010. 7

[^12]: Sam Johnson and Mark Everingham. Learning effective human pose estimation from inaccurate annotation. In CVPR, 2011.7

[^13]: Hanbyul Joo, Tomas Simon, and Yaser Sheikh. Total capture: A 3D deformation model for tracking faces, hands, and bodies. In CVPR, 2018. 3

[^14]: Tero Karras. Maximizing parallelism in the construction of BVHs, Octrees, and K-d trees. In Proceedings of the Fourth ACM SIGGRAPH / Eurographics Conference on High-Performance Graphics, pages 33–37, 2012. 3

[^15]: Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR, 2015. 7

[^16]: Tianye Li, Timo Bolkart, Michael J Black, Hao Li, and Javier Romero. Learning a model of facial shape and expression from 4D scans. ACM Transactions on Graphics (TOG), 36(6):194, 2017. 1

[^17]: Xiaodan Liang, Chunyan Xu, Xiaohui Shen, Jianchao Yang, Si Liu, Jinhui Tang, Liang Lin, and Shuicheng Yan. Human parsing with contextualized convolutional neural network. In ICCV, 2015. 7

[^18]: Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár, and C Lawrence

Zitnick. Microsoft COCO：上下文中的常见物体。载于 ECCV，2014年。第7页。

[^19]: Matthew Loper, Naureen Mahmood, and Michael J Black. MoSh: Motion and shape capture from sparse markers. ACM Transactions on Graphics (TOG), 33(6):220, 2014. 6

[^20]: Andrew L Maas, Awni Y Hannun, and Andrew Y Ng. Rectifier nonlinearities improve neural network acoustic models. In ICML Workshops, 2013. 6

[^21]: Naureen Mahmood, Nima Ghorbani, Nikolaus F. Troje, Gerard Pons-Moll, and Michael J. Black. AMASS: Archive of motion capture as surface shapes. arXiv:1904.03278, 2019. 6

[^22]: Jorge Nocedal and Stephen Wright. Numerical Optimization. Springer, New York, 2nd edition, 2006. 3

[^23]: OpenPose. <https://github.com/CMU-Perceptual-Computing-Lab/openpose>. 2,4,5

[^24]: Paschalis Panteleris, Iason Oikonomidis, and Antonis Argyros. Using a single RGB frame for real time 3D hand pose estimation in the wild. In WACV, 2018. 1, 2

[^25]: Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga, and Adam Lerer. Automatic differentiation in pyTorch. In NIPS-W, 2017. 6

[^26]: Kathleen M. Robinette, Sherri Blackwell, Hein Daanen, Mark Boehmer, Scott Fleming, Tina Brill, David Hoeferlin, and Dennis Burnsides. Civilian American and European Surface Anthropometry Resource (CAESAR) final report. Technical Report AFRL-HE-WP-TR-2002-0169, US Air Force Research Laboratory, 2002. 4

[^27]: Matthias Teschner, Stefan Kimmerle, Bruno Heidelberger, Gabriel Zachmann, Laks Raghupathi, Arnulph Fuhrmann, Marie-Paule Cani, François Faure, Nadia Magnenat-Thalmann, Wolfgang Strasser, and Pascal Volino. Collision detection for deformable objects. In Eurographics, 2004. 1

[^28]: Dimitrios Tzionas, Luca Ballan, Abhilash Srikantha, Pablo Aponte, Marc Pollefeys, and Juergen Gall. Capturing hands in action using discriminative salient points and physics simulation. IJCV, 118(2):172–193, 2016. 1,2
