
# Pose2Mesh：基于图卷积网络的从2D人体姿态恢复3D人体姿态与网格模型

Hongsuk Choi $^{*}$、Gyeongsik Moon $^{*}$ 和 Kyoung Mu Lee

韩国首尔大学ECE与ASRI实验室 {redarknight,mks0601,kyoungmu}@snu.ac.kr

摘要：近期大多数基于深度学习的3D人体姿态与网格估计方法，都是从输入图像中回归出SMPL、MANO等人体网格模型的姿态与形状参数。这类方法存在两个缺陷：其一为外观域差异问题，即训练数据来自实验室等受控环境，而测试数据来自真实场景，两者间的图像外观存在差异；其二由于3D旋转的表示问题，姿态参数的估计难度较大。为解决上述缺陷，我们提出了Pose2Mesh——一种新型的基于图卷积神经网络（GraphCNN）的系统，它可直接根据2D人体姿态估计人体网格顶点的3D坐标。作为输入的2D人体姿态提供了关键的人体关节活动信息，且两类数据间的几何特性相对一致。此外，所提出的系统避免了表示问题，同时能以由粗到精的方式利用GraphCNN充分挖掘网格拓扑结构的信息。实验表明，在各种基准数据集上，我们的Pose2Mesh均优于以往的3D人体姿态与网格估计方法。相关代码已公开 $^{1}$。

## 1 引言

3D人体姿态与网格估计旨在同时恢复3D人体关节和网格顶点的位置。由于存在深度与尺度歧义，以及复杂的人体及手部关节活动，这一任务极具挑战性。针对该问题已有多种解决方案，近年来基于深度学习的方法取得了显著的性能提升。

大多数基于深度学习的方法都依赖SMPL [^37] 和 MANO [^54] 等人体网格模型。这些方法大致可分为基于模型的方法和无模型方法。基于模型的方法通过训练网络来预测模型参数，再通过解码这些参数生成人体网格[5-7, 27, 31, 33, 47, 48, 52]；相反，无模型方法则直接回归3D人体网格的坐标 [^15] [^32]。这两种

---

![Image](images/12482d4ac53811abd63aaeae862385f2ee9ea2a3bf4bb66499d40dacf50e0eaa.jpg)

<div style="text-align: center;">Fig. 1: The overall pipeline of Pose2Mesh.</div>

方法都是通过将输出的网格与人体网格模型中定义的关节回归矩阵相乘，来计算3D人体姿态 [^37] [^54]。

尽管近期基于深度学习的方法取得了显著进步，但它们仍存在两大缺陷。首先，在真实场景数据上测试时，这些方法本质上会受到受控环境与真实场景数据之间的外观域差异影响。来自受控环境的数据[^22] [^26]是三维人体姿态估计的宝贵训练数据，因为它们具有精确的三维标注。然而，由于两个领域在图像外观上存在显著差异（如背景和服装），基于图像的方法无法充分利用这些数据。第二个缺陷在于，人体网格模型的姿态参数可能并非合适的回归目标，正如Kolotouros等人所指出的那样[^32]。例如，SMPL姿态参数采用轴角表示法来描述三维旋转，这种方式会面临非唯一性问题（即周期性）。尽管许多研究[^27] [^33] [^47]试图通过使用旋转矩阵作为预测目标来避免周期性问题，但该方法仍存在表示不简洁的缺陷。

为解决上述问题，我们提出了Pose2Mesh——一种无需模型的图卷积系统，能够从二维人体姿态恢复三维人体姿态与网格。相较于现有方法，它具有两大优势。首先，所提出的系统利用了来自受控环境和真实场景的输入二维姿态相对均匀的几何特性。这不仅缓解了外观域差异问题，还提供了关于人体关节的重要几何信息。此外，由于许多性能优异的方法[^11] [^44] [^58] [^66]都是在大规模真实场景二维人体姿态数据集[^2] [^35]上训练的，因此二维姿态能够从真实场景图像中准确估计出来。第二大优势在于，Pose2Mesh避免了姿态参数的表示问题，同时充分利用了人体网格的拓扑结构（即面和边的信息）。它利用基于网格拓扑构建的图，通过图卷积神经网络（GraphCNN）直接回归网格顶点的三维坐标。

我们采用级联架构设计Pose2Mesh，它由PoseNet和MeshNet组成。PoseNet将二维人体姿态映射到三维人体姿态；MeshNet则同时利用二维和三维人体姿态，以由粗到精的方式估计三维人体网格。在前向传播过程中，网格特征最初以较粗的分辨率进行处理，随后逐步上采样为精细分辨率。图1展示了该系统的整体流程。

---

实验结果表明，所提出的Pose2Mesh在各种公开可用的三维人体及手部数据集[^27] [^31] [^32]上，均优于以往最先进的三维人体姿态与网格估计方法[^22] [^39] [^70]。尤其值得一提的是，即便仅在受控环境数据集[^39]上训练，我们的Pose2Mesh在真实场景数据集[^22]上仍能取得最先进的成果。

我们将自己的贡献总结如下。

- 我们提出了一种新颖的系统Pose2Mesh，能够从二维人体姿态恢复三维人体姿态与网格。输入的二维人体姿态使Pose2Mesh能够有效应对受控环境与真实场景数据之间的外观域差异问题。

- 我们的Pose2Mesh利用GraphCNN直接回归人体网格的三维坐标。它既避免了模型参数的表示问题，又充分利用了预定义的网格拓扑结构。

- 我们证明，Pose2Mesh在各类公开数据集上的表现优于以往的3D人体姿态与网格估计方法。

## 2 相关工作

3D人体姿态估计。根据输入类型的不同，当前的3D人体姿态估计方法可分为两类：基于图像的方法和基于2D姿态的方法。基于图像的方法以RGB图像为输入来进行3D人体姿态估计。Sun等人[^59]提出使用利用关节连接结构的组合损失函数；Sun等人[^60]采用软argmax操作，以可微的方式回归人体关节的3D坐标；Sharma等人[^56]引入生成模型以及关节的深度排序机制，从而预测出与估计出的2D姿态相对应的、最可靠的3D姿态。

基于2D姿态的方法则是将2D人体姿态映射到3D空间。Martinez等人[^40]提出了一种由连续全连接层构成的简单网络，用于将2D人体姿态映射到3D空间。Zhao等人[^68]开发了语义GraphCNN，用以利用关节坐标之间的空间关系。我们的工作采用基于2D姿态的方法，旨在让Pose2Mesh对训练集的受控环境与测试集的自然场景环境之间的域差异更具鲁棒性。

3D人体与手部姿态及网格估计。基于模型的方法会训练神经网络来估计人体网格模型参数[^37] [^54]。由于该方法不一定需要3D标注数据来进行网格监督，因此已被广泛应用于3D人体网格估计。Pavlakos等人[^52]提出了一种仅通过2D关节坐标和轮廓进行监督的系统；Omran等人[^47]训练了一个以2D关节坐标为输入、并接收人体部位分割信息的网络；Kanazawa等人[^27]利用对抗损失来回归合理的SMPL参数；Baek等人[^5]训练了CNN，借助神经渲染器来估计MANO模型的参数[^29]；Kolotouros等人[^31]提出了一种自我改进系统，该系统由SMPL参数回归器和迭代拟合框架组成[^6]。

---

近年来，拟合框架[^6] [^50]的发展推动了无模型方法的出现，这类方法可直接估计人体网格坐标。这使得研究人员能够从自然场景数据中获取无模型方法所需的3D网格标注数据。Kolotouros等人[^32]提出了一种GraphCNN，用于学习模板人体网格到目标人体网格的形变过程；Ge等人[^15]采用GraphCNN来估计手部网格的顶点；Moon等人[^45]提出了一种名为lixel的新热图表示方式，用于恢复3D人体网格。

我们的Pose2Mesh与上述基于图像的方法不同，它采用2D人体姿态作为输入。所提出的系统能够充分利用来自受控环境的、带有3D标注的数据[^22] [^26]，且不存在外观域差异问题。

用于网格处理的GraphCNN。近年来，许多方法将网格视为图结构，并使用GraphCNN进行处理，因为与简单的堆叠式全连接层相比，它能充分利用网格的拓扑信息。Wang等人[^65]采用GraphCNN，以由粗到精的方式从初始椭球网格学习到目标物体网格的形变过程。Verma等人[^63]针对形状对应问题提出了一种新颖的图卷积算子。Ranjan等人[^53]也提出了基于GraphCNN的VAE，能够以分层方式学习人脸网格的潜在空间。

## 3 PoseNet

### 3.1 在输入的2D姿态上合成误差

PoseNet根据2D姿态估计根关节相关的3D姿态$\mathbf{P}^{3D} \in \mathbb{R}^{J \times 3}$，其中J表示人体关节的数量。我们将人体的根关节定义为骨盆，手部根关节定义为手腕。所估计的2D姿态通常包含误差[^55]，尤其是在严重遮挡或姿态复杂的情况下。为使PoseNet对这类误差具有鲁棒性，我们在训练阶段按照[^10]和[^44]的方法，在真实2D姿态上添加真实的误差来合成2D输入姿态。我们将估计的2D姿态或合成的2D姿态表示为$\mathbf{P}^{2D} \in \mathbb{R}^{J \times 2}$。

