
# 基于Transformer的端到端人体姿态与网格重建

Kevin Lin、Lijuan Wang、Zicheng Liu

微软公司

{keli, lijuanw, zliu}@microsoft.com

## 摘要

我们提出了一种名为MEsh TRansfOrmer（METRO）的新方法，可从单张图像中重建3D人体姿态和网格顶点。该方法采用Transformer编码器来联合建模顶点间的相互作用以及顶点与关节间的相互作用，同时输出3D关节坐标和网格顶点。与现有回归姿态和形状参数的技术不同，METRO不依赖SMPL等参数化网格模型，因此可轻松扩展到手部等其他物体。我们进一步放宽了网格拓扑限制，允许Transformer的自注意力机制在任意两个顶点间自由关联，从而能够学习网格顶点与关节间的非局部关系。借助所提出的掩码顶点建模技术，我们的方法在处理部分遮挡等复杂场景时更具鲁棒性和有效性。METRO在公开的人体数据集Human3.6M和3DPW上取得了人体网格重建领域的最新最佳结果。此外，我们还验证了METRO在野外3D手部重建任务中的泛化能力，其在FreiHAND数据集上的表现优于现有的最先进方法。

### 1. 引言

从单张图像中重建3D人体姿态和网格受到了广泛关注，因为它在虚拟现实、运动分析、神经退行性疾病诊断等诸多领域都有重要应用。由于人体复杂的关节运动和遮挡现象，这一任务极具挑战性。

该领域近期的研究大致可分为两类。第一类方法采用SMPL [^24] 这类参数化模型，学习预测形状和姿态系数 [^12] [^21] [^34] [^17] [^19] [^29] [^39] [^18]。这种方法已取得显著成果：参数化模型中编码的强先验特性提升了其对环境变化的鲁棒性。但该方法的缺点是姿态和形状空间会受到用于构建参数化模型的有限样本的限制。为克服这一局限，第二类方法并

![Image](images/aa478849d47405c7345e8c324ab08ad19a98f6cda12a8dbab5f1cfaaec6b4aae.jpg)

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

![Image](images/195fc233050e0417ef9853b6abf14bd7a7fc0773461a9d613960ed524f486c73.jpg)

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

![Image](images/667979e134bf5820d7a8cec7fde35de19594b9ce3389840345206288b48d9679.jpg)

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

<div style="text-align: center;">Figure 1: METRO learns non-local interactions among body joints and mesh vertices for human mesh reconstruction. Given an input image in (a), METRO predicts human mesh by taking non-local interactions into consideration. (b) illustrates the attentions between the occluded wrist joint and the mesh vertices where brighter color indicates stronger attention. (c) is the reconstructed mesh.</div>

不采用任何参数化模型 [^20] [^7] [^27]。这些方法要么利用图卷积神经网络来建模邻域内的顶点间相互作用 [^20] [^7]，要么通过1D热图来回归顶点坐标 [^27]。这类方法的一个局限性在于它们无法高效建模非局部的顶点间相互作用。

研究人员发现，属于身体不同部位（如手和脚）的非局部顶点之间存在较强的相关性 [^50]。在计算机图形学和机器人领域，人们已经开发出逆运动学技术 [^2]，用于根据末端执行器（如指尖）的位置来估算关节结构的内部关节位置。我们认为，学习身体关节与网格顶点间的短程及长程相关性，对于处理人体形状重建中的复杂姿态和遮挡问题具有重要意义。在本文中，我们提出了一种简单却有效的框架来建模全局的顶点间相互作用，该框架的核心组件就是Transformer。

近期研究表明，Transformer [^48] 能够显著提升自然语言处理中各类任务的性能 [^3] [^8] [^35] [^36]。这一成果主要归功于Transformer所采用的自注意力机制。

---

该机制在建模输入与输出中不同位置元素之间的依赖关系（或交互作用）时尤为有效。借助这种依赖关系，Transformer能够筛选出相关的词元，并基于重要特征进行预测 [^3] [^48]。

在这项工作中，我们提出了METRO——一种具备渐进式降维功能的多层Transformer编码器，能够从给定输入图像中同时重建3D人体关节和网格顶点。我们设计了基于Transformer编码器架构的掩码顶点建模目标函数，以增强关节与顶点之间的交互作用。如图1所示，METRO能够捕捉人体关节与网格顶点之间的短程及长程交互关系，从而在处理姿态变化较大且存在遮挡的情况时，仍能更精准地重建3D人体形状。

在多个公开数据集上的实验结果表明，METRO在学习顶点-顶点以及顶点-关节交互作用方面效果显著，因此在人体网格重建任务上的表现大幅优于以往的方法。据我们所知，METRO是首个利用Transformer编码器架构从单张输入图像中同步学习3D人体姿态与网格重建的方法。此外，METRO是一个通用框架，可轻松应用于其他3D网格的预测，例如从输入图像中重建3D手部模型。

综上所述，我们的贡献如下。

- 我们提出了一种名为METRO的新型基于Transformer的方法，用于从单张图像中重建3D人体姿态与网格。

- 我们设计了基于多层Transformer编码器的掩码顶点建模目标函数，以建模顶点-顶点以及顶点-关节交互作用，从而实现更优的重建效果。

METRO在大规模基准数据集Human3.6M以及极具挑战性的3DPW数据集上均取得了新的最佳性能。

METRO是一个功能多样的框架，可轻松扩展用于预测不同类型的3D网格，正如实验中展示的3D手部重建一样。在本文提交时，METRO在FreiHAND排行榜上位列第一。

### 2. 相关工作

人体网格重建（HMR）：人体网格重建是一项重建3D人体形状的任务，近年来一直是研究热点。早期的研究已经利用各种传感器实现了令人瞩目的重建效果，例如深度传感器 [^28] [^43] 或惯性测量单元 [^15] [^49]。如今，研究人员正致力于探索更高效便捷的单目相机方案。然而，由于复杂的姿态变化、遮挡现象以及有限的3D训练数据，从单张图像中进行人体网格重建仍面临巨大挑战。

以往的研究建议采用预训练的参数化人体模型，即SMPL [^24]、STAR [^30]、MANO [^38]，并据此估算用于HMR的参数化模型的姿态和形状系数。由于直接从输入图像中回归姿态和形状系数颇具挑战性，近期的研究进一步提出利用各种人体先验知识，如人体骨骼 [^21] [^34] 或分割图 [^29]，同时探索不同的优化策略 [^19] [^17] [^46] [^12] 以及时间信息 [^18]，以改进重建效果。

另一方面，研究人员并未采用参数化人体模型，而是提出了直接从输入图像回归三维人体形状的方法。例如，研究人员尝试用三维网格 [^20] [^7]、体素空间 [^47] 或占据场 [^41] [^42] 来表示人体。这些先前的研究针对各自的应用目标采用了特定的输出表示形式。其中相关研究为GraphCMR [^20]，它旨在利用图卷积神经网络（GCNNs）来回归三维网格顶点。此外，近期提出的Pose2Mesh [^7]是一种基于GCNNs的级联模型，它根据给定的人体姿态表示来重建人体网格。

虽然基于GCNN的方法 [^7] [^20] 旨在基于预先指定的网格拓扑来建模相邻顶点间的相互作用，但在建模长距离相互作用方面效率较低。相比之下，METRO能够在不受任何网格拓扑限制的情况下建模关节与网格顶点间的全局相互作用。此外，我们的方法采用了自注意力机制进行学习，这与以往的研究 [^7] [^20] 有所不同。

注意力机制与Transformer：近期的研究 [^31] [^23] [^48] 表明，注意力机制能够提升各类语言任务的性能。其核心思路是学习注意力权重，从而有针对性地筛选对输出预测至关重要的相关输入 [^3]。Vaswani等人 [^48] 进一步提出了完全基于注意力机制的Transformer架构。Transformer利用多头自注意力机制实现高度并行化，从而高效地进行训练和推理，在大规模语言建模中展现出卓越的性能，这一点在BERT [^8] 和GPT [^35] [^36] [^4] 中得到了验证。

受神经语言领域近期成果的启发，人们越来越有兴趣探索将Transformer架构应用于各类视觉任务，比如学习用于图像生成的像素分布 [^6] [^32] 及分类 [^6] [^9]，或将物体检测简化为集合预测问题 [^5]。然而，三维人体重建尚未在此方向上展开研究。

在本研究中，我们提出了一种多层Transformer架构——

---

![Image](images/e8c0223573e62dca26a0b2f92948be8b97962040437bb6f649fd733799446430.jpg)

<div style="text-align: center;">Figure 2: Overview of the proposed framework. Given an input image, we extract an image feature vector using a convolutional neural network (CNN). We perform position encoding by adding a template human mesh to the image feature vector by concatenating the image feature with the 3D coordinates  $(x_i, y_i, z_i)$ of every body joint  i, and 3D coordinates  $(x_j, y_j, z_j)$ of every vertex  j. Given a set of joint queries and vertex queries, we perform self-attentions through multiple layers of a transformer encoder, and regress the 3D coordinates of body joints and mesh vertices in parallel. We use a progressive dimensionality reduction architecture (right) to gradually reduce the hidden embedding dimensions from layer to layer. Each token in the final layer outputs 3D coordinates of a joint or mesh vertex. Each encoder block has 4 layers and 4 attention heads.  H denotes the dimension of an image feature vector.</div>

该架构通过逐步降低维度来回归关节和顶点的三维坐标。

### 3. 方法

图2展示了我们提出的框架概览。该框架以大小为$224 \times 224$的图像作为输入，预测一组人体关节J和网格顶点V。所提出的框架由两个模块组成：卷积神经网络和多层Transformer编码器。首先，我们使用CNN从输入图像中提取图像特征向量。接着，多层Transformer编码器以该特征向量为输入，并行输出人体关节和网格顶点的3D坐标。下面我们将详细介绍每个模块。

#### 3.1. 卷积神经网络

在我们框架的第一个模块中，我们采用卷积神经网络（CNN）进行特征提取。该CNN在ImageNet分类任务上预训练完成[^40]。具体来说，我们从最后一个隐藏层提取特征向量X，其维度通常为2048。我们将特征向量X输入到Transformer中以执行回归任务。