### 3.2 2D输入姿态归一化

我们按照$\mathbf{P}^{2\mathrm{D}}$和[^10]的方法，对[^64]进行标准归一化处理。具体做法是：从$\mathbf{P}^{2\mathrm{D}}$中减去均值，再除以标准差，得到的结果即为$\bar{\mathbf{P}}^{2\mathrm{D}}$。$\mathbf{P}^{2\mathrm{D}}$的均值和标准差分别代表了受试者的2D位置和尺度。这种归一化是必要的，因为$\mathbf{P}^{3\mathrm{D}}$与2D输入姿态$\mathbf{P}^{2\mathrm{D}}$的尺度和位置无关。

### 3.3 网络架构

PoseNet的架构基于[^10]和[^40]提出的模型。归一化后的2D输入姿态$\mathbf{P}^{2D}$通过全连接层被转换为一个4096维的特征向量，随后被送入两个残差块[^21]。最后，残差块输出的特征向量通过全连接层被转换为一个(3J)维的向量，该向量即代表$\mathbf{P}^{3D}$。

---

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

<div style="text-align: center;">Fig.2: The coarsening initially generates multiple coarse graphs from  $\mathcal{G}_{M}$, and adds fake nodes without edges to each graph, following [^13]. The numbers of vertices range from 96 to 12288 for body meshes and from 68 to 1088 for hand meshes.</div>

![Image](images/c4db08734067b6883aca0c7e82d74c0871d86dce920de9be3a07772e25ea3d67.jpg)

<div style="text-align: center;">Fig. 3: The network architecture of MeshNet.</div>

### 3.4 损失函数

我们通过最小化预测的3D姿态$L_1$与真实值之间的$\mathbf{P}^{3D}$距离来训练PoseNet。损失函数$L_{pose}$定义如下：

 $$ \begin{array}{r}{L_{\mathrm{p o s e}}=\|\mathbf{P}^{\mathrm{3D}}-\mathbf{P}^{\mathrm{3D}^{*}}\|_{1},}\end{array} $$

其中星号表示真实值。

## 4 MeshNet

### 4.1 基于姿态的图卷积

MeshNet将$\mathbf{P}^{2D}$和$\mathbf{P}^{3D}$拼接成$\mathbf{P} \in \mathbb{R}^{J \times 5}$，随后从$\mathbf{M} \in \mathbb{R}^{V \times 3}$中估计根关节相关的3D网格$\mathbf{P}$，其中V表示人体网格顶点的数量。为此，MeshNet采用了谱图卷积[^8]和[^57]，其定义可以表述为：在傅里叶域中，信号$x \in \mathbb{R}^N$与滤波器$g_\theta = \text{diag}(\theta)$相乘，具体如下：

 $$ g_{\theta}\ast x=U g_{\theta}U^{T}x, $$

---

其中，图傅里叶基U是归一化图拉普拉斯矩阵L的特征向量矩阵[^12]，而$U^T x$表示x的图傅里叶变换。具体来说，为了降低计算复杂度，我们设计MeshNet使其基于切比雪夫谱图卷积[^13]。

图的构建。我们构建了由$\mathbf{P}$和$\mathcal{G}_P = (\mathcal{V}_P, A_P)$构成的图，其中$\mathcal{V}_P = \mathbf{P} = \{\mathbf{p}_i\}_{i=1}^J$是一组J个人体关节，$A_P \in \{0,1\}^{J \times J}$是邻接矩阵。$A_P$根据人体骨骼和对称关系定义关节间的边连接[^9]：若关节i和j相同或相连，则$(A_P)_{ij} = 1$；否则$(A_P)_{ij} = 0$。归一化拉普拉斯矩阵的计算公式为$L_P = I_J - D_P^{-1/2} A_P D_P^{-1/2}$，其中$I_J$是单位矩阵，$D_P$是表示$\mathcal{V}_P$中每个关节度的对角矩阵，即$(D_P)_{ij} = \sum_j (A_P)_{ij}$。缩放后的拉普拉斯矩阵计算公式为$\tilde{L}_P = 2L_P / \lambda_{\max} - I_J$。图上的谱卷积。随后，MeshNet对$\mathcal{G}_P$执行谱图卷积，其定义如下：

 $$ F_{\mathrm{o u t}}=\sum_{k=0}^{K-1}T_{k}\big(\tilde{L}_{\mathrm{P}}\big)F_{\mathrm{i n}}\boldsymbol{\varTheta}_{k}, $$

其中，$F_{\text{in}} \in \mathbb{R}^{J \times f_{\text{in}}}$和$F_{\text{out}} \in \mathbb{R}^{J \times f_{\text{out}}}$分别为输入和输出特征图，$T_k(x) = 2x T_{k-1}(x) - T_{k-2}(x)$是阶数为k的切比雪夫多项式[^18]，$\Theta_k \in \mathbb{R}^{f_{\text{in}} \times f_{\text{out}}}$是第k个切比雪夫系数矩阵，其元素为图卷积层的可训练参数。$f_{\text{in}}$和$f_{\text{out}}$分别为输入和输出特征维度。实际的初始输入特征图$F_{\text{in}}$即为$\mathbf{P}$，其中$f_{\text{in}} = 5$。这种图卷积具有K阶局部性，意味着每个节点最多受K跳邻居节点的影响[^13] [^30]，因为它是拉普拉斯矩阵中的K阶多项式。按照$K = 3$的建议，我们的MeshNet为所有图卷积层设置[^15]。

### 4.2 从粗到细的网格上采样

我们逐步将$\mathcal{G}_P$上采样为由$\mathbf{M}$和$\mathcal{G}_\mathrm{M} = (\mathcal{V}_\mathrm{M}, A_\mathrm{M})$构成的图，其中$\mathcal{V}_\mathrm{M} = \mathbf{M} = \{\mathbf{m}_i\}_{i=1}^V$是一组V个人体网格顶点，$A_\mathrm{M} \in \{0,1\}^{V \times V}$是定义人体网格边的邻接矩阵。为此，我们对[^14]应用图粗化$\mathcal{G}_\mathrm{M}$技术，从而生成不同分辨率的图$\{\mathcal{G}_\mathrm{M}^c = (\mathcal{V}_\mathrm{M}^c, A_\mathrm{M}^c)\}_{c=0}^C$，其中C表示粗化步骤数，这一做法参考了Defferrard等人的方法[^13]。图2展示了粗化过程以及网格图的平衡二叉树结构：$\mathcal{G}_\mathrm{M}^{c+1}$中的第i个顶点是$2i-1$号和$2i$号顶点在$\mathcal{G}_\mathrm{M}^c$中的父节点，且$2|\mathcal{V}_\mathrm{M}^{c+1}| = |\mathcal{V}_\mathrm{M}^c|$，i从1开始计数。MeshNet的最终输出为$\mathcal{V}_\mathrm{M}$，它由$\mathcal{V}_\mathrm{M}^0$通过预定义的索引映射转换而来。在前向传播过程中，MeshNet首先通过重塑操作和全连接层将$\mathcal{G}_P$上采样为最粗的网格图$\mathcal{G}_\mathrm{M}^C$，随后对各分辨率的网格图执行谱图卷积，具体如下：

 $$ F_{\mathrm{o u t}}=\sum_{k=0}^{K-1}T_{k}\big(\tilde{L_{\mathrm{M}}^{c}}\big)F_{\mathrm{i n}}\boldsymbol{\varTheta}_{k}, $$

---

其中，$L_{M}^{c}$表示$\mathcal{G}_{M}^{c}$的缩放拉普拉斯矩阵，其他符号的定义与公式3中的一致。按照[^15]的建议，MeshNet通过将$\mathcal{G}_{M}^{c+1}$中每个父顶点的特征复制到$\mathcal{G}_{M}^{c}$中对应的子顶点上来完成网格上采样。上采样过程定义如下：

 $$ \begin{array}{r}{F_{c}=\psi(F_{c+1}^{T})^{T},}\end{array} $$

其中，$F_c \in \mathbb{R}^{V_M^c \times f_c}$ 是 $\mathcal{G}_M^c$ 的第一个特征图，$F_{c+1} \in \mathbb{R}^{V_M^{c+1} \times f_{c+1}}$ 是 $\mathcal{G}_{M,c}^{c+1}$ 的最后一个特征图，$\psi: \mathbb{R}^{f_{c+1} \times V_M^{c+1}} \to \mathbb{R}^{f_{c+1} \times V_M^c}$ 表示最近邻上采样函数，而 $f_c$ 和 $f_{c+1}$ 分别是 $F_c$ 与 $F_{c+1}$ 中顶点的特征维度。最近邻上采样函数会将 $\mathcal{G}_M^{c+1}$ 中第 i 个顶点的特征复制到 $2i-1$ 中的第 $2i$ 个和第 $\mathcal{G}_M^c$ 个顶点上。为了促进学习过程，我们还在不同分辨率之间加入了残差连接。图 3 展示了 MeshNet 的整体架构。

### 4.3 损失函数

为了训练我们的 MeshNet，我们使用了四种损失函数。

顶点坐标损失。我们最小化预测的 3D 网格坐标 M 与真实值之间的 $L_{1}$ 距离，其定义如下：

 $$ \begin{array}{r}{L_{\mathrm{v e r t e x}}=\|\mathbf{M}-\mathbf{M}^{*}\|_{1},}\end{array} $$