借助这种通用设计，我们能够实现人体姿态和网格重建的端到端训练。此外，Transformer可以轻松利用大规模预训练的CNN，例如HRNets [^51]。在我们的实验中，我们对输入特征进行了分析，发现高分辨率的图像特征有助于Transformer回归出人体关节和网格顶点的3D坐标。

#### 3.2. 带有渐进式降维的多层Transformer编码器

由于我们需要输出3D坐标，因此无法直接应用现有的Transformer编码器架构[^9] [^5]，因为它们对所有Transformer层的隐藏嵌入维度保持一致。受[^14]的启发——该架构通过多个模块逐步进行降维——我们设计了一种采用渐进式降维方案的新架构。如图2右侧所示，我们在每个编码器层之后使用线性投影来降低隐藏嵌入的维度。通过增加多个编码器层，模型可视为以交替方式进行自注意力和降维操作。我们Transformer编码器的最终输出向量即为关节和网格顶点的3D坐标。

如图2左侧所示，输入到Transformer编码器的的是人体关节和网格顶点查询向量。与位置编码的原理类似[^48] [^20] [^11]，我们使用模板人体网格来保留输入序列中每个查询的位置信息。具体而言，我们将图像特征向量$X \in \mathbb{R}^{2048 \times 1}$与

---

每个人体关节i的3D坐标$(x_i, y_i, z_i)$相拼接，从而构成一组关节查询向量$Q_J = \{q_1^J, q_2^J, \ldots, q_n^J\}$，其中$q_i^J \in \mathbb{R}^{2051 \times 1}$。同理，我们对每个网格顶点j也进行相同的位置编码，进而形成一组顶点查询向量$Q_V = \{q_1^V, q_2^V, \ldots, q_m^V\}$，其中$q_j^V \in \mathbb{R}^{2051 \times 1}$。

#### 3.3. 掩码顶点建模

先前的研究[^8] [^44]采用掩码语言建模（MLM）来学习训练语料库的语言特性。然而，MLM旨在恢复输入内容，无法直接应用于我们的回归任务。

为了充分激活我们 transformer 编码器中的双向注意力，我们为回归任务设计了一种掩码顶点建模 (MVM)。我们随机掩码输入 queries 中一定比例的查询。不同于像 MLM [^8] 那样恢复被掩码的输入，我们转而要求 transformer 回归所有的关节点和顶点。

#### 3.4. 训练

为了预测缺失查询所对应的输出，模型必须借助其他相关查询信息。这在本质上类似于模拟遮挡场景——即部分身体部位不可见的情况。因此，MVM迫使Transformer在考虑其他相关顶点和关节的基础上回归3D坐标，而无需关注它们之间的距离或网格拓扑结构。这种方式能够促进关节和顶点之间的短距离与长距离交互，从而实现更精准的人体建模。

为了训练Transformer编码器，我们在其输出上应用损失函数，以最小化预测结果与真实值之间的误差。给定一个数据集$D = \{I^i, \bar{V}_{3D}^i, \bar{J}_{3D}^i, \bar{J}_{2D}^i\}_{i=1}^T$，其中T表示训练图像的总数。$I \in \mathbb{R}^{w \times h \times 3}$代表一张RGB图像。$\bar{V}_{3D} \in \mathbb{R}^{M \times 3}$表示网格顶点的真实3D坐标，M为顶点的数量。$\bar{J}_{3D} \in \mathbb{R}^{K \times 3}$表示人体关节的真实3D坐标，K为一个人的关节数量。类似地，$\bar{J}_{2D} \in \mathbb{R}^{K \times 2}$表示人体关节的真实2D坐标。

设$V_{3D}$表示输出的顶点位置，$J_{3D}$为输出的关节位置，我们使用$L_{1}$损失函数来最小化预测结果与真实值之间的误差：

 $$ \mathcal{L}_{V}=\frac{1}{M}\sum_{i=1}^{M}\left|\left|V_{3D}-\bar{V}_{3D}\right|\right|_{1}, $$

 $$ \mathcal{L}_{J}=\frac{1}{K}\sum_{i=1}^{K}\left|\left|J_{3D}-\bar{J}_{3D}\right|\right|_{1}. $$

值得注意的是，3D关节坐标也可以从预测的网格中计算得出。遵循文献中的常见做法[^7] [^17] [^20] [^19]，我们使用预定义的回归矩阵$G \in \mathbb{R}^{K \times M}$，通过$J_{3D}^{reg} = G V_{3D}$得到回归后的3D关节坐标。与以往研究类似，我们使用$L_1$损失函数来优化$J_{3D}^{reg}$：

 $$ \mathcal{L}_{J}^{r e g}=\frac{1}{K}\sum_{i=1}^{K}\left|\left|J_{3D}^{r e g}-\bar{J}_{3D}\right|\right|_{1}. $$

2D投影技术常被用于提升图像与网格的对齐效果[^17] [^20] [^19]，它也有助于在图像中可视化重建结果。受前人研究的启发，我们利用估计的相机参数将3D关节投影到2D空间，并最小化2D投影结果与2D真实值之间的误差：

 $$ \mathcal{L}_{J}^{p r o j}=\frac{1}{K}\sum_{i=1}^{K}\left|\left|J_{2D}-\bar{J}_{2D}\right|\right|_{1}, $$

其中，相机参数是通过在Transformer编码器的输出上添加线性层来学习的。

为了实现大规模训练，利用2D和3D训练数据集来提升模型的泛化能力是非常必要的。正如文献中所探讨的那样[^29] [^17] [^20] [^19] [^18] [^7] [^27]，我们采用了混合训练策略，充分利用不同的训练数据集，无论这些数据集是否包含配对的图像-网格标注。我们的整体目标函数可表示为：

 $$ \mathcal{L}=\alpha\times\left(\mathcal{L}_{V}+\mathcal{L}_{J}+\mathcal{L}_{J}^{r e g}\right)+\beta\times\mathcal{L}_{J}^{p r o j}, $$

其中，$\alpha$和$\beta$是每个训练样本的二进制标志，分别指示是否存在3D和2D真实值。

#### 3.5. 实现细节

我们的方法能够处理任意大小的网格。然而，由于当前硬件的内存限制，我们的Transformer处理的是粗网格：(1) 我们使用一个包含431个顶点的粗模板网格来进行位置编码，Transformer会输出一个粗网格；(2) 我们使用可学习的多层感知机（MLP）将粗网格上采样为原始网格（对于SMPL人体网格拓扑而言为6890个顶点）；(3) Transformer和MLP采用端到端训练方式。请注意，该粗网格是通过采样算法[^37]对原始网格进行两次下采样得到的。正如文献[^20]中所讨论的，先学习粗网格再进行上采样的实现方式有助于减少计算量。它还能避免原始网格中的冗余（由于顶点的空间局部性），从而使训练更高效。

### 4. 实验结果

我们首先证明，在Human3.6M和3DPW数据集上，我们的方法优于以往最先进的人体网格重建方法。接着，我们针对非局部交互和模型设计提供了消融研究及见解。最后，我们展示了该模型在手部重建上的泛化能力。

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td colspan="3">3DPW</td><td colspan="2">Human3.6M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPVE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>MPJPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>MPJPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HMR [^17]</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;'>81.3</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></tr><tr><td style='text-align: center; word-wrap: break-word;'>GraphCMR [^20]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>70.2</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>50.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SPIN [^19]</td><td style='text-align: center; word-wrap: break-word;'>116.4</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;'>-</td><td style='text-align: center; word-wrap: break-word;'>41.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh [^7]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>89.2</td><td style='text-align: center; word-wrap: break-word;'>58.9</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>47.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>I2LMeshNet [^27]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>93.2</td><td style='text-align: center; word-wrap: break-word;'>57.7</td><td style='text-align: center; word-wrap: break-word;'>55.7</td><td style='text-align: center; word-wrap: break-word;'>41.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VIBE [^18]</td><td style='text-align: center; word-wrap: break-word;'>99.1</td><td style='text-align: center; word-wrap: break-word;'>82.0</td><td style='text-align: center; word-wrap: break-word;'>51.9</td><td style='text-align: center; word-wrap: break-word;'>65.6</td><td style='text-align: center; word-wrap: break-word;'>41.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>METRO (Ours)</td><td style='text-align: center; word-wrap: break-word;'>88.2</td><td style='text-align: center; word-wrap: break-word;'>77.1</td><td style='text-align: center; word-wrap: break-word;'>47.9</td><td style='text-align: center; word-wrap: break-word;'>54.0</td><td style='text-align: center; word-wrap: break-word;'>36.7</td></tr></table>

<div style="text-align: center;">Table 1: Performance comparison with the state-of-the-art methods on 3DPW and Human3.6M datasets.</div>

#### 4.1. 数据集

遵循文献[^29]、[^17]、[^20]、[^19]、[^18]、[^7]、[^27]中的做法，我们采用3D和2D训练数据进行混合训练。下文将分别介绍各个数据集。

Human3.6M [^16]是一个包含2D和3D标注的大规模数据集。每张图像中的受试者会执行不同的动作。由于许可问题，真实的3D网格数据无法获取。因此，我们采用[^7]和[^27]中提供的伪3D网格进行训练。这些伪标签是通过用SMPLify-X [^33]进行模型拟合生成的。为了公平比较，评估时我们使用Human3.6M中提供的真实3D姿态标签。按照常规设置[^45]、[^20]、[^17]，我们使用S1、S5、S6、S7和S8这些受试者来训练模型，并用S9和S11来测试模型。

3DPW [^49]是一个包含2D和3D标注的户外图像数据集。训练集包含22K张图像，测试集有35K张图像。遵循以往最先进的方法[^18]，我们在进行3DPW相关实验时使用3DPW训练数据。

UP-3D [^21]是一个户外图像数据集。其3D标注是通过模型拟合生成的，训练集包含7K张图像。

MuCo-3DHP [^26]是基于MPI-INF-3DHP数据集[^25]合成的数据集。它将训练数据与各种真实场景背景图像相融合，包含200K张训练图像。