其中星号表示真实值。

关节坐标损失。我们利用 $L1$ 损失函数来衡量真实的根部相对 3D 姿态与从 $\mathbf{M}$ 回归得到的 3D 姿态之间的差异，从而训练 MeshNet 以估计与关节位置对齐的网格顶点。3D 姿态的计算方式为 $\mathcal{J}\mathbf{M}$，其中 $\mathcal{J} \in \mathbb{R}^{J \times V}$ 是在 SMPL 或 MANO 模型中定义的关节回归矩阵。损失函数定义如下：

 $$ \begin{array}{r}{L_{\mathrm{j o i n t}}=\Vert\mathcal{I}{\bf M}-{\bf P}^{\mathrm{3D}^{*}}\Vert_{1},}\end{array} $$

表面法向损失。我们约束输出网格表面的法向量与真实值保持一致。这种一致性损失能够提升表面的平滑度和局部细节 [^65]。损失函数 $L_{normal}$ 的定义如下：

其中星号表示真实值。

 $$ {\cal L}_{\mathrm{n o r m a l}}=\sum_{f}\sum_{\{i,j\}\subset f}\left|\left\langle\frac{\mathbf{m}_{i}-\mathbf{m}_{j}}{\|\mathbf{m}_{i}-\mathbf{m}_{j}\|_{2}},n_{f}^{*}\right\rangle\right|, $$

其中 f 和 $n_{f}^{*}$ 分别表示人体网格中的三角形面片以及 f 对应的真实单位法向量。$\mathbf{m}_{i}$ 和 $\mathbf{m}_{j}$ 分别表示 f 中的第 i 个和第 j 个顶点。

表面边缘损失。我们按照 [^65] 的定义，在预测边缘与真实边缘之间定义边缘长度一致性损失。这种边缘损失在恢复手部、脚部和嘴巴等顶点密集区域的平滑性方面效果显著。损失函数 $L_{edge}$ 的定义如下：

 $$ {\cal L}_{\mathrm{e d g e}}=\sum_{f}\sum_{\{i,j\}\subset f}|\|{\bf m}_{i}-{\bf m}_{j}\|_{2}-\|{\bf m}_{i}^{*}-{\bf m}_{j}^{*}\|_{2}|, $$

---

其中 f 和星号分别表示人体网格中的三角形面片及真实值。$\mathbf{m}_{i}$ 和 $\mathbf{m}_{j}$ 分别表示 f 中的第 i 个和第 j 个顶点。

我们将 MeshNet 的总损失 $L_{mesh}$ 定义为这四种损失函数的加权和：

 $$ L_{\mathrm{m e s h}}=\lambda_{\mathrm{v}}L_{\mathrm{v e r t e x}}+\lambda_{\mathrm{j}}L_{\mathrm{j o i n t}}+\lambda_{\mathrm{n}}L_{\mathrm{n o r m a l}}+\lambda_{\mathrm{e}}L_{\mathrm{e d g e}}, $$

其中 $\lambda_{v}=1$、$\lambda_{j}=1$、$\lambda_{n}=0.1$ 和 $\lambda_{e}=20$。

## 5 实现细节

PyTorch [^49] 被用于实现。我们首先对PoseNet进行预训练，然后以端到端的方式训练整个网络Pose2Mesh。实验表明，这种两步训练策略的性能优于一步训练策略。权重通过Rmsprop优化算法 [^61] 更新，小批量大小为64。我们用学习率 $10^{-3}$ 对PoseNet进行60个周期的预训练；第30个周期之后，学习率会缩小为原来的十分之一。将预训练的PoseNet集成到Pose2Mesh后，我们以学习率 $10^{-3}$ 训练整个网络15个周期，第12个周期之后学习率同样会缩小为原来的十分之一。此外，在第二训练阶段的前7个周期内，我们将 $\lambda_e$ 设为0，因为该参数在训练初期容易引发局部最优解。我们使用四块NVIDIA RTX 2080 Ti GPU进行Pose2Mesh的训练，耗时最少半天，最多两天半，具体取决于训练数据集的大小。推理阶段，我们采用Sun等人 [^58] 和Xiao等人 [^66] 输出的2D姿态结果；他们的算法运行速率分别为5帧/秒和67帧/秒，而我们的Pose2Mesh运行速率为37帧/秒。因此，所提出的系统实际处理速度可达4帧/秒至22帧/秒，显示出其应用于实时场景的潜力。

## 6 实验

### 6.1 数据集与评估指标

Human3.6M。Human3.6M [^22] 是一个大规模室内3D人体姿态基准数据集，包含360万个视频帧。真实的3D姿态是通过动作捕捉系统获取的，但并没有真实的3D网格数据。因此，在3D网格监督方面，以往大多数3D姿态与网格估计工作 [^27] [^31] [^32] 都使用从Mosh [^36] 获取的伪真实数据。但由于许可问题，目前无法公开获取来自Mosh的伪真实数据。因此，我们借助SMPLify-X [^50] 将SMPL参数拟合到真实的3D姿态上，从而生成新的伪真实3D网格。为了公平比较，我们使用各方法官方发布的代码，在获取的真实数据上训练和测试这些前沿方法。遵循 [^27] [^51] 的做法，所有方法均在5名受试者（S1、S5、S6、S7、S8）的数据上训练，在2名受试者（S9、S11）的数据上测试。

我们使用两种评估指标来衡量3D姿态的性能。一种是平均关节位置误差（MPJPE）[^22]，它用于计算估计关节坐标与真实关节坐标之间的毫米级欧几里得距离，

---

<div style="text-align: center;">Table 1: The performance comparison between four combinations of regression target and network design tested on Human3.6M. 'no. param.' denotes the number of parameters of a network, which estimates SMPL parameters or vertex coordinates from the output of PoseNet.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">target\network</td><td colspan="3">FC</td><td colspan="3">GraphCNN</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>no. param.</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>no. param.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPL param.</td><td style='text-align: center; word-wrap: break-word;'>72.8</td><td style='text-align: center; word-wrap: break-word;'>55.5</td><td style='text-align: center; word-wrap: break-word;'>17.3M</td><td style='text-align: center; word-wrap: break-word;'>79.1</td><td style='text-align: center; word-wrap: break-word;'>59.1</td><td style='text-align: center; word-wrap: break-word;'>13.5M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>vertex coord.</td><td style='text-align: center; word-wrap: break-word;'>119.6</td><td style='text-align: center; word-wrap: break-word;'>95.1</td><td style='text-align: center; word-wrap: break-word;'>37.5M</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>48.0</td><td style='text-align: center; word-wrap: break-word;'>8.8M</td></tr></table>

<div style="text-align: center;">Table 2: The performance comparison on Human3.6M between two upsampling schems. GPU mem. and fps denote the required memory during training and fps in inference time respectively.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>method</td><td style='text-align: center; word-wrap: break-word;'>GPU mem. fps</td><td colspan="2">MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>direct</td><td style='text-align: center; word-wrap: break-word;'>10G</td><td style='text-align: center; word-wrap: break-word;'>24</td><td style='text-align: center; word-wrap: break-word;'>65.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>coarse-to-fine</td><td style='text-align: center; word-wrap: break-word;'>6G</td><td style='text-align: center; word-wrap: break-word;'>37</td><td style='text-align: center; word-wrap: break-word;'>64.9</td></tr></table>

<div style="text-align: center;">Table 3: The MPJPE comparison between four architectures tested on 3DPW.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>architecture</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2D $\rightarrow$mesh</td><td style='text-align: center; word-wrap: break-word;'>101.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2D $\rightarrow$3D $\rightarrow$mesh</td><td style='text-align: center; word-wrap: break-word;'>103.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2D $\rightarrow$3D+2D $\rightarrow$mesh</td><td style='text-align: center; word-wrap: break-word;'>100.5</td></tr></table>

在对齐根关节之后进行计算。另一种指标是PA-MPJPE，它在进一步对齐（即Procrustes分析（PA）[^17]）之后再计算MPJPE。JM代表估计的关节坐标。遵循 [^27] [^31] [^32] [^52] 的做法，我们仅评估17个估计关节中的14个。

3DPW。3DPW [^39] 是在自然场景下采集的数据集，包含3D人体姿态和网格标注信息。它由5.1万个视频帧组成，利用IMU传感器获取真实的3D姿态和网格数据。遵循 [^31] 的做法，我们仅使用3DPW的测试集进行评估。评估指标采用MPJPE和平均顶点位置误差（MPVPE）。MPJPE的评估对象是与Human3.6M一致的14个关节，计算方法同上。MPVPE用于计算估计顶点坐标与真实顶点坐标之间的毫米级欧几里得距离，同样在对齐根关节之后进行计算。

COCO。COCO [^35] 是一个包含多种二维标注的野外数据集，这些标注包括物体检测标注和人体关节标注。为了将该数据集用于三维网格学习，Kolotouros等人 [^31] 利用SMPLify [^6] 将SMPL参数拟合到二维关节上。遵循他们的方法，我们使用处理后的数据进行训练。