COCO [^22]是一个包含2D标注的大规模数据集。我们也使用[^19]中提供的伪3D网格标签，这些标签是用SMPLify-X [^33]拟合生成的。

FreiHAND [^53]是一个3D手部数据集。训练集包含130K张图像，测试集有4K张图像。我们展示了该模型在该数据集上的泛化能力。我们使用提供的数据集进行训练，并在其在线服务器上进行评估。

MPII [^1]是一个包含2D姿态标签的户外图像数据集，训练集包含14K张图像。

#### 4.2. 评估指标

我们采用以下三种标准指标来报告结果。这三种指标的单位均为毫米（mm）。

MPJPE：平均关节位置误差（MPJPE）[^16]是一种用于评估人体三维姿态的指标[^17] [^19] [^7]。MPJPE衡量的是真实关节位置与预测关节位置之间的欧几里得距离。

PA-MPJPE：PA-MPJPE，即重建误差[^52]，是另一项用于该任务的指标。它首先通过普洛克鲁斯特斯分析（PA）[^10]进行三维对齐，随后计算MPJPE。PA-MPJPE常用于评估三维重建效果[^52]，因为它衡量的是重建结构的误差，而不考虑缩放和刚性姿态（即平移和旋转）。

MPVE：平均顶点误差（MPVE）[^34]衡量的是真实顶点与预测顶点之间的欧几里得距离。

#### 4.3. 主要结果

我们在3DPW和Human3.6M数据集上将METRO与以往的最先进方法进行比较。遵循相关文献中的做法[^18] [^19] [^17] [^20]，我们使用三维和二维训练数据进行混合训练。结果如表1所示。我们的方法在这两个数据集上的表现均优于以往的研究。

首先，我们关注Transformer在3DPW野外场景重建中的表现。如表1左侧三列所示，我们的方法优于VIBE[^18]，后者曾是该数据集上的最先进方法。值得注意的是，VIBE是基于视频的方法，而我们的方法是基于图像的方法。

此外，我们在Human3.6M的室内场景下评估模型性能。我们遵循以往研究中的设置[^19] [^27]，在不使用3DPW数据的情况下训练模型。结果如表1右侧两列所示。我们的方法取得了更好的重建效果，尤其是在PA-MPJPE指标上。

Human3.6M和3DPW这两个数据集存在不同的挑战。

---

![Image](images/b42417356df21fd4453404e07365fe17538bac34674073dbbb34e592eb954b19.jpg)

<div style="text-align: center;">Figure 3: Qualitative results of our method. Given an input image (left), METRO takes non-local interactions among joints and vertices into consideration for human mesh reconstruction (right). We visualize the self-attentions between a specified joint and all other vertices, where brighter color indicates stronger attention. We observe that METRO discovers rich, input-dependent interactions among the joints and vertices.</div>

3DPW场景中的遮挡情况更为严重；而Human3.6的场景较为简单，其挑战主要在于如何准确估计人体形状。METRO在这两个数据集上均表现出色，这证明它既对遮挡具有鲁棒性，又能实现精确的人体形状回归。

#### 4.4. 消融实验

掩码顶点建模的有效性：由于我们为Transformer设计了掩码顶点建模目标，一个有趣的问题是该目标是否真的有用。表2展示了在Human3.6M上的消融实验结果。我们发现掩码顶点建模能显著改善结果。此外，我们还研究了应掩码多少比例的查询词元。我们改变了最大掩码比例，表3给出了对比结果。随着训练中掩码查询数量的增加，性能也会提升。不过，如果掩码的输入查询超过30%，其影响就会变得不那么明显。这是因为大量缺失的查询会使训练难度增大。

<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;'>MPJPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o MVM</td><td style='text-align: center; word-wrap: break-word;'>61.0</td><td style='text-align: center; word-wrap: break-word;'>39.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/ MVM</td><td style='text-align: center; word-wrap: break-word;'>54.0</td><td style='text-align: center; word-wrap: break-word;'>36.7</td></tr></table>

<div style="text-align: center;">Table 2: Ablation study of the Masked Vertex Modeling (MVM) objective, evaluated on Human3.6M.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Max Percentage</td><td style='text-align: center; word-wrap: break-word;'>0%</td><td style='text-align: center; word-wrap: break-word;'>10%</td><td style='text-align: center; word-wrap: break-word;'>20%</td><td style='text-align: center; word-wrap: break-word;'>30%</td><td style='text-align: center; word-wrap: break-word;'>40%</td><td style='text-align: center; word-wrap: break-word;'>50%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE</td><td style='text-align: center; word-wrap: break-word;'>39.1</td><td style='text-align: center; word-wrap: break-word;'>37.6</td><td style='text-align: center; word-wrap: break-word;'>37.5</td><td style='text-align: center; word-wrap: break-word;'>36.7</td><td style='text-align: center; word-wrap: break-word;'>38.2</td><td style='text-align: center; word-wrap: break-word;'>37.3</td></tr></table>

<div style="text-align: center;">Table 3: Ablation study of the Masked Vertex Modeling objective using different percentages of masked queries, evaluated on Human3.6M. The variable n% indicates we mask randomly from 0% to n% of input queries.</div>

非局部交互作用：为了进一步了解METRO在学习关节与网格顶点间交互作用方面的效果，我们对Transformer中的自注意力机制进行了分析。

---

<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 $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>F@5 mm $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>F@15 mm $\uparrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hasson et al [^17]</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. [^20]</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 [^19]</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 [^7]</td><td style='text-align: center; word-wrap: break-word;'>7.8</td><td style='text-align: center; word-wrap: break-word;'>7.7</td><td style='text-align: center; word-wrap: break-word;'>0.674</td><td style='text-align: center; word-wrap: break-word;'>0.969</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>I2LMeshNet [^27]</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.681</td><td style='text-align: center; word-wrap: break-word;'>0.973</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>METRO (Ours)</td><td style='text-align: center; word-wrap: break-word;'>6.3</td><td style='text-align: center; word-wrap: break-word;'>6.5</td><td style='text-align: center; word-wrap: break-word;'>0.731</td><td style='text-align: center; word-wrap: break-word;'>0.984</td></tr></table>

<div style="text-align: center;">Table 4: Performance comparison with the state-of-the-art methods, evaluated on FreiHAND online server. METRO outperforms previous state-of-the-art approaches by a large margin.</div>

图3展示了自注意力机制和网格重建的可视化结果。在图3的每一行中，我们展示了输入图像，以及指定关节与所有网格顶点之间的自注意力权重。颜色越亮表示注意力越强。在第一行中，受试者被严重遮挡，右侧身体部位不可见。在预测右手腕位置时，METRO会关注相关的非局部顶点，尤其是头部和左手上的顶点。在最后一行中，受试者身体弯曲程度较大。对于头部位置的预测，METRO会关注脚部和手部（最后一行第6列）。从直觉上看，这合乎常理，因为手部和脚部的位置能为身体姿态乃至头部位置提供重要线索。此外，我们观察到模型会根据输入图像来调整自注意力机制。如图3第二行所示，在预测右手腕位置时，METRO更关注右脚，这一现象与其他三行的注意力模式有所不同。

我们进一步对非局部交互作用进行了定量分析。我们从3DPW测试集中随机选取5000张图像，并估算出整体的自注意力图。该图是最后一个Transformer层中所有注意力头的平均注意力权重。我们在图4中可视化了14个身体关节与431个网格顶点之间的交互作用。每个像素代表自注意力的强度，颜色越深表示注意力越强。请注意，前14列对应身体关节，其余部分则代表网格顶点。我们观察到METRO对前臂和下腿部位的顶点给予了高度关注。这与逆向运动学文献中的结论一致[^2]，即可以通过末端执行器的位置来估算连杆机构内部关节的位置。

输入表征：我们通过使用不同的CNN骨干网络来研究Transformer架构的行为特性。本次实验采用了ResNet50[^13]和HRNet[^51]变体。所有骨干网络均在ImageNet的1000类图像分类任务上预训练完成[^40]。针对每种骨干网络，我们提取全局图像特征向量$X \in \mathbb{R}^{2048 \times 1}$，并将其输入到Transformer中。从表5中可以看出，我们的Transformer模型取得了具有竞争力的性能。

![Image](images/9b85770b8d31d3e9c3d31feffe58c05b68354368b7ce4efaa8044894f312f48c.jpg)

<div style="text-align: center;">Figure 4: Visualization of self-attentions among body joints and mesh vertices. The x-axis and y-axis correspond to the queries and the predicted outputs, respectively. The first 14 columns from the left correspond to the body joints. The rest of columns correspond to the mesh vertices. Each row shows the attention weight  $w_{i,j}$ of the j-th query for the i-th output. Darker color indicates stronger attention.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Backbone</td><td style='text-align: center; word-wrap: break-word;'>MPJPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PA-MPJPE $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResNet50</td><td style='text-align: center; word-wrap: break-word;'>56.5</td><td style='text-align: center; word-wrap: break-word;'>40.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HRNet-W40</td><td style='text-align: center; word-wrap: break-word;'>55.9</td><td style='text-align: center; word-wrap: break-word;'>38.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HRNet-W64</td><td style='text-align: center; word-wrap: break-word;'>54.0</td><td style='text-align: center; word-wrap: break-word;'>36.7</td></tr></table>

<div style="text-align: center;">Table 5: Analysis on different backbones, evaluated on Human3.6M. All backbones are pre-trained on ImageNet. We observe that increasing the number of filters in the high resolution feature maps of HRNet is beneficial to mesh regression.</div>

---

![Image](images/769229eb25d1305f8efe607f5c439dfc82fefab037542a23d22a7ccb80cff827.jpg)

<div style="text-align: center;">Figure 5: Qualitative results of our method on FreiHAND test set. We visualize the self-attentions between a specified joint and all the mesh vertices, where brighter color indicates stronger attention. METRO is a versatile framework that can be easily extended to 3D hand reconstruction.</div>

当使用ResNet50骨干网络时表现尤为突出。随着HRNet中高分辨率特征图的通道数增加，我们进一步观察到了性能的提升。