MuCo-3DHP。MuCo-3DHP [^42] 是由现有的MPI-INF-3DHP三维单人姿态估计数据集 [^41] 合成而来的。它包含20万帧图像，其中一半的图像背景经过了增强处理。在背景增强方面，我们采用了不含人体的COCO图像，以遵循Moon等人 [^43] 的做法。同样遵循他们的方法，我们仅将该数据集用于训练。

FreiHAND。FreiHAND [^70] 是一个大规模的三维手部姿态与网格数据集。它总共包含13.4万帧用于训练和测试的图像。遵循Zimmermann等人 [^70] 的研究方法，我们报告了Pose2Mesh模型的PA-MPVPE、F分数以及额外的PA-MPJPE指标。同时我们也评估了关节误差方面的JM指标。

---

<div style="text-align: center;">Table 4: The upper bounds of the two different graph convolutional networks that take a 2D pose and a 3D pose. Tested on Human3.6M.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>test input</td><td style='text-align: center; word-wrap: break-word;'>architecture</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2D pose GT</td><td style='text-align: center; word-wrap: break-word;'>2D $\rightarrow$mesh</td><td style='text-align: center; word-wrap: break-word;'>55.5</td><td style='text-align: center; word-wrap: break-word;'>38.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3D pose from [^43]</td><td style='text-align: center; word-wrap: break-word;'>3D $\rightarrow$mesh</td><td style='text-align: center; word-wrap: break-word;'>56.3</td><td style='text-align: center; word-wrap: break-word;'>43.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3D pose GT</td><td style='text-align: center; word-wrap: break-word;'>3D $\rightarrow$mesh</td><td style='text-align: center; word-wrap: break-word;'>29.0</td><td style='text-align: center; word-wrap: break-word;'>23.0</td></tr></table>

### 6.2 消融实验

为了分析所提出系统的各个组件，我们在Human3.6M数据集上训练了不同的网络，并在Human3.6M和3DPW数据集上进行了评估。在Human3.6M和3DPW评估中使用的测试用二维输入姿态，分别来自Integral Regression [^60] 和HRNet [^58] 的输出，这些输出是利用真实边界框得到的。

回归目标与网络设计。为了验证使用GraphCNN回归三维网格顶点坐标的有效性，我们在表1中对比了四种不同回归目标与网络设计组合下的MPJPE和PA-MPJPE指标。首先，我们的Pose2Mesh模型——vertex-GraphCNN，相比采用全连接层网络回归顶点坐标的vertex-FC，能显著改善关节误差。这证明了在估计三维顶点坐标时，利用GraphCNN来建模人体网格拓扑结构的重要性。其次，vertex-GraphCNN的性能优于两种估计SMPL参数的网络，同时其网络参数数量却少得多。综合来看，我们使用GraphCNN进行网格坐标回归的方案的有效性得到了充分证实。

在这项对比中，所有网络均采用相同的PoseNet和级联架构。在PoseNet之上，vertex-FC和param-FC使用了若干全连接层，而param-GraphCNN则是在Pose2Mesh的基础上添加了全连接层。为了公平对比，在训练param-FC和param-GraphCNN时，我们还用$L_{\text{vertex}}$和$L_{\text{joint}}$对由预测的SMPL参数重构出的网格进行监督。估计SMPL参数的网络采用了Zhou等人的方法 [^69] 来处理连续旋转问题。

粗到细网格上采样。我们对比了粗到细网格上采样方案与直接网格上采样方案。直接上采样方法是在最低分辨率的网格上执行图卷积，直到MeshNet的中间层，然后直接将其上采样到最高分辨率（例如人体网格从96个顶点上采样到12288个顶点）。尽管这两种方法使用的图卷积层数相同，参数数量也几乎一致，但我们的粗到细模型所需的GPU内存仅为直接上采样方法的一半，运行速度也快1.5倍。这是因为在高分辨率上进行图卷积所需的时间和内存远多于低分辨率情况。此外，粗到细上采样方法还能提供略微更好的效果。

---

<div style="text-align: center;">Table 5: The accuracy comparison between state-of-the-art methods and Pose2Mesh on Human3.6M. The dataset names on top are training sets.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">method</td><td colspan="2">Human3.6M</td><td colspan="2">Human3.6M + COCO</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HMR [^27]</td><td style='text-align: center; word-wrap: break-word;'>184.7</td><td style='text-align: center; word-wrap: break-word;'>88.4</td><td style='text-align: center; word-wrap: break-word;'>153.2</td><td style='text-align: center; word-wrap: break-word;'>85.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GraphCMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>148.0</td><td style='text-align: center; word-wrap: break-word;'>104.6</td><td style='text-align: center; word-wrap: break-word;'>78.3</td><td style='text-align: center; word-wrap: break-word;'>59.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SPIN [^31]</td><td style='text-align: center; word-wrap: break-word;'>85.6</td><td style='text-align: center; word-wrap: break-word;'>55.6</td><td style='text-align: center; word-wrap: break-word;'>72.9</td><td style='text-align: center; word-wrap: break-word;'>51.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh (Ours)</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>48.0</td><td style='text-align: center; word-wrap: break-word;'>67.9</td><td style='text-align: center; word-wrap: break-word;'>49.9</td></tr></table>

<div style="text-align: center;">Table 6: The accuracy comparison between state-of-the-art methods and Pose2Mesh on 3DPW. The dataset names on top are training sets.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">method</td><td colspan="3">Human3.6M</td><td colspan="3">Human3.6M + COCO</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPVPE</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPVPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HMR [^27]</td><td style='text-align: center; word-wrap: break-word;'>377.3</td><td style='text-align: center; word-wrap: break-word;'>165.7</td><td style='text-align: center; word-wrap: break-word;'>481.0</td><td style='text-align: center; word-wrap: break-word;'>300.4</td><td style='text-align: center; word-wrap: break-word;'>137.2</td><td style='text-align: center; word-wrap: break-word;'>406.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GraphCMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>332.5</td><td style='text-align: center; word-wrap: break-word;'>177.4</td><td style='text-align: center; word-wrap: break-word;'>380.8</td><td style='text-align: center; word-wrap: break-word;'>126.5</td><td style='text-align: center; word-wrap: break-word;'>80.1</td><td style='text-align: center; word-wrap: break-word;'>144.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SPIN [^31]</td><td style='text-align: center; word-wrap: break-word;'>313.8</td><td style='text-align: center; word-wrap: break-word;'>156.0</td><td style='text-align: center; word-wrap: break-word;'>344.3</td><td style='text-align: center; word-wrap: break-word;'>113.1</td><td style='text-align: center; word-wrap: break-word;'>71.7</td><td style='text-align: center; word-wrap: break-word;'>122.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh (Simple [^66])</td><td style='text-align: center; word-wrap: break-word;'>101.8</td><td style='text-align: center; word-wrap: break-word;'>64.2</td><td style='text-align: center; word-wrap: break-word;'>119.1</td><td style='text-align: center; word-wrap: break-word;'>92.3</td><td style='text-align: center; word-wrap: break-word;'>61.0</td><td style='text-align: center; word-wrap: break-word;'>110.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh (HR [^58])</td><td style='text-align: center; word-wrap: break-word;'>100.5</td><td style='text-align: center; word-wrap: break-word;'>63.0</td><td style='text-align: center; word-wrap: break-word;'>117.5</td><td style='text-align: center; word-wrap: break-word;'>91.4</td><td style='text-align: center; word-wrap: break-word;'>60.1</td><td style='text-align: center; word-wrap: break-word;'>109.3</td></tr></table>

下关节误差如表2所示。这些结果证实了我们的粗到细上采样策略的有效性。

级联架构分析。我们在表3中分析了Pose2Mesh的级联架构以验证其有效性。具体而言，我们构建了：(a) 直接接收2D姿态的GraphCNN；(b) 从预训练的PoseNet输出的3D姿态预测网格坐标的级联网络；以及(c) 我们的Pose2Mesh。所有方法均通过合成的2D姿态进行训练。首先，(a)的性能优于(b)，这表明PoseNet输出的3D姿态可能缺乏2D输入姿态中的几何信息。如果我们将3D姿态输出与2D输入姿态结合为(c)，则误差最小。这说明了3D姿态中的深度信息能够对3D网格估计产生积极影响。

为了进一步验证级联架构的优越性，我们在表13中探讨了(a)以及(d)——接收3D姿态的GraphCNN的上限。为此，我们分别将真实的2D姿态和3D姿态作为测试输入提供给(a)和(d)。显然，由于输入的3D姿态包含额外的深度信息，(d)的上限明显高于(a)。我们还将来自[^43]的最先进的3D姿态输出提供给(d)，以验证其性能提升的实际潜力。令人惊讶的是，其性能可与(a)的上限相媲美。因此，如果我们能提升PoseNet的性能，我们的Pose2Mesh将显著优于(a)——即直接接收2D姿态的图卷积网络。总之，上述结果证明了我们的Pose2Mesh级联架构的有效性。

---

<div style="text-align: center;">Table 7: The accuracy comparison between state-of-the-art methods and Pose2Mesh on FreiHAND.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>method</td><td style='text-align: center; word-wrap: break-word;'>PA-MPVPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>F@5 mm</td><td style='text-align: center; word-wrap: break-word;'>F@15 mm</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hasson et al. [^19]</td><td style='text-align: center; word-wrap: break-word;'>13.2</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>0.436</td><td style='text-align: center; word-wrap: break-word;'>0.908</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Boukhayma et al. [^7]</td><td style='text-align: center; word-wrap: break-word;'>13.0</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>0.435</td><td style='text-align: center; word-wrap: break-word;'>0.898</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FreiHAND [^70]</td><td style='text-align: center; word-wrap: break-word;'>10.7</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>0.529</td><td style='text-align: center; word-wrap: break-word;'>0.935</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh (Ours)</td><td style='text-align: center; word-wrap: break-word;'>7.6</td><td style='text-align: center; word-wrap: break-word;'>7.4</td><td style='text-align: center; word-wrap: break-word;'>0.683</td><td style='text-align: center; word-wrap: break-word;'>0.973</td></tr></table>

### 6.3 与最先进方法的比较

Human3.6M数据集。我们在表5中将我们的Pose2Mesh与以往最先进的3D人体姿态及网格估计方法在Human3.6M数据集上的表现进行了比较。首先，当我们仅用Human3.6M训练所有方法时，我们的Pose2Mesh明显优于其他方法。然而，当我们额外用COCO数据集训练这些方法时，以往基线模型的性能有所提升，而Pose2Mesh的性能却略有下降。其他方法性能的提升是基于图像的方法中众所周知的现象[^60]，这类方法在用野外采集的多样化图像训练时往往能更好地泛化。而我们的Pose2Mesh并未以同样的方式从更多图像中获益，因为它仅接收2D姿态作为输入。我们分析性能下降的原因是Human3.6M的测试集和训练集包含相似的姿态，且属于同一动作类别。因此，网络对Human3.6M的姿态过度拟合可带来更高的精度。尽管如此，在这两种情况下，我们的Pose2Mesh在MPJPE和PA-MPJPE指标上均优于以往的方法。Pose2Mesh所用的测试2D输入姿态由Sun等人[^60]在MPII[^3]数据集上训练的方法估算得出，且使用了真实边界框。

3DPW。我们在表6中对比了我们的Pose2Mesh与以往最先进的3D人体姿态和网格估计方法在3DPW数据集上的MPJPE、PA-MPJPE和MPVPE指标，3DPW是一个自然场景数据集。首先，仅基于图像的方法如果在Human3.6M上训练，会得出极高的误差。这验证了基于图像的方法会受到训练数据与测试数据之间外观域差异的影响：前者来自受控环境，后者来自自然场景。实际上，由于Human3.6M是来自受控环境的室内数据集，其图像外观与自然场景图像外观存在显著差异。相反，Pose2Mesh这种基于2D姿态的方法能够利用实验室记录的3D数据集中的精确3D标注[^22]，无需面临外观域差异问题，同时还能利用不同域中2D姿态的均匀几何特性。确实，即便Pose2Mesh仅在Human3.6M上训练，而其他方法还需额外在COCO上训练，它在3DPW的自然场景图像上产生的误差也远低于其他方法。实验结果表明，要得到精确的预测结果，3D姿态和网格估计方法未必需要依赖从自然场景中采集的3D数据——这类数据极难获取。Pose2Mesh所用的测试2D输入姿态是由在COCO上训练的HRNet[^58]和Simple[^66]估算得出的，且使用了真实边界框。

---

<div style="text-align: center;">Table 8: The accuracy comparison between state-of-the-art methods and Pose2Mesh on Human3.6M and 3DPW. Different train sets are used.  $*$ means synthetic data from AMASS [^38] is used. Refer to Section 13 for more details.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">method</td><td colspan="2">Human3.6M</td><td colspan="3">3DPW</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPVPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify [^6]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>82.3</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Lassner et al. [^34]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>93.9</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;'>HMR [^27]</td><td style='text-align: center; word-wrap: break-word;'>88.0</td><td style='text-align: center; word-wrap: break-word;'>56.8</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>81.3</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NBF [^47]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>59.9</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;'>Pavlakos et al. [^52]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>75.9</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;'>Kanazawa et al. [^28]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>56.9</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>72.6</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GraphCMR [^32]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>50.1</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>70.2</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Arnab et al. [^4]</td><td style='text-align: center; word-wrap: break-word;'>77.8</td><td style='text-align: center; word-wrap: break-word;'>54.3</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>72.2</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SPIN [^31]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>41.1</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>59.2</td><td style='text-align: center; word-wrap: break-word;'>116.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh (Ours)</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>46.3</td><td style='text-align: center; word-wrap: break-word;'>88.9</td><td style='text-align: center; word-wrap: break-word;'>58.3</td><td style='text-align: center; word-wrap: break-word;'>106.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh (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;'>89.5</td><td style='text-align: center; word-wrap: break-word;'>56.3</td><td style='text-align: center; word-wrap: break-word;'>105.3</td></tr></table>

COCO。[^58]和[^66]的平均精度（AP）在3DPW测试集上分别为85.1和82.8，在COCO验证集上则分别为72.1和70.4。

FreiHAND。我们在表 7 中给出了我们的 Pose2Mesh 与其他最先进的 3D 手部姿态和网格估计方法的比较。所提系统在包括 PA-MPVPE 和 F-scores 在内的多种指标上优于其他方法。Pose2Mesh 的测试 2D 输入姿态由 HR-Net [^58] 估计，该 HR-Net 在 FreiHAND [^70] 上训练，并使用来自 Mask R-CNN [^20]（其主干网络为 ResNet-50 [^21]）的边界框。

不同训练集的对比。我们在表8中报告了在Human3.6M、COCO和MuCo-3DHP上训练的Pose2Mesh，以及其他在不同训练集上训练的方法的MPJPE和PA-MPJPE指标。这些训练集包括Human3.6M、COCO、MPII[^3]、LSP[^24]、LSP-Extended[^25]、UP[^34]以及MPIINF-3DHP[^41]。每种方法均在其中的一个子集上训练。表中显示，与表5和表6中的误差相比，[^27]、[^31]和[^32]的误差大幅降低。尽管这一结果说明基于图像的方法借助自然场景2D姿态数据集上的弱监督就能提升泛化能力，但Pose2Mesh在作为自然场景基准的3DPW上仍取得了最低的误差。这表明，解决域差异问题、充分利用受控环境中的3D数据，是从自然场景图像中恢复精确3D姿态和网格的重要任务。我们参照以往的研究[^27]、[^31]、[^32]，仅通过正面摄像头数据集测试了Pose2Mesh在Human3.6M上的PA-MPJPE。此外，在进行3DPW评估时，我们采用了由DarkPose[^67]估算出的2D人体姿态作为输入，这一做法改善了HRNet[^58]的表现。

图 4 展示了 COCO 验证集和 FreiHAND 测试集上的定性结果。我们的 Pose2Mesh 无需后

---

![Image](images/ae6da3e738d8989204c5b46c326688872a5a94853e1a9c0c09a3ed9b1f4c82d6.jpg)

<div style="text-align: center;">Fig.4: Qualitative results of the proposed Pose2Mesh. First to third rows: COCO, fourth row: FreiHAND.</div>

处理，例如模型拟合 [^32]。更多定性结果见补充材料。

## 7 讨论

尽管所提出的系统得益于不同域中输入的二维姿态具有均匀的几何特性，但仅从姿态恢复各种三维形状可能颇具挑战性。虽然这可能是事实，但我们发现二维姿态仍包含推断相应三维形状所需的信息。文献中的SMPLify [^6] 通过实验验证：在标准人体姿态下，利用二维姿态能显著降低人体形状拟合误差，而使用平均人体形状时则不然。我们在补充材料中展示了Pose2Mesh能够根据二维姿态恢复各种人体形状。

## 8 结论

我们提出了一种新颖且通用的系统——Pose2Mesh，用于从二维人体姿态估计三维人体网格和姿态。输入的二维姿态使该系统能够利用在受控环境下采集的三维数据，且不存在外观域差异问题。采用GraphCNN的无模型方法使其能充分利用网格拓扑结构，同时避免三维旋转参数带来的表示问题。我们计划通过更密集的关键点或部件分割来提升Pose2Mesh的形状恢复能力，同时保持上述优势。

致谢。本研究得到了韩国科学和信息通信技术部资助的IITP项目（编号2017-0-01780），以及现代汽车集团通过HMG-SNU AI联盟基金（编号5264-20190101）的支持。

---

## 《Pose2Mesh：基于图卷积网络从二维人体姿态恢复三维人体姿态与网格》的补充材料

在这份补充材料中，我们展示了由于篇幅限制未能纳入主论文的更多实验结果。

### 9 定性结果

#### 9.1 形状恢复

我们在SURREAL [^62] 数据集上训练并测试了Pose2Mesh，该数据集包含多种体型样本，用以验证其形状恢复能力。如图5所示，尽管并非完美，但Pose2Mesh能够恢复出与输入图像对应的三维人体形状。个体特有的形状特征，如骨骼长度比例和胖瘦程度，都会在Pose2Mesh的输出中体现出来。这表明关节位置所蕴含的信息（例如髋关节之间的距离）确实携带了一定的形状线索。

![Image](images/e5869e4c9a587b43b6087ddbf2baa6546ec754290eb5f83f50f16bbc5a869d96.jpg)

输入图像

平均形状

Pnoo2Moch

真实值

输入图像

平均形状

Pose2Mesh