对野外3D手部数据的泛化能力：METRO能够预测任意关节和顶点位置，无需依赖邻接矩阵或参数系数。因此，METRO在其它物体的网格重建方面具有极高的灵活性与通用性。为了验证这一能力，我们在FreiHAND数据集上开展了实验[^53]。我们从头开始训练模型，并在FreiHAND在线服务器上评估结果。表4显示了该方法与以往工作的对比情况。METRO的性能大幅超越了以往的最优方法。在无需使用任何外部训练数据的情况下，METRO在论文提交时便在FreiHAND排行榜上位列第一$^{1}$。

图5展示了包含非局部交互作用的定性结果。在补充材料中，我们进一步分析了3D手部关节，结果表明METRO学到的自注意力机制与逆向运动学原理相符[^2]。

### 5. 结论

我们提出了一种简单却高效的网格变换器框架，能够从单张输入图像中重建人体姿态和网格。我们引入了掩码顶点建模目标，用以学习身体关节与网格顶点之间的非局部交互关系。实验结果表明，我们的方法在3DPW、Human3.6M和FreiHAND数据集上均取得了领先的性能。

详细分析表明，性能的提升主要归功于METRO中所学到的依赖输入的非局部交互关系；这种关系能够基于重要的关节和顶点进行预测，且不受网格拓扑结构的影响。我们进一步验证了所提方法在3D手部重建任务中的泛化能力。

---

## 参考文献

[^1]: Mykhaylo A $^{1}$ Peter Gehler, and Bern $^{1}$ benchmark

[^2]: Andreas Aristidou, Joan Lasenby, Yiorgos Chrysanthou, and Ariel Shamir. Inverse kinematics techniques in computer graphics: A survey. In Computer Graphics Forum, 2018.

[^3]: Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by jointly learning to align and translate. In ICLR, 2015.

[^4]: Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. arXiv preprint arXiv:2005.14165, 2020.

[^5]: Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko. End-to-end object detection with transformers. In ECCV, 2020.

[^6]: Mark Chen, Alec Radford, Rewon Child, Jeff Wu, Heewoo Jun, Prafulla Dhariwal, David Luan, and Ilya Sutskever. Generative pretraining from pixels. In ICML, 2020.

[^7]: Hongsuk Choi, Gyeongsik Moon, and Kyoung Mu Lee. Pose2mesh: Graph convolutional network for 3d human pose and mesh recovery from a 2d human pose. In ECCV, 2020.

[^8]: Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. In NAACL, 2019.

[^9]: Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. An image is worth $16 \times 16$ words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020.

[^10]: John C Gower. Generalized procrustes analysis. Psychometrika, 1975.

[^11]: Thibault Groueix, Matthew Fisher, Vladimir G Kim, Bryan C Russell, and Mathieu Aubry. 3d-coded: 3d correspondences by deep deformation. In ECCV, 2018.

[^12]: Peng Guan, Alexander Weiss, Alexandru O Balan, and Michael J Black. Estimating human shape and pose from a single image. In ICCV, 2009.

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

[^14]: Geoffrey E Hinton and Ruslan R Salakhutdinov. Reducing the dimensionality of data with neural networks. Science, 2006.

[^15]: Yinghao Huang, Manuel Kaufmann, Emre Aksan, Michael J. Black, Otmar Hilliges, and Gerard Pons-Moll. Deep inertial poser learning to reconstruct human pose from sparse inertial measurements in real time. ACM Transactions on Graphics, 37(6):185:1–185:15, Nov. 2018.

[^16]: Catalin Ionescu, Dragos Papava, Vlad Olaru, and Cristian Sminchisescu. Human3.6m: Large scale datasets and predictive methods for 3d human sensing in natural environments. IEEE Transactions on Pattern Analysis and Machine Intelligence, 36(7):1325–1339, 2014.

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

[^18]: Muhammed Kocabas, Nikos Athanasiou, and Michael J. Black. Vibe: Video inference for human body pose and shape estimation. In CVPR, 2020.

[^19]: Nikos Kolotouros, Georgios Pavlakos, Michael J Black, and Kostas Daniilidis. Learning to reconstruct 3d human pose and shape via model-fitting in the loop. In ICCV, 2019.

[^20]: Nikos Kolotouros, Georgios Pavlakos, and Kostas Danilidis. Convolutional mesh regression for single-image human shape reconstruction. In CVPR, 2019.

[^21]: 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.

[^22]: 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.

[^23]: Yankai Lin, Shiqi Shen, Zhiyuan Liu, Huanbo Luan, and Maosong Sun. Neural relation extraction with selective attention over instances. In ACL, 2016.

[^24]: Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J Black. Smpl: A skinned multi-person linear model. ACM Transactions on Graphics, 34(6):248, 2015.

[^25]: Dushyant Mehta, Helge Rhodin, Dan Casas, Pascal Fua, Oleksandr Sotnychenko, Weipeng Xu, and Christian Theobalt. Monocular 3d human pose estimation in the wild using improved cnn supervision. In 3DV, 2017.

[^26]: Dushyant Mehta, Oleksandr Sotnychenko, Franziska Mueller, Weipeng Xu, Srinath Sridhar, Gerard Pons-Moll, and Christian Theobalt. Single-shot multi-person 3D pose estimation from monocular rgb. In 3DV, 2018.

[^27]: Gyeongsik Moon and Kyoung Mu Lee. I2l-meshnet: Image-to-pixel prediction network for accurate 3d human pose and mesh estimation from a single-RGB image. In ECCV, 2020.

[^28]: Richard A Newcombe, Shahram Izadi, Otmar Hilliges, David Molyneaux, David Kim, Andrew J Davison, Pushmeet Kohli, Jamie Shotton, Steve Hodges, and Andrew W Fitzgibbon. Kinectfusion: Real-time dense surface mapping and tracking. In ISMAR, 2011.

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

[^30]: Ahmed A A Osman, Timo Bolkart, and Michael J. Black. STAR: A spare trained articulated human body regressor. In ECCV, 2020.

[^31]: Ankur P Parikh, Oscar Täckström, Dipanjan Das, and Jakob Uszkoreit. A decomposable attention model for natural language inference. arXiv preprint arXiv:1606.01933, 2016.

## [^32]: Niki Parmar, Ashish Vaswani, Jakob Uszkoreit, Lukasz Kaiser, Noam Shazeer, Alexander Ku, and Dustin Tran. Image transformer. In ICML, 2018

---

[^33]: Georgios Pavlakos, Vasileios Choutas, Nima Ghorbani, Timo Bolkart, Ahmed A. A. Osman, Dimitrios Tzionas, and Michael J. Black. Expressive body capture: 3d hands, face, and body from a single image. In CVPR, 2019.

[^34]: 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.

[^35]: Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding by generative pre-training. Technical report, 2018.

[^36]: Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. Language models are unsupervised multitask learners. Technical report, 2019.

[^37]: Anurag Ranjan, Timo Bolkart, Soubhik Sanyal, and Michael J Black. Generating 3d faces using convolutional mesh autoencoders. In ECCV, 2018.

[^38]: Javier Romero, Dimitrios Tzionas, and Michael J. Black. Embodied hands: Modeling and capturing hands and bodies together. SIGGRAPH Asia, 2017.

[^39]: Yu Rong, Ziwei Liu, Cheng Li, Kaidi Cao, and Chen Change Loy. Delving deep into hybrid annotations for 3d human recovery in the wild. In ICCV, 2019.

[^40]: Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, et al. Imagenet large scale visual recognition challenge. International Journal of Computer Vision, 2015.

[^41]: Shunsuke Saito, Zeng Huang, Ryota Natsume, Shigeo Morishima, Angjoo Kanazawa, and Hao Li. Pifu: Pixel-aligned implicit function for high-resolution clothed human digitization. arXiv preprint arXiv:1905.05172, 2019.

[^42]: Shunsuke Saito, Tomas Simon, Jason Saragih, and Hanbyul Joo. Pifuhd: Multi-level pixel-aligned implicit function for high-resolution 3d human digitization. In CVPR, 2020.

[^43]: Daeyun Shin, Zhile Ren, Erik B Sudderth, and Charless C Fowlkes. 3d scene reconstruction with multi-layer depth and epipolar transformers. In ICCV, 2019.

[^44]: Wilson L Taylor. “cloze procedure”: A new tool for measuring readability. Journalism quarterly, 1953.

[^45]: Bugra Tekin, Artem Rozantsev, Vincent Lepetit, and Pascal Fua. Direct prediction of 3d body poses from motion compensated sequences. In CVPR, 2016.

[^46]: Hsiao-Yu Tung, Hsiao-Wei Tung, Ersin Yumer, and Katerina Fragkiadaki. Self-supervised learning of motion capture. In NeurIPS, 2017.

[^47]: Gul Varol, Duygu Ceylan, Bryan Russell, Jimei Yang, Ersin Yumer, Ivan Laptev, and Cordelia Schmid. Bodynet: Volumetric inference of 3d human body shapes. In ECCV, 2018.

[^48]: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In NeurIPS, 2017.

[^49]: Timo von Marcard, Roberto Henschel, Michael Black, Bodo Rosenhahn, and Gerard Pons-Moll. Recovering accurate 3d human pose in the wild using imus and a moving camera. In ECCV, 2018.

[^50]: Jiang Wang, Zicheng Liu, Ying Wu, and Junsong Yuan. Mining actionlet ensemble for action recognition with depth cameras. In CVPR, 2012.

[^51]: Jingdong Wang, Ke Sun, Tianheng Cheng, Borui Jiang, Chaorui Deng, Yang Zhao, Dong Liu, Yadong Mu, Mingkui Tan, Xinggang Wang, Wenyu Liu, and Bin Xiao. Deep high-resolution representation learning for visual recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019.

[^52]: Xiaowei Zhou, Menglong Zhu, Georgios Pavlakos, Spyridon Leonardos, Konstantinos G Derpanis, and Kostas Danilidis. Monocap: Monocular human motion capture using a cnn coupled with a geometric prior. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018.

[^53]: Christian Zimmermann, Duygu Ceylan, Jimei Yang, Bryan Russell, Max Argus, and Thomas Brox. Freihand: A dataset for markerless capture of hand pose and shape from single rgb images. In ICCV, 2019.