<div style="text-align: center;">Fig.5: The Pose2Mesh predictions compared with the groundtruth mesh, and the mesh decoded from groundtruth pose parameters and the mean shape parameters.</div>

真实值

#### 9.2 其他结果

此处我们在图6中展示了COCO [^35] 验证集和FreiHAND [^70] 测试集上的更多定性结果。第四行的图像展示了一些

---

失败案例。尽管第一和第二张图片中的人物看起来超重，但预测出的网格却更接近平均形状。第三列中网格的右臂姿态呈弯曲状，而实际看起来却是直的。

![Image](images/82a9423a262257b555b16f6adcb934dd1a1705ad3d379569cc51cfc314c090b7.jpg)

<div style="text-align: center;">Fig. 6: Additional qualitative results on COCO and FreiHAND.</div>

#### 9.3 与最先进方法的比较

我们在图7中展示了我们的Pose2Mesh与GraphCMR [^32]之间的定性比较。我们将GraphCMR视为合适的对比对象，因为它同样属于无模型方法，且像我们一样利用GraphCNN来回归由SMPL定义的人体网格坐标 [^37]。如图所示，我们的Pose2Mesh生成的网格结果在视觉上比GraphCMR更加美观。结合第7节中的损失函数分析以及GraphCMR的视觉效果，我们推测法向损失和边缘损失等表面损失是导致这种差异的原因。

---

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

<div style="text-align: center;">Fig.7: The mesh quality comparison between our Pose2Mesh and GraphCMR [^32].</div>

### 10 PoseNet的详细信息

#### 10.1 网络架构

图8展示了PoseNet的详细网络架构。首先，归一化后的2D姿态向量通过全连接层转换为4096维的特征向量。随后，该特征向量被送入两个残差块，每个残差块包含一个全连接层、1D批量归一化层、ReLU激活函数以及dropout层。残差块中特征图的维度为4096，dropout概率设为0.5。最后，残差块的输出通过全连接层转换为$(3J)$维的向量，即3D姿态向量，该向量表示相对于根节点的3D姿态坐标。

#### 10.2 PoseNet的精度

我们在表9中展示了PoseNet在各类基准测试上的MPJPE和PA-MPJPE指标。对于Human3.6M基准测试 [^22]，按照 [^27]、[^31]、[^32]、[^52] 的方法，对Human3.6M定义的17个关节中的14个常用关节进行了评估。对于3DPW基准测试 [^39]，则评估COCO定义的17个关节，并以真实SMPL网格对应的JM作为真值。在Human3.6M和3DPW测试中，分别采用来自 [^60] 和 [^58] 的2D姿态输出作为测试输入。对于FreiHAND基准测试，训练阶段仅使用FreiHAND训练集，并通过官方评估网站对21个MANO [^54] 手部关节进行评估，测试输入同样来自 [^58] 输出的2D姿态。

---

![Image](images/51437ae0db2a0ba0d6e3bdf2558e6db10be7d19de0ab035a59a6b4f294988efa.jpg)

<div style="text-align: center;">Fig. 8: The detailed network architecture of PoseNet.</div>

<div style="text-align: center;">Table 9: The MPJPE and PA-MPJPE of PoseNet on each benchmark.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>train set</td><td colspan="2">Human3.6M</td><td colspan="2">Human3.6M + COCO</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>benchmark</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Human3.6M</td><td style='text-align: center; word-wrap: break-word;'>65.1</td><td style='text-align: center; word-wrap: break-word;'>48.4</td><td style='text-align: center; word-wrap: break-word;'>66.7</td><td style='text-align: center; word-wrap: break-word;'>48.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3DPW</td><td style='text-align: center; word-wrap: break-word;'>105.0</td><td style='text-align: center; word-wrap: break-word;'>62.9</td><td style='text-align: center; word-wrap: break-word;'>99.2</td><td style='text-align: center; word-wrap: break-word;'>61.0</td></tr></table>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>benchmark</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FreiHAND</td><td style='text-align: center; word-wrap: break-word;'>8.56</td></tr></table>

### 11 预定义的关节集合与图结构

如图9所示，针对Human3.6M、3DPW、SURREAL和FreiHAND基准测试，我们采用了不同的预定义关节集合与图结构。具体而言，在训练和测试阶段，我们分别针对Human3.6M、3DPW、SURREAL和FreiHAND基准测试使用Human3.6M身体关节、COCO身体关节、SMPL身体关节以及MANO手部关节。对于COCO关节集合，我们额外定义了连接上半身和下半身的骨盆关节与颈部关节；骨盆和颈部的坐标分别取左右髋部以及左右肩部的中点。

![Image](images/bdc8ae4c63d57dae5f8e8103b483613f6e0e01cc9cc00d97a127dda08ae3220c.jpg)

<div style="text-align: center;">Fig.9: The joint sets and graph structures of each dataset that are used in Pose2Mesh.</div>

---

#### 12 Human3.6M的伪真值SMPL参数

Mosh [^36] 方法能够根据Human3.6M中的标记数据计算出SMPL参数。由于Human3.6M并未提供3D网格注释，以往大多数3D姿态与网格估计论文 [^27]、[^31]、[^32]、[^52] 都采用Mosh方法获得的SMPL参数作为监督学习的真值。然而，受许可问题限制，这些SMPL参数目前无法获取，而且Mosh的源代码也未公开发布。

在3D网格监督方面，我们通过对Human3.6M的真实3D关节坐标应用SMPLify-X [^50]，从而交替获取真实的SMPL参数。尽管所获得的SMPL参数与真实3D关节坐标并非完全对齐，但我们确认SMPLify-X产生的误差远小于当前最先进的3D人体姿态估计方法，如表10所示。因此，我们认为将SMPLify-X得到的SMPL参数用作真实值是合理的。为了公平比较，所有先前的研究以及我们的系统均基于SMPLify-X生成的SMPL参数进行训练。

在SMPLify-X的拟合过程中，我们采用了中性性别的SMPL人体模型。然而，我们通过实验发现，拟合过程会产生与每个受试者相对应的特定性别的身体形状。由于Human3.6M训练集中大多数受试者为女性，因此在Human3.6M上训练的Pose2Mesh往往会生成女性身体形状的网格。我们尝试固定从T-pose获得的SMPL人体模型的身份编码，但这样会导致更高的误差。因此，我们没有为每位受试者固定身份编码。

<div style="text-align: center;">Table 10: The MPJPE comparison between SMPLify-X fitting results and state-of-the-art 3D human pose estimation methods. “*” takes multi-view RGB images as inputs.</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;'>MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Moon et al. [^43]</td><td style='text-align: center; word-wrap: break-word;'>53.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Sun et al. [^60]</td><td style='text-align: center; word-wrap: break-word;'>49.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Iskakov et al. [^23]*</td><td style='text-align: center; word-wrap: break-word;'>20.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify-X from GT 3D pose</td><td style='text-align: center; word-wrap: break-word;'>13.1</td></tr></table>

### 13 来自AMASS的合成数据

我们利用来自AMASS [^38]的额外合成数据来提升Pose2Mesh的性能。AMASS是一个新数据库，它将15种不同的基于光学标记的动作捕捉数据集统一在一个通用框架内。它采用名为Mosh++的方法从动作捕捉数据中生成SMPL参数。我们使用了该数据库中的CMU [^1]数据。

---

在训练PoseNet时使用CMU和BML-Movi [^16]数据，而在训练Pose2Mesh时仅使用CMU数据。

具体来说，我们利用Human3.6M的相机参数，将从网格获得的3D姿态投影到图像平面，从而生成成对的2D姿态-3D网格数据。如表11所示，加入AMASS数据后，关节误差和表面误差均有所降低。对于[^27]、[^32]和[^31]而言，无法以这种方式利用AMASS数据，因为它们需要图像与2D/3D标注的配对数据。

<div style="text-align: center;">Table 11: The MPJPE and MPVPE of our Pose2Mesh on 3DPW with accumulative training datasets. We used pseudo-groundtruth SMPL parameters of COCO obtained by NeuralAnnot [^46]. The 2D pose outputs from [^58] are used for input to Pose2Mesh.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>train sets</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPVPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Human3.6M+COCO</td><td style='text-align: center; word-wrap: break-word;'>92.6</td><td style='text-align: center; word-wrap: break-word;'>57.9</td><td style='text-align: center; word-wrap: break-word;'>109.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Human3.6M+COCO+AMASS</td><td style='text-align: center; word-wrap: break-word;'>89.5</td><td style='text-align: center; word-wrap: break-word;'>56.3</td><td style='text-align: center; word-wrap: break-word;'>105.3</td></tr></table>

### 14 训练阶段输入2D姿态的合成

#### 14.1 合成过程的详细描述

正如主论文第4.1节所述，我们在训练阶段通过在真实2D姿态上添加随机生成的误差来合成输入2D姿态。为此，我们依据Chang等人[^10]和Moon等人[^44]的方法，分别为Human3.6M和COCO人体关节集生成误差。另一方面，对于FreiHAND基准测试，由于手部关节没有经过验证的合成误差数据，我们在训练阶段采用[^58]在训练集上的检测输出作为输入姿态。

#### 14.2 合成输入2D姿态的效果

为了验证合成过程的有效性，我们在表12中对比了使用真实2D姿态训练的Pose2Mesh与采用合成输入2D姿态时的MPJPE和PA-MPJPE指标。对于Human3.6M数据集，仅使用Human3.6M训练集进行训练；而对于3DPW基准测试，则使用Human3.6M和COCO数据集进行训练。Human3.6M和3DPW评估中所用的测试用2D输入姿态分别来自Integral Regression [^60]和HRNet [^58]的输出，且均基于真实的边界框生成。显然，当Pose2Mesh采用合成输入2D姿态进行训练时，它在两个基准测试中的表现都显著更佳。这证明了合成过程能够提升Pose2Mesh对输入2D姿态中误差的鲁棒性，从而提高姿态估计的准确性。

---

<div style="text-align: center;">Table 12: The MPJPE and PA-MPJPE comparison according to input type in the training stage.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">input pose when training</td><td colspan="2">Human3.6M</td><td colspan="2">3DPW</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2D pose GT</td><td style='text-align: center; word-wrap: break-word;'>70.4</td><td style='text-align: center; word-wrap: break-word;'>50.6</td><td style='text-align: center; word-wrap: break-word;'>153.7</td><td style='text-align: center; word-wrap: break-word;'>94.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2D pose synthesized (Ours)</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>48.7</td><td style='text-align: center; word-wrap: break-word;'>91.4</td><td style='text-align: center; word-wrap: break-word;'>60.1</td></tr></table>

### 15 使用真实输入姿态进行训练/测试

我们在表13中展示了使用真实输入姿态进行训练和测试时，Pose2Mesh、PoseNet和MeshNet在Human3.6M及3DPW基准测试中的性能上限。Pose2Mesh和PoseNet以真实2D姿态作为输入，而MeshNet则以真实3D姿态作为输入。如表所示，Pose2Mesh的性能上限与PoseNet相近，这一结果印证了主文档第7.2节的分析：Pose2Mesh的3D姿态误差与PoseNet的误差趋势一致。此外，MeshNet的性能上限表明：若能得到近乎完美的3D姿态估计结果，我们便能重建出精度极高的3D人体网格。

Pose2Mesh和MeshNet的MPJPE与PA-MPJPE指标是基于网格输出所回归出的3D姿态计算的，而PoseNet的准确性则是基于升采样后的3D姿态评估的。对于Human3.6M基准测试，仅使用Human3.6M训练集来训练网络；对于3DPW基准测试，则使用Human3.6M、COCO以及AMASS训练集来训练网络。

<div style="text-align: center;">Table 13: The upper bounds of Pose2Mesh, PoseNet, and MeshNet on Human3.6m and 3DPW benchmarks.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">networks</td><td colspan="2">Human3.6M</td><td colspan="2">3DPW</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh with 2D pose GT</td><td style='text-align: center; word-wrap: break-word;'>51.1</td><td style='text-align: center; word-wrap: break-word;'>35.3</td><td style='text-align: center; word-wrap: break-word;'>65.1</td><td style='text-align: center; word-wrap: break-word;'>34.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PoseNet with 2D pose GT</td><td style='text-align: center; word-wrap: break-word;'>50.6</td><td style='text-align: center; word-wrap: break-word;'>41.3</td><td style='text-align: center; word-wrap: break-word;'>66.1</td><td style='text-align: center; word-wrap: break-word;'>43.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MeshNet with 3D pose GT</td><td style='text-align: center; word-wrap: break-word;'>13.9</td><td style='text-align: center; word-wrap: break-word;'>9.9</td><td style='text-align: center; word-wrap: break-word;'>10.8</td><td style='text-align: center; word-wrap: break-word;'>8.1</td></tr></table>

### 16 各损失函数的效果

我们在表14和图10中分析了关节坐标损失 $L_{joint}$、表面法向损失 $L_{normal}$ 以及表面边缘损失 $L_{edge}$ 对重建3D人体网格的影响。训练与测试所用数据集为Human3.6M。如表所示，不使用 $L_{joint}$ 时，对MPJPE和PA-MPJPE的影响相对明显，而其他设置带来的数值差异则可忽略不计。另一方面，从图中可以看出，不使用 $L_{normal}$ 或 $L_{edge}$ 时，网格输出的视觉质量会明显下降。

---

具体来说，不使用 $L_{joint}$ 会损害网格的整体平滑度以及嘴巴、手部和脚部的局部细节；同样，不使用 $L_{normal}$ 会破坏顶点密度较高的身体部位的细节，尤其是嘴巴、手部和脚部，还会因顶点飞散而产生严重的伪影，从而严重破坏网格的视觉质量。而不使用 $L_{edge}$ 时，对网格的视觉质量几乎没有任何影响。

<div style="text-align: center;">Table 14: The MPJPE and PA MPJPE comparison between the networks trained from various combinations of loss functions.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>settings</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>full supervision (Ours)</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>48.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>without $L_{joint}$</td><td style='text-align: center; word-wrap: break-word;'>66.9</td><td style='text-align: center; word-wrap: break-word;'>50.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>without $L_{normal}$</td><td style='text-align: center; word-wrap: break-word;'>64.6</td><td style='text-align: center; word-wrap: break-word;'>48.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>without $L_{edge}$</td><td style='text-align: center; word-wrap: break-word;'>64.8</td><td style='text-align: center; word-wrap: break-word;'>48.7</td></tr></table>

![Image](images/226a9dd1545234eeb46ffad2ff061c749bc0a31d746713e1537922db8de11aab.jpg)

<div style="text-align: center;">Fig. 10: Qualitative results for the ablation study on the effectiveness of each loss function.</div>

---

### 参考文献

1. 卡内基梅隆大学（CMU）图形实验室动作捕捉数据库。<http://mocap.cs.cmu.edu/>

[^2]: Andriluka, M., Iqbal, U., Insafutdinov, E., Pishchulin, L., Milan, A., Gall, J., Schiele, B.: Posetrack: A benchmark for human pose estimation and tracking. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[^3]: Andriluka, M., Pishchulin, L., Gehler, P., Schiele, B.: 2d human pose estimation: New benchmark and state of the art analysis. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2014)

[^4]: Arnab, A., Doersch, C., Zisserman, A.: Exploiting temporal context for 3D human pose estimation in the wild. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^5]: Baek, S., In Kim, K., Kim, T.K.: Pushing the envelope for RGB-based dense 3D hand pose estimation via neural rendering. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^6]: Bogo, F., Kanazawa, A., Lassner, C., Gehler, P., Romero, J., Black, M.J.: Keep it smpl: Automatic estimation of 3d human pose and shape from a single image. In: The European Conference on Computer Vision (ECCV) (2016)

[^7]: Boukhayma, A., de Bem, R., Torr, P.H.: 3d hand shape and pose from images in the wild. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^8]: Bruna, J., Zaremba, W., Szlam, A., Lecun, Y.: Spectral networks and locally connected networks on graphs. In: The International Conference on Learning Representations (ICLR) (2014)

[^9]: Cai, Y., Ge, L., Liu, J., Cai, J., Cham, T.J., Yuan, J., Thalmann, N.M.: Exploiting spatial-temporal relationships for 3d pose estimation via graph convolutional networks. In: The IEEE International Conference on Computer Vision (ICCV) (2019)

[^10]: Chang, J.Y., Moon, G., Lee, K.M.: Absposelifter: Absolute 3d human pose lifting network from a single noisy 2d human pose. arXiv preprint arXiv:1910.12029 (2020)

[^11]: Chen, Y., Wang, Z., Peng, Y., Zhang, Z., Yu, G., Sun, J.: Cascaded pyramid network for multi-person pose estimation. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[^12]: Chung, F.R.K.: Spectral Graph Theory. American Mathematical Society (1997)

[^13]: Defferrard, M., Bresson, X., Vandergheynst, P.: Convolutional neural networks on graphs with fast localized spectral filtering. In: Advances in Neural Information Processing Systems 29 (NIPS) (2016)

[^14]: Dhillon, I.S., Guan, Y., Kulis, B.: Weighted graph cuts without eigenvectors a multilevel approach. The IEEE transactions on pattern analysis and machine intelligence (TPAMI) (2007)

[^15]: Ge, L., Ren, Z., Li, Y., Xue, Z., Wang, Y., Cai, J., Yuan, J.: 3d hand shape and pose estimation from a single rgb image. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^16]: Ghorbani, S., Mahdaviani, K., Thaler, A., Kording, K., Cook, D.J., Blohm, G., Troje, N.F.: Movi: A large multipurpose motion and video dataset. arXiv preprint arXiv:2003.01888 (2020)

## [^17]: Gower, J.C.: Generalized procrustes analysis. Psychometrika (1975)

---

[^18]: Hammond, D., Vandergheynst, P., Gribonval, R.: Wavelets on graphs via spectral graph theory. Applied and Computational Harmonic Analysis (2009)

[^19]: Hasson, Y., Varol, G., Tzionas, D., Kalevatykh, I., Black, M.J., Laptev, I., Schmid, C.: Learning joint reconstruction of hands and manipulated objects. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^20]: He, K., Gkioxari, G., Dollár, P., Girshick, R.: Mask r-cnn. In: The IEEE International Conference on Computer Vision (ICCV) (2017)

[^21]: He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2016)

[^22]: Ionescu, C., Papava, D., Olaru, V., Sminchisescu, C.: Human3.6m: Large scale datasets and predictive methods for 3d human sensing in natural environments. The IEEE transactions on pattern analysis and machine intelligence (TPAMI) (2014)

[^23]: Iskakov, K., Burkov, E., Lempitsky, V., Malkov, Y.: Learnable triangulation of human pose. In: The IEEE International Conference on Computer Vision (ICCV) (2019)

[^24]: Johnson, S., Everingham, M.: Clustered pose and nonlinear appearance models for human pose estimation. In: British Machine Vision Conference (BMVC). Citeseer (2010)

[^25]: Johnson, S., Everingham, M.: Learning effective human pose estimation from inaccurate annotation. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2011)

[^26]: Joo, H., Liu, H., Tan, L., Gui, L., Nabbe, B., Matthews, I., Kanade, T., Nobuhara, S., Sheikh, Y.: Panoptic studio: A massively multiview system for social motion capture. In: The IEEE International Conference on Computer Vision (ICCV) (2015)

[^27]: Kanazawa, A., Black, M.J., Jacobs, D.W., Malik, J.: End-to-end recovery of human shape and pose. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[^28]: Kanazawa, A., Zhang, J.Y., Felsen, P., Malik, J.: Learning 3d human dynamics from video. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^29]: Kato, H., Ushiku, Y., Harada, T.: Neural 3d mesh renderer. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[^30]: Kipf, T.N., Welling, M.: Semi-supervised classification with graph convolutional networks. In: The International Conference on Learning Representations (ICLR) (2017)

[^31]: Kolotouros, N., Pavlakos, G., Black, M.J., Daniilidis, K.: Learning to reconstruct 3d human pose and shape via model-fitting in the loop. In: The IEEE International Conference on Computer Vision (ICCV) (2019)

[^32]: Kolotouros, N., Pavlakos, G., Daniilidis, K.: Convolutional mesh regression for single-image human shape reconstruction. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^33]: Lassner, C., Romero, J., Kiefel, M., Bogo, F., Black, M.J., Gehler, P.V.: Unite the people: Closing the loop between 3d and 2d human representations. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017)

## [^34]: Lassner, C., Romero, J., Kiefel, M., Bogo, F., Black, M.J., Gehler, P.V.: Unite the people: Closing the loop between 3d and 2d human representations. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017)

---

[^35]: Lin, T.Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Dollár, P., Zitnick, C.L.: Microsoft coco: Common objects in context. In: The European Conference on Computer Vision (ECCV) (2014)

[^36]: Loper, M., Mahmood, N., Black, M.J.: Mosh: Motion and shape capture from sparse markers. In: Special Interest Group on GRAPHics and Interactive Techniques (SIGGRAPH) (2014)

[^37]: Loper, M., Mahmood, N., Romero, J., Pons-Moll, G., Black, M.J.: SMPL: A skinned multi-person linear model. In: Special Interest Group on GRAPHics and Interactive Techniques (SIGGRAPH) (2015)

[^38]: Mahmood, N., Ghorbani, N., Troje, N.F., Pons-Moll, G., Black, M.J.: Amass: Archive of motion capture as surface shapes. In: The IEEE International Conference on Computer Vision (ICCV) (2019)

[^39]: von Marcard, T., Henschel, R., Black, M., Rosenhahn, B., Pons-Moll, G.: Recovering accurate 3d human pose in the wild using imus and a moving camera. In: European Conference on Computer Vision (ECCV) (2018)

[^40]: Martinez, J., Hossain, R., Romero, J., Little, J.J.: A simple yet effective baseline for 3d human pose estimation. In: The IEEE International Conference on Computer Vision (ICCV) (2017)

[^41]: Mehta, D., Rhodin, H., Casas, D., Fua, P., Sotnychenko, O., Xu, W., Theobalt, C.: Monocular 3d human pose estimation in the wild using improved cnn supervision. In: International Conference on 3D Vision (3DV) (2017)

[^42]: Mehta, D., Sotnychenko, O., Mueller, F., Xu, W., Sridhar, S., Pons-Moll, G., Theobalt, C.: Single-shot multi-person 3D pose estimation from monocular rgb. In: International Conference on 3D Vision (3DV) (2018)

[^43]: Moon, G., Chang, J.Y., Lee, K.M.: Camera distance-aware top-down approach for 3d multi-person pose estimation from a single rgb image. In: The IEEE International Conference on Computer Vision (ICCV) (2019)

[^44]: Moon, G., Chang, J.Y., Lee, K.M.: Posefix: Model-agnostic general human pose refinement network. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^45]: Moon, G., Lee, K.M.: I2L-MeshNet: Image-to-pixel prediction network for accurate 3D human pose and mesh estimation from a single RGB image. In: The European Conference on Computer Vision (ECCV) (2020)

(2020)

[^47]: Omran, M., Lassner, C., Pons-Moll, G., Gehler, P., Schiele, B.: Neural body fitting: Unifying deep learning and model based human pose and shape estimation. In: International Conference on 3D Vision (3DV) (2018)

[^48]: Panteleris, P., Oikonomidis, I., Argyros, A.: Using a single rgb frame for real time 3d hand pose estimation in the wild. In: IEEE Winter Conference on Applications of Computer Vision (WACV) (2018)

[^49]: Paszke, A., Gross, S., Chintala, S., Chanan, G., Yang, E., DeVito, Z., Lin, Z., Desmaison, A., Antiga, L., Lerer, A.: Automatic differentiation in pytorch (2017)

[^50]: Pavlakos, G., Choutas, V., Ghorbani, N., Bolkart, T., Osman, A.A., Tzionas, D., Black, M.J.: Expressive body capture: 3d hands, face, and body from a single image. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

## [^51]: Pavlakos, G., Zhou, X., Derpanis, K.G., Daniilidis, K.: Coarse-to-fine volumetric prediction for single-image 3d human pose. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017)

---

[^52]: Pavlakos, G., Zhu, L., Zhou, X., Daniilidis, K.: Learning to estimate 3d human pose and shape from a single color image. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[^53]: Ranjan, A., Bolkart, T., Sanyal, S., Black, M.J.: Generating 3d faces using convolutional mesh autoencoders. In: The European Conference on Computer Vision (ECCV) (2018)

[^54]: Romero, J., Tzionas, D., Black, M.J.: Embodied hands: Modeling and capturing hands and bodies together. In: Special Interest Group on GRAPHics and Interactive Techniques (SIGGRAPH) (2017)

[^55]: Ruggero Ronchi, M., Perona, P.: Benchmarking and error diagnosis in multi-instance pose estimation. In: The IEEE International Conference on Computer Vision (ICCV) (2017)

[^56]: Sharma, S., Varigonda, P.T., Bindal, P., Sharma, A., Jain, A.: Monocular 3d human pose estimation by generation and ordinal ranking. In: The IEEE International Conference on Computer Vision (ICCV) (2019)

[^57]: Shuman, D.I., Narang, S.K., Frossard, P., Ortega, A., Vandergheynst, P.: The emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular domains. IEEE Signal Processing Magazine (2013)

[^58]: Sun, K., Xiao, B., Liu, D., Wang, J.: Deep high-resolution representation learning for human pose estimation. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^59]: Sun, X., Shang, J., Liang, S., Wei, Y.: Compositional human pose regression. In: The IEEE International Conference on Computer Vision (ICCV) (2017)

[^60]: Sun, X., Xiao, B., Wei, F., Liang, S., Wei, Y.: Integral human pose regression. In: The European Conference on Computer Vision (ECCV) (2018)

[^61]: Tieleman, T., Hinton, G.: Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude. COURSERA: Neural Networks for Machine Learning (2012)

[^62]: Varol, G., Romero, J., Martin, X., Mahmood, N., Black, M.J., Laptev, I., Schmid, C.: Learning from synthetic humans. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017)

[^63]: Verma, N., Boyer, E., Verbeek, J.: Feastnet: Feature-steered graph convolutions for 3d shape analysis. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[^64]: Wandt, B., Rosenhahn, B.: Repnet: Weakly supervised training of an adversarial reprojection network for 3d human pose estimation. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^65]: Wang, N., Zhang, Y., Li, Z., Fu, Y., Liu, W., Jiang, Y.G.: Pixel2mesh: Generating 3d mesh models from single rgb images. In: The European Conference on Computer Vision (ECCV) (2018)

[^66]: Xiao, B., Wu, H., Wei, Y.: Simple baselines for human pose estimation and tracking. In: The European Conference on Computer Vision (ECCV) (2018)

[^67]: Zhang, F., Zhu, X., Dai, H., Ye, M., Zhu, C.: Distribution-aware coordinate representation for human pose estimation. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2020)

## [^68]: Zhao, L., Peng, X., Tian, Y., Kapadia, M., Metaxas, D.N.: Semantic graph convolutional networks for 3d human pose regression. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

---

[^69]: Zhou, Y., Barnes, C., Lu, J., Yang, J., Li, H.: On the continuity of rotation representations in neural networks. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2019)

[^70]: Zimmermann, C., Ceylan, D., Yang, J., Russell, B., Argus, M., Brox, T.: Freihand: A dataset for markerless capture of hand pose and shape from single rgb images. In: The IEEE International Conference on Computer Vision (ICCV) (2019)
