
# NeuralAnnot：用于3D人体网格训练集的神经网络标注器

文硕·穆恩 $^{1}$ 洪硕·崔 $^{1}$ 庆模·李 $^{1,2}$

 $^{1}$电子计算机工程系及ASRI实验室，$^{2}$IPAI中心，首尔大学，韩国 {mks0601,redarknight,kyoungmu}@snu.ac.kr

## 摘要

大多数3D人体网格回归器采用全监督方式，使用3D伪真实值人体模型参数进行训练；而采用弱监督方式时，以真实值的2D/3D关节坐标作为3D伪真实值，可带来显著的性能提升。这些3D伪真实值由标注器生成，这类系统会在回归器的预处理阶段，迭代地将3D人体模型参数拟合到训练集的真实2D/3D关节坐标上。最后一次拟合得到的3D参数即为3D伪真实值，用于实现对回归器的全监督。基于优化的标注器（如SMPLify-X）已被广泛用于获取3D伪真实值。不过，由于它们是对每个样本独立地将3D参数拟合到真实值上，因此常常会产生错误的3D伪真实值。为克服这一局限，我们提出了NeuralAnnot——一种基于神经网络的标注器。NeuralAnnot的核心思路是采用基于神经网络的回归器来专门完成标注任务。在假设没有现成3D伪真实值可用的情况下，NeuralAnnot利用训练集的真实2D/3D关节坐标进行弱监督。在相同训练集上测试得到的结果便可作为3D伪真实值，用于实现对回归器的全监督。实验表明，NeuralAnnot生成的3D伪真实值对训练回归器极具益处。我们已公开提供所生成的3D伪真实值。

### 1. 引言

3D人体网格估计旨在定位3D空间中的人体网格顶点。大多数3D人体网格回归器会使用两类数据集 [^2] [^10] [^12] [^21] [^22] [^28]。第一类是动作捕捉（MoCap）数据集 [^5] [^7] [^19] [^23] [^31]，这类数据是在严格受限的环境下（如动作捕捉工作室），用经过精密校准的多台摄像机采集的。由于有专用设备，因此可以获得真实的3D关节坐标；但受限的环境导致采集到的图像外观较为单一。第二类是自然场景数据集 [^6] [^17]，这类数据是在日常生活中无需专用设备即可采集的，图像外观多样。不过，只能通过人工标注获得真实的2D关节坐标，由于存在深度和尺度歧义，无法得到3D真实值。这些真实2D/3D关节坐标被用于弱监督3D人体网格回归器。

<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;'>Supervision targets</td><td style='text-align: center; word-wrap: break-word;'>Where to test</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>One-stage annotator ( [^26], Ours)</td><td style='text-align: center; word-wrap: break-word;'>GT 2D/3D joint coord.</td><td style='text-align: center; word-wrap: break-word;'>Training set</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Two-stage annotator [^8] [^12]</td><td style='text-align: center; word-wrap: break-word;'>GT 2D/3D joint coord. + initial 3D pseudo-GTs</td><td style='text-align: center; word-wrap: break-word;'>Training set</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Regressor [^10] [^13] [^22]</td><td style='text-align: center; word-wrap: break-word;'>GT 2D/3D joint coord. + 3D pseudo-GTs</td><td style='text-align: center; word-wrap: break-word;'>Test set</td></tr></table>

<div style="text-align: center;">Table 1. Comparison of one-stage annotator (ours), two-stage annotator, and regressor.</div>

这些外观是我们日常生活中无需特殊设备即可观察到的。然而，仅有通过人工劳动才能获取 GT 2D 关节坐标，而由于深度和尺度上的不确定性，无法获得 3D GT。GT 2D/3D 关节坐标被用于为 3D 人体网格回归器提供弱监督。

除了使用带有GT 2D/3D关节坐标的弱监督数据外，这些回归器还利用3D伪GT人体模型参数进行完全监督。SMPL身体模型[^18]、MANO手部模型[^27]、FLAME面部模型[^16]以及SMPL-X[^26]全身模型都是常用的3D人体模型。它们的参数（即3D伪GT）包括3D关节旋转以及身体形状、手部形状或面部表情的隐码。“伪”意味着这些参数是通过拟合GT 2D/3D关节坐标获得的，因此它们并非真正的GT。尽管3D伪GT可能存在拟合误差，但它们在两个方面对GT 2D/3D关节坐标形成了补充。首先，对于3D人体网格回归器而言，3D伪GT是完整的监督目标，而GT 2D/3D关节坐标只是弱监督目标。这是因为输入人体的3D伪GT代表了唯一确定的3D人体网格，而输入人体的2D/3D关节坐标却可能对应多个3D人体网格。例如，3D关节坐标无法确定每个关节的单轴旋转；此外，2D关节坐标存在严重的深度歧义，导致多个3D网格都能投影到相同的2D关节坐标上。其次，3D伪GT能够为自然场景数据集提供3D标注。

---

由于自然场景数据集仅包含GT 2D关节坐标而没有3D数据，因此自然场景数据集的3D伪GT能够解决3D人体网格估计中最主要的瓶颈——野外3D数据的匮乏问题。基于上述两点，3D伪GT能带来显著的性能提升，因此大多数3D人体网格估计回归器[^2] [^10] [^12] [^22] [^28]均采用3D伪GT进行完全监督，同时用GT 2D/3D关节坐标进行弱监督。

3D伪GT是由标注者在回归器的预处理阶段，通过迭代拟合3D人体模型参数与训练集的GT 2D/3D关节坐标得到的。最后一次拟合迭代得到的3D参数即为3D伪GT。在利用3D伪GT进行完全监督、GT 2D/3D关节坐标进行弱监督之后，回归器会在测试集上的未见样本上进行测试。表1展示了单阶段标注器、双阶段标注器和回归器的对比情况。属于单阶段标注器的SMPLify-X[^26]无需初始3D伪GT即可输出3D伪GT。SMPLify-X会将T姿势下的3D人体模型参数拟合到每个样本的GT 2D关节坐标上。我们将单阶段标注器的标注过程记为$f_1$。另一方面，属于双阶段标注器的SPIN[^12]和EFT[^8]会在双阶段标注器的预处理阶段，先从单阶段标注器那里获取初始3D伪GT。这是双阶段标注器的第一阶段，其标注过程与单阶段标注器完全一致：$f_1$。随后在第二阶段，它们会以初始3D伪GT为完全监督目标，以GT 2D/3D关节坐标为弱监督目标，从而得到最终的3D伪GT。

在现有文献中，基于优化的标注器（如SMPLify-X [^26]）被广泛使用。然而，由于它们独立地为每个样本拟合三维参数，因此常常会产生错误的三维伪真值。为克服这一局限，我们提出了NeuralAnnot——首个基于神经网络的单阶段标注器。NeuralAnnot的核心思想是采用基于神经网络的回归器来专门完成标注任务。在假设没有三维伪真值可用的情况下，NeuralAnnot利用训练集的二维/三维关节坐标作为弱监督信号；随后，它会在同一训练集上进行测试。测试所得结果便成为三维伪真值，用于全面监督回归器的训练。我们会在回归器的预处理阶段对NeuralAnnot进行训练和测试。NeuralAnnot的训练与测试流程与回归器明显不同：回归器是在训练集上训练，在未见过的测试集上测试；而NeuralAnnot则是在同一训练集上训练和测试。由于它是在训练集中已出现过的样本上测试，因此无需担心其对未见数据的泛化性能。与SMPLify-X类似，我们的NeuralAnnot也是单阶段标注器，它不需要初始的三维伪真值，仅凭借二维/三维关节坐标就能生成三维伪真值。

实验结果表明，仅使用回归器进行标注并不能得到高质量的三维伪真值。尤其是自然场景数据集仅提供二维关节坐标而无三维信息，因此克服深度歧义是这类数据集标注的主要难点之一。我们研究了针对自然场景数据集和动作捕捉数据集的最佳输入输出组合。

为了公平比较，我们选择SMPLify-X [^26]作为主要对比对象，因为它与我们的NeuralAnnot一样属于单阶段标注器，且应用最为广泛。在实验部分，我们将NeuralAnnot改为两阶段标注器后，还会将其与SPIN、EFT进行比较。所有评估指标均用于衡量训练集生成的三维伪真值的准确性和实用性。结果显示，我们的NeuralAnnot生成的三维伪真值质量远高于SMPLify-X。我们利用NeuralAnnot获取人体、手部、面部及全身的三维伪真值，所有三维伪真值都将公开发布。

我们的贡献可总结如下。

- 我们提出了NeuralAnnot，这是首个基于神经网络的单阶段标注器。NeuralAnnot在同一训练集上训练和测试，以生成用于全面监督回归器的三维伪真值。

- 得益于神经网络的数据驱动学习能力，我们的NeuralAnnot生成的三维伪真值比以往基于优化的标注器更精确、更具实用价值。

- 新获得的三维伪真值将公开发布。我们相信这些新的三维伪真值将对相关领域大有裨益。

### 2. 相关工作

基于优化的3D伪GT注释器。这类基于优化的注释器针对目标2D/3D关节坐标、3D点云或3D扫描数据拟合3D人体模型参数，从而生成3D伪GT。它们在对每个样本进行拟合时并不考虑其他样本。SMPLify [^1]通过最小化2D损失及若干先验项，将SMPL [^18]模型拟合到给定的2D关节坐标上。Joo等人 [^9]通过把全身3D人体模型（即Adam和Frank）拟合到估计的3D关节坐标与3D点云上，构建了Total Capture数据集。SMPLify-X [^26]提出了新的3D全身人体模型SMPL-X，从而将SMPLify扩展为适用于3D人体全身模型优化的工具。Von等人 [^30]通过将SMPL参数拟合到检测到的2D关节坐标与IMU传感器数值上，构建了3DPW数据集。Zimmermann等人 [^33]通过……构建FreiHAND数据集。

---

将MANO参数拟合到多视角2D手部关节坐标、3D手部关节坐标以及分割结果上。Kulon等人 [^14]通过将MANO参数拟合到检测到的2D手部关节坐标上，构建了Youtube3DHand数据集。Patel等人 [^25]通过将SMPL和SMPL-X参数拟合到3D扫描数据上，构建了AGORA数据集。其中，SMPLify-X [^26]是获取3D伪GT时应用最广泛的注释器。

基于神经网络的3D伪GT注释器。

SPIN [^12]和EFT [^8]是近期提出的基于神经网络的注释器。SPIN首先利用神经网络预测SMPL参数，随后运行基于优化的注释器 [^1]，将预测的SMPL参数拟合到真实2D关节坐标上。每个样本的最终3D伪GT是通过在其基于优化的注释器输出结果与预先准备的初始3D伪GT之间，选取SMPLify损失 [^1]较小的一个来确定的。这些初始3D伪GT是在训练网络之前，通过对真实2D关节坐标运行SMPLify而生成的。EFT [^8]则对SPIN的预训练网络进行微调，使其适配每个样本的真实2D关节坐标，最后一次微调迭代的输出结果便成为该样本的3D伪GT。

我们的NeuralAnnot与SPIN/EFT之间的一个关键区别在于：NeuralAnnot属于单阶段注释器，而SPIN/EFT属于两阶段注释器。单阶段注释器无需初始3D伪GT，仅借助真实2D/3D关节坐标的弱监督即可生成3D伪GT。相比之下，两阶段注释器会在预处理阶段先使用单阶段注释器来获取初始3D伪GT。SPIN和EFT采用基于优化的注释器 [^1] [^26]作为单阶段注释器来生成初始3D伪GT；随后在第二阶段，以这些初始3D伪GT作为完全监督信号，同时结合真实2D/3D关节坐标的弱监督信号，最终得到3D伪GT。由于单阶段与两阶段注释器存在上述差异，SPIN和EFT并非我们的直接对比对象。不过，我们的NeuralAnnot可以通过替换其预处理阶段的基于优化的注释器，来优化它们的注释流程。尽管如此，为了清晰展示NeuralAnnot的优势，我们在实验部分将NeuralAnnot改为两阶段注释器后再与SPIN、EFT进行对比。对比结果显示，两阶段的NeuralAnnot生成的3D伪GT比SPIN和EFT的结果要优越得多。

### 3. NeuralAnnot

#### 3.1. 网络架构

NeuralAnnot能够从单张图像I中预测3D人体模型参数$\Theta$。我们将NeuralAnnot设计为ResNet-50[^4]与全连接层的简单组合。

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

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

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

<div style="text-align: center;">(b) In-the-wild datasets annotation</div>

<div style="text-align: center;">Figure 1. The overall pipeline of NeuralAnnot. (a) For the MoCap dataset annotation, it takes a pair of (image, GT 3D joint coordinates) and is supervised with GT 3D joint coordinates. (b) For the in-the-wild dataset annotation, it takes an image and is supervised with GT 2D joint coordinates.</div>

其中，f用于提取图像特征向量f，并分别回归出一组3D人体模型参数$\Theta$。每组3D人体模型参数$\Theta$会因人体模型的不同而有所差异，具体将在第4节中介绍。由于我们的主要目标并非提出新的网络架构，因此采用了最广泛使用的网络架构[^10] [^12]，即ResNet与全连接层的组合。

#### 3.2. MoCap数据集标注

MoCap数据集提供外观单一的图像以及GT 3D关节坐标J$^{3D}$。NeuralAn无需借助初始的3D伪GT数据，即可从零开始获取MoCap数据集的3D伪GT，我们将其称为“单阶段标注”。为此，我们如图1(a)所示，将图像特征向量f和GT 3D关节坐标J$^{3D}$输入到网络中。需要注意的是，3D伪GT包含3D关节旋转信息和3D人体模型的隐码，这些信息无法直接从3D关节坐标中获得。图像特征向量f提供了人体动作和形状信息，而GT 3D关节坐标J$^{3D}$则额外提供了深度和真实尺度信息，这是2D图像特征所缺乏的。具体而言，GT 3D关节坐标J$^{3D}$会通过两个全连接层转换为512维的特征，再与全局平均池化后的ResNet输出特征f进行拼接。拼接后的特征会被送入全连接层f，以用于回归3D人体模型参数。预测出的3D人体模型参数中的关节3D旋转最初采用Zhou等人提出的6D旋转表示形式[^32]，之后再转换为3D轴角旋转。损失函数定义如下：

 $$ {\cal L}_{\mathrm{m o c a p}}=\|\hat{\mathbf{J}}^{\mathrm{3D}}-\mathbf{J}^{\mathrm{3D}}\|_{1}+\sum_{\theta\in\Theta}\lambda_{\mathrm{m o c a p},\theta}\hat{\theta}^{2}, $$

---

其中，帽子标记表示预测输出。第一项来自GT 3D关节坐标的弱监督信号，第二项则是正则化项。$\tilde{J}^{3D}$是通过将人体模型的关节回归矩阵与3D网格相乘得到的，这里的3D网格是将3D人体模型参数$\Theta$输入到3D人体模型层后生成的。$\lambda_{\mathrm{mocap}, \theta}$表示每个3D人体参数$L2$的$\theta$范数正则化权重。$L2$范数正则化能够防止生成不合理的人体3D网格，这一方法在以往的研究中已被广泛应用[^1] [^26]。网络在训练集上输出的$\Theta$便会成为3D伪GT数据。

#### 3.3. 自然场景数据集标注

自然场景数据集提供了外观多样的图像以及二维关节坐标真值$\mathbf{J^{2D}}$。NeuralAnnot无需初始的三维伪真值，就能从零开始为自然场景数据集生成三维伪真值，我们将其称为单阶段标注。为此，一个全连接层f会接收图像特征向量f，并输出三维人体模型参数$\Theta$，如图1(b)所示。与MoCap数据集的标注场景不同，NeuralAnnot输入的是单张图像，无需额外的关节坐标，具体原因将在实验部分说明。由于自然场景数据集仅提供二维关节坐标真值而无三维数据，训练NeuralAnnot网络时只能采用二维监督方式，这可能会因深度模糊性而产生不合理的三维人体网格。为防止NeuralAnnot网络生成不合理的三维人体网格，我们借鉴SMPLify-X [^26]的设计思路，让其预测三维旋转的低维嵌入（即身体部位的VPoser潜码[^27]，手部部位的PCA系数[^26]），而非像在MoCap数据集上训练时那样直接预测三维关节旋转。这种低维嵌入能有效将输出空间限制在合理的三维人体运动空间内，从而避免产生不合理的三维人体网格。损失函数定义如下：

 $$ L_{\mathrm{w i l d}}=\|\hat{\mathbf{J}}^{\mathrm{2D}}-\mathbf{J}^{\mathrm{2D}}\|_{1}+\sum_{\theta\in\Theta}\lambda_{\mathrm{w i l d},\theta}\hat{\theta}^{2}, $$

其中，帽子标记表示预测输出。第一项是基于二维关节坐标真值的弱监督，第二项是正则化项。$\hat{\mathbf{J}}^{2D}$是通过预测的相机参数将三维关节坐标$\hat{\mathbf{J}}^{3D}$投影到图像平面得到的。$\lambda_{\text{wild},\theta}$表示每个三维人体模型参数$L2$的$\theta$范数正则化权重。与在MoCap数据集上训练网络时类似，我们使用$L2$范数正则化来防止出现不合理的三维人体网格。网络在训练集上输出的$\Theta$便成为三维伪真值。

### 4. 身体、手部和面部的三维伪真值

我们利用NeuralAnnot来获取身体、手部、面部以及全身的三维伪真值。下文将介绍获取这些三维伪真值的方法。

身体。我们采用SMPL [^18]和SMPL-X [^26]作为三维身体模型。为了获取SMPL三维伪真值，网络会预测三维身体全局旋转$\theta_b^g \in \mathbb{R}^3$、三维身体旋转$\theta_b \in \mathbb{R}^{21 \times 3}$、形状参数$\beta_b \in \mathbb{R}^{10}$以及相机参数$k_b \in \mathbb{R}^3$。用于生成SMPL-X三维伪真值的网络也会输出相同的结果；不过三维身体旋转的关节集合$\theta_b$会替换为SMPL-X对应的关节集合。来自手部和面部的其他SMPL-X参数则被设为零。在针对MoCap数据集标注和自然场景数据集标注训练NeuralAnnot网络时，我们分别将$\Theta$设为$\{\theta_b, \beta_b\}$和$\{z_b, \beta_b\}$。$z_b$表示VPoser的潜码[^26]。

手部。我们采用MANO [^27]作为三维手部模型。为了获取MANO三维伪真值，网络会预测三维手部全局旋转$\theta_h^g \in \mathbb{R}^3$、三维手部旋转$\theta_h \in \mathbb{R}^{15 \times 3}$、形状参数$\beta_h \in \mathbb{R}^{10}$以及相机参数$k_h \in \mathbb{R}^3$。所有手部图像都会被转换为右手图像，随后再将估算出的左手伪真值翻转回来。在针对MoCap数据集标注和自然场景数据集标注训练NeuralAnnot网络时，我们分别将$\Theta$设为$\{\theta_h, \beta_h\}$和$\{z_h, \beta_h\}$。$z_h$表示MANO中定义的三维手部姿态PCA系数。

人脸。我们使用FLAME [^16] 作为3D人脸模型。为了获取FLAME 3D伪真值，我们的网络会预测3D人脸全局旋转 $\theta_f^g \in \mathbb{R}^3$、3D下颌旋转 $\theta_f \in \mathbb{R}^3$、形状参数 $\beta_f \in \mathbb{R}^{10}$ 以及表情编码 $\psi \in \mathbb{R}^{10}$。我们将 $\Theta$ 设置为 $\{\theta_f, \beta_f, \psi\}$。

与全身模型的整合。在获得身体、手部和人脸的3D伪真值后，我们将 $\{\theta_{b}^{g}, \theta_{b}, \beta_{b}, \theta_{rh}^{g}, \theta_{rh}, \theta_{lh}^{g}, \theta_{lh}, \theta_{f}, \psi\}\}$ 输入到SMPL-X中，从而得到最终的全身3D伪真值；其中 $*_{rh}$ 和 $*_{lh}$ 分别表示来自右手和左手的 $\theta_{b}$。$\theta_{b}^{g}$、$\theta_{b}$ 和 $\beta_{b}$ 均来自SMPL-X的3D伪真值。MANO模型的3D手部旋转 $\theta_{h}$，以及FLAME模型的3D下颌旋转 $\theta_{f}$ 和面部表情编码 $\psi$，均与SMPL-X的结果兼容，因此我们会将其用于最终的3D伪真值。由于 $\theta_{h}^{g}$ 并非人体运动链中的3D局部旋转，我们通过乘以3D肘部全局旋转的逆矩阵，将其3D全局旋转转换为3D局部旋转。

### 5. 实验

#### 5.1. 实现细节

实现过程中使用了PyTorch [^24]。主干网络部分采用公开发布的ResNet50 [^4] 进行初始化，该模型已在ImageNet [^29] 上预训练。权重更新通过Adam优化器 [^11] 完成，小批量大小为192。所有输入图像均利用真实标注框进行裁剪，并调整大小为 $256 \times 256$。初始学习率设为 $10^{-4}$，收敛后会将其缩小为原来的十分之一。

---

![Image](images/cee9fdac77d8e352c624349df04a0f75ac83c23d2cd63108bc578953a5f29f5d.jpg)

<div style="text-align: center;">(b) Indirect 3D annotation error (How much 3D pseudo-GTs are beneficial?)</div>

<div style="text-align: center;">Figure 2. Illustrations of our metrics to evaluate annotators. (a) Direct 3D annotation error measures MPJPE and MPVPE, only applicable to datasets that provide 3D GTs. (b) Indirect 3D annotation error measures 3D errors of regressors, such as I2L-MeshNet [^22] and HMR [^10], on 3D benchmarks after training them on the obtained 3D pseudo-GTs of MSCOCO. This is used for in-the-wild datasets as the absence of 3D GTs makes it impossible to calculate the direct 3D annotation error.</div>

#### 5.2. 标注所用数据集

我们采用了下述多种数据集进行标注。请注意，除了这些数据集外，NeuralAnnot还可用于任何提供2D/3D关节坐标真值的数据集。

动作捕捉数据集。我们对Human3.6M [^5]、MPI-INF-3DHP [^19] 和3DPW [^30] 的3D身体伪真值进行了标注。此外，还标注了InterHand2.6M [^23] 和FreiHAND [^33] 的3D手部伪真值。其中仅有3DPW和FreiHAND提供了3D网格真值，其余数据集仅包含3D关节坐标真值，没有对应的网格数据。

自然场景数据集。我们对MSCOCO [^6] [^17] 的3D身体、手部、人脸及全身伪真值进行了标注。该数据集仅提供2D关节坐标真值，没有3D坐标真值。

#### 5.3. 评估指标

直接3D标注误差。图2(a)展示了直接3D标注误差的计算方法。该误差通过平均关节位置误差（MPJPE）和平均顶点位置误差（MPVPE）来衡量，即对齐根关节位置后，真值与3D伪真值之间的平均3D关节距离（毫米）和3D网格顶点距离（毫米）。这一指标仅适用于提供3D关节坐标真值或3D网格真值的数据集。

间接3D标注误差。图2（b）展示了我们设计的间接3D标注误差计算方法。间接3D标注误差反映了3D伪真值对训练的有益程度。由于自然场景数据集缺乏3D真值，因此无法计算直接的3D标注误差。作为替代方案，我们以在MSCOCO的3D伪真值上训练的回归器所产生的3D测试误差来作为间接3D标注误差。如果标注者提供的3D伪真值越有用，使得训练后的回归器表现更好，那么间接3D标注误差就会降低。我们使用I2L-MeshNet [^22]和HMR [^10]作为计算间接误差的回归器。I2L-MeshNet和HMR分别基于无模型和有模型的方法，用于预测3D顶点坐标和3D人体模型参数。我们选择这两种差异较大的回归器，是为了尽量减少对回归器类型的依赖，从而使间接误差的随机性更低。对于身体部位的间接误差，我们使用PA MPJPE（毫米）和PA MPVPE（毫米），它们除了考虑平移外，还进一步校正了旋转和缩放；对于手部，则采用3D网格下的曲线下面积（AUC）来衡量；最后对于面部，采用3D表面误差，即真值3D扫描数据与最近的3D网格顶点之间的平均距离。

#### 5.4. 消融实验

NeuralAnnot的输入。针对MoCap数据集的标注，我们的网络以（图像，3D关节真值坐标）这对数据作为输入。图3左侧（a-c）以及表2的第一、二、三行验证了我们对MoCap数据集标注所采用的输入方式。图中显示，将图像作为输入对恢复部分缺失的3D关节真值坐标非常有帮助，这种情况源于无标记数据采集的局限性。表中则表明，额外的3D关节真值坐标为网络提供了深度和尺度信息，从而降低了直接的3D误差。

针对自然场景数据集的标注，我们的网络以图像作为输入。图3右侧（d-f）以及表2的第四、五、六行验证了我们对自然场景数据集标注所采用的输入方式。图中显示，使用图像作为输入时深度歧义更少，因为图像外观能提供深度信息，而2D关节坐标缺乏这类信息。例如，在图的第一行中，左膝处的阴影和较小尺寸告诉我们这条腿位于右腿之后。此外，当2D关节真值缺失或被截断时，图像输入还能提供有用的上下文信息。表中显示，基于图像输入的3D伪真值能产生更低的间接3D标注误差。我们观察到，同时使用图像和2D关节真值作为输入，所得到的间接3D误差与仅使用图像作为输入的情况相近。

---

![Image](images/a19d3e7d9030175470d87354c7e8f497856350fec184611a4246b7bc4594198a.jpg)

(a) 基于3D关节真值坐标 + 图像（我们的方法）

![Image](images/d35c052c3fd23aa9455d0fed535e928d0bbe5228928028afeae1c5645977b8b7.jpg)

(b) 叠加了关节真值坐标的输入图像

![Image](images/a725854140b6b7aef91fafc27d38bafa7b219a3101116242abc3bd790ec4d5ac.jpg)

<div style="text-align: center;">(c) From GT 3D joint coordinates</div>

![Image](images/a8d0e7263c2037e7f5793cfea4c862b88827a7f60ded40a6bd370c8dae12157f.jpg)

(d) 基于图像（我们的方法）

![Image](images/206093dc517bcddb33b1c6c7c92c6b06c868d9609d391ced8fdc6bd3ce301473.jpg)

![Image](images/e77415e231651bde668d82da7b31ebdfe445e1542159c571318954ae6f33000c.jpg)

(e) 叠加了关节真值坐标的输入图像

(f) 基于2D关节真值坐标

<div style="text-align: center;">Figure 3. Qualitative comparison of 3D hand and body pseudo-GTs from NeuralAnnots that take various inputs on InterHand2.6M (left, a-c) and MSCOCO (right, d-f). The top row of results on InterHand2.6M is from a left hand, occluded by the right hand. GT 3D joint coordinates of the samples from InterHand2.6M are partially missing due to the capture failure. GT 2D joint coordinates of the bottom sample from MSCOCO are partially missing due to the truncation.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Inputs of NeuralAnnot</td><td style='text-align: center; word-wrap: break-word;'>Annotation err.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ MoCap datasets annotation</td><td style='text-align: center; word-wrap: break-word;'>Direct 3D err.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Image</td><td style='text-align: center; word-wrap: break-word;'>7.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GT 3D joint coordinates</td><td style='text-align: center; word-wrap: break-word;'>8.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GT 3D joint coordinates + Image (Ours)</td><td style='text-align: center; word-wrap: break-word;'>5.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ In-the-wild datasets annotation</td><td style='text-align: center; word-wrap: break-word;'>Indirect 3D err.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Image (Ours)</td><td style='text-align: center; word-wrap: break-word;'>69.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GT 2D joint coordinates</td><td style='text-align: center; word-wrap: break-word;'>72.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GT 2D joint coordinates + Image</td><td style='text-align: center; word-wrap: break-word;'>69.6</td></tr></table>

<div style="text-align: center;">Table 2. The annotation error comparison of NeuralAnnots that take different inputs. The direct 3D errors (MPJPE) are computed on InterHand2.6M, and the indirect 3D errors (PA MPJPE) are computed on 3DPW after training I2L-MeshNet on 3D pseudo-GTs of MSCOCO.</div>

这种模型虽然能以图像为输入，但计算成本更高。我们认为间接3D误差相近的原因是，与MoCap数据集中的3D关节真值坐标不同，2D关节真值坐标无法提供额外的深度信息。为了以更低的计算成本获得质量最佳的3D伪真值，我们仅让网络以图像而非2D关节真值坐标为输入。作为对比，我们参照Moon等人[^20]的方法，将2D关节真值坐标以2D高斯热图的形式输入网络。

NeuralAnnot的输出结果。表3验证了我们对NeuralAnnot输出类型的设计。针对MoCap数据集的标注，我们的网络会输出3D关节旋转参数；而对于自然场景数据集的标注，它则输出低维嵌入姿态（例如SMPL/SMPL-X中的VPoser以及MANO的PCA系数）。当真实标签提供的3D信息不足时（例如仅有2D关节坐标），这种低维嵌入姿态便能发挥作用，它能将输出限制在已学习的潜在姿态空间内。举例来说，它可以避免生成许多与2D关节坐标对应的、在解剖学上不合理的3D网格。另一方面，当真实标签包含充足的3D信息时，低维嵌入姿态可能会带来负面影响。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Outputs of NeuralAnnot</td><td style='text-align: center; word-wrap: break-word;'>Annotation err.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ MoCap datasets annotation</td><td style='text-align: center; word-wrap: break-word;'>Direct 3D err.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3D joint rotations (Ours)</td><td style='text-align: center; word-wrap: break-word;'>5.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Low-dimensional embedded pose</td><td style='text-align: center; word-wrap: break-word;'>10.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ In-the-wild datasets annotation</td><td style='text-align: center; word-wrap: break-word;'>Indirect 3D err.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3D joint rotations</td><td style='text-align: center; word-wrap: break-word;'>117.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Low-dimensional embedded pose (Ours)</td><td style='text-align: center; word-wrap: break-word;'>69.6</td></tr></table>

<div style="text-align: center;">Table 3. The annotation error comparison of NeuralAnnots that produce different outputs. The direct 3D errors (MPJPE) are computed on InterHand2.6M, and the indirect 3D errors (PA MPJPE) are computed on 3DPW after training I2L-MeshNet on 3D pseudo-GTs of MSCOCO.</div>

此时真实标签本身就含有足够的3D信息（例如3D关节坐标），足以防止生成不合理的3D网格，但有些3D姿态却无法在已学习的潜在姿态空间中表示出来。表格的第一行和第二行显示，在标注MoCap数据集时，由于有真实的3D关节坐标可供参考，估计3D关节旋转参数能取得更好的效果。表格的第三行和第四行则表明，在标注自然场景数据集时，由于只有2D关节坐标而无3D数据，估计低维嵌入姿态反而能取得更佳结果。我们设计的网络能够根据各数据集所具备的监督类型，生成最优的输出形式。

#### 5.5. 与以往标注器的比较

如第1节所述，为了公平比较，我们选择SMPLify-X [^26]作为主要对比对象，因为它与我们的NeuralAnnot一样属于单阶段标注器，且应用最为广泛。在将NeuralAnnot改为两阶段标注器后，我们还将其与SPIN [^12]、EFT [^8]等两阶段标注器进行了比较。

利用真实的3D关节坐标对MoCap数据集进行标注。表4显示，NeuralAnnot取得了显著

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Datasets</td><td style='text-align: center; word-wrap: break-word;'>SMPLify-X</td><td style='text-align: center; word-wrap: break-word;'>NeuralAnnot (Ours)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ Body</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;'>Human3.6M</td><td style='text-align: center; word-wrap: break-word;'>13.1 / N/A</td><td style='text-align: center; word-wrap: break-word;'>8.5 / N/A</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPI-INF-3DHP</td><td style='text-align: center; word-wrap: break-word;'>17.9 / N/A</td><td style='text-align: center; word-wrap: break-word;'>12.2 / N/A</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3DPW</td><td style='text-align: center; word-wrap: break-word;'>19.2 / 38.0</td><td style='text-align: center; word-wrap: break-word;'>10.7 / 11.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ Hands</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;'>InterHand2.6M</td><td style='text-align: center; word-wrap: break-word;'>10.0 / N/A</td><td style='text-align: center; word-wrap: break-word;'>5.8 / N/A</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FreiHAND</td><td style='text-align: center; word-wrap: break-word;'>6.6 / 7.3</td><td style='text-align: center; word-wrap: break-word;'>3.6 / 4.0</td></tr></table>

<div style="text-align: center;">Table 4. The direct 3D annotation error (MPJPE/MPVPE) comparison between SMPLify-X and our NeuralAnnot on various MoCap datasets. The 3D pseudo-GTs are obtained by being fit to GT 3D joint coordinates.</div>

更低的直接3D标注误差，这一结果在各类MoCap数据集上均优于SMPLify-X [^26]，其中3D伪真实标签是与图1(a)中的真实3D关节坐标相匹配的。真实3D网格并不用于标注过程，仅用于评估目的。此外，如图3左侧(a-c)所示，NeuralAnnot能够利用图像特征，从部分缺失且含噪的真实3D关节坐标中恢复出3D伪真实标签；而SMPLify-X由于仅使用真实3D关节坐标且无需图像输入，无法做到这一点。为了进行比较，我们修改了SMPLify-X官方发布的代码，使其能针对真实3D关节坐标进行优化——因为原版算法在优化过程中仅考虑2D关节坐标。与NeuralAnnot类似，SMPLify-X在标注MoCap数据集时也是优化3D关节旋转参数，而非低维嵌入姿态。相关修改细节我们在补充材料中进行了说明。MPVPE数值仅在提供真实3D网格的数据集上才有报告。

利用GT 2D关节坐标对MoCap数据集进行标注。表5显示，当3D伪GT与GT 2D关节坐标相匹配时，NeuralAnnot在各种MoCap数据集上的直接3D标注误差远低于SMPLify-X [^26]。该表旨在模拟真实场景下的数据集标注情况——即仅能获取GT 2D关节坐标，进而得出直接3D标注误差。我们选择标注3DPW和FreiHAND数据集，是因为与Human3.6M、InterHand2.6M等其他MoCap数据集相比，这两个数据集包含更多类似MSCOCO真实场景图像的户外图像。为此，我们采用图1(b)中的流程来对MoCap数据集进行标注：SMPLify-X会将3D人体模型参数拟合到GT 2D关节坐标上；而NeuralAnnot则仅需输入MoCap数据集中的单张图像，并利用GT 2D关节坐标来指导网络训练。只有提供GT 3D网格的数据集才会报告MPVPE值。

利用GT 2D关节坐标对真实场景数据集进行标注。表6显示，当3D伪GT与GT 2D关节坐标相匹配时（如图1(b)所示），我们的NeuralAnnot生成的3D伪GT所产生的间接3D标注误差低于SMPLify-X。为了进行对比，我们运行了
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Datasets</td><td style='text-align: center; word-wrap: break-word;'>SMPLify-X</td><td style='text-align: center; word-wrap: break-word;'>NeuralAnnot (Ours)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ Body</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;'>3DPW</td><td style='text-align: center; word-wrap: break-word;'>147.35 / 206.62</td><td style='text-align: center; word-wrap: break-word;'>60.1 / 68.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ Hands</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;'>FreiHAND</td><td style='text-align: center; word-wrap: break-word;'>8.5 / 9.3</td><td style='text-align: center; word-wrap: break-word;'>7.2 / 7.7</td></tr></table>

<div style="text-align: center;">Table 5. The direct 3D annotation error (MPJPE/MPVPE) comparison between SMPLify-X and our NeuralAnnot on various MoCap datasets. The 3D pseudo-GTs are obtained by being fit to GT 2D joint coordinates.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Annotators</td><td style='text-align: center; word-wrap: break-word;'>Indirect 3D err.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ Body</td><td style='text-align: center; word-wrap: break-word;'>PA MPVPE $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify-X</td><td style='text-align: center; word-wrap: break-word;'>80.7 [^22] / 81.4 [^10]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NeuralAnnot (Ours)</td><td style='text-align: center; word-wrap: break-word;'>71.6 [^22] / 73.3 [^10]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ Hands</td><td style='text-align: center; word-wrap: break-word;'>AUC of 3D mesh $\uparrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify-X</td><td style='text-align: center; word-wrap: break-word;'>0.731 [^22] / 0.755 [^10]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NeuralAnnot (Ours)</td><td style='text-align: center; word-wrap: break-word;'>0.760 [^22] / 0.786 [^10]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}$ Face</td><td style='text-align: center; word-wrap: break-word;'>3D surface err. $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify-X</td><td style='text-align: center; word-wrap: break-word;'>2.05 [^22] / 2.06 [^10]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NeuralAnnot (Ours)</td><td style='text-align: center; word-wrap: break-word;'>2.03 [^22] / 2.05 [^10]</td></tr></table>

<div style="text-align: center;">Table 6. The indirect 3D annotation errors comparison with one-stage annotator, SMPLify-X. The indirect 3D annotations errors are computed on 3DPW, FreiHAND, and Stirling for the body, hands and face, respectively, after training I2L-MeshNet [^22]/HMR [^10] on 3D pseudo-GTs of MSCOCO.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Annotators</td><td style='text-align: center; word-wrap: break-word;'>Indirect 3D err.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SPIN</td><td style='text-align: center; word-wrap: break-word;'>77.4 [^22] / 80.1 [^10]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>EFT</td><td style='text-align: center; word-wrap: break-word;'>71.2 [^22] / 72.1 [^10]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Two-stage NeuralAnnot (Ours)</td><td style='text-align: center; word-wrap: break-word;'>64.6 [^22] / 65.1 [^10]</td></tr></table>

<div style="text-align: center;">Table 7. The indirect 3D annotation error (PA MPVPE) comparison with two-stage annotators. The indirect 3D annotation errors are computed on 3DPW after training I2L-MeshNet [^22]/HMR [^10] on 3D pseudo-GTs of MSCOCO.</div>

他们官方发布的SMPLify-X代码。该代码用于优化真实场景数据集标注所需的低维嵌入姿态，与我们采用的方法类似。图4表明，当目标图像的姿态存在较大的深度歧义或存在截断现象时，SMPLify-X会失效。与身体和手部不同，NeuralAnnot生成的3D面部伪GT的间接3D标注误差与SMPLify-X的结果相近。我们认为原因在于面部的关节活动相对简单，因此SMPLify-X能够较好地发挥作用。

### 我们在表7中进一步展示了NeuralAnnot的优势，将其与SPIN、EFT等两阶段标注器进行了比较。为此，我们将NeuralAnnot改造为两阶段标注器：让它同时在MoCap数据集（即Human3.6M和MPI-INF3DHP）以及真实场景数据集（即MSCOCO）的3D伪GT上进行训练，这些3D伪GT均来自我们最初开发的一阶段NeuralAnnot模型。至于SPIN和EFT的结果，我们采用了

---

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

<div style="text-align: center;">(c) 3D whole-body pseudo-GTs</div>

<div style="text-align: center;">Figure 4. Qualitative comparison of 3D pseudo-GTs from NeuralAnnot and SMPLify-X.</div>

它们官方发布的3D伪GT。对比结果显示，NeuralAnnot生成的3D伪GT具有最低的间接3D标注误差。我们认为这是因为我们最初通过一阶段NeuralAnnot模型得到的3D伪GT，比基于优化方法的标注器所生成的SPIN和EFT的3D伪GT要更有价值。

## 6. 结论

我们提出了NeuralAnnot，这是首个基于神经网络的单阶段标注器。NeuralAnnot是首个专为3D人体模型参数标注设计的神经网络。它在3D人体网格回归器的预处理阶段，使用带有GT 2D/3D关节坐标的同一训练集进行训练和测试。预处理阶段结束后，NeuralAnnot在训练集上生成的输出结果便成为用于训练回归器的3D伪GT。与应用最广泛的单阶段标注器SMPLify-X相比，NeuralAnnot生成的3D伪GT更加准确且更具实用价值。我们将发布这些3D伪GT，相信它们会对相关领域大有裨益。

### 致谢。本研究部分得到了韩国政府（MSIT）资助的IITP项目支持[编号2021-0-01343，人工智能研究生课程项目（首尔大学）]。

---

#### 《NeuralAnnot：用于3D人体网格训练集的神经标注器》的补充材料

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

#### A. 定性结果

#### A.1. 仅人体部分的3D伪GT

图A (a)显示，NeuralAnnot生成的3D人体伪GT远优于SMPLify-X。尤其是当输入图像中的姿态存在截断和复杂关节活动时，它生成的结果明显更好。图A (b)表明，我们的NeuralAnnot对CrowdPose数据集中的人群场景里的遮挡和截断情况具有极强的鲁棒性 [^15]。图A (c)展示了在Human3.6M [^5] 和MPI-INF-3DHP [^19] 数据集上的额外实验结果。

#### A.2. 仅手部部分的3D伪GT

图B展示了我们的NeuralAnnot在InterHand2.6M数据集上生成的3D手部伪GT [^23]。它能够成功从高度复杂的手部交互图像中生成3D伪GT。

### A.3. 仅面部部分的3D伪GT

图C显示，NeuralAnnot和SMPLify-X生成的3D面部伪GT相似。与人体和手部不同，面部不涉及复杂的关节活动，因此SMPLify-X能很好地发挥作用，生成与NeuralAnnot类似的结果。

### A.4. 全身3D伪GT

图D (a)显示，在MSCOCO数据集上，NeuralAnnot生成的富有表现力的全身3D伪GT远优于SMPLify-X。图D (b)展示了NeuralAnnot在MSCOCO上的更多定性结果。

## B. 在3D关节坐标上运行SMPLify-X

由于原始的SMPLify-X在优化过程中并未考虑3D关节坐标，我们对其进行了修改，使其能在提供GT 3D关节坐标的Human3.6M [^5]、MPI-INF-3DHP [^19] 和InterHand2.6M [^23] 数据集上生成3D伪GT。为此我们做了两处修改。

相机初始化。我们通过执行奇异值分解（SVD），利用髋部和肩部的3D关节坐标来初始化外部相机参数R和t。对于手部的3D伪GT，我们使用五个手部关节，包括腕关节、食指根关节、中指根关节、无名指根关节和小指根关节。R和t分别代表从人体模型坐标系到数据集坐标系的3D旋转矩阵和3D平移向量。我们选择髋部、肩部关节或这五个手部关节，是因为它们能大致确定人体或手部的3D全局旋转，而端点关节（如人体的手腕和脚踝、手部的指尖）则无法做到这一点。

3D数据项。我们将SMPLify-X的2D数据项替换为3D数据项，该数据项用于计算GT 3D关节坐标与网格生成的3D关节坐标之间的距离。网格生成的3D关节坐标是通过人体模型中定义的关节回归矩阵获得的。我们采用了Geman-McClure误差函数 [^3] 作为原始SMPLify-X中2D数据项所用距离的计算方式。我们尝试了其他几种距离，如 $L_1$ 和 $L_2$，发现Geman-McClure误差函数 [^3] 和 $L_1$ 的效果最佳。距离以米为单位计算，我们将数据项的权重设为 $10^6$，这一数值的效果最好。

## C. 两阶段NeuralAnnot与EFT的定性比较

在主论文的表7中，我们展示了两阶段NeuralAnnot生成的3D伪真值比以往的两阶段标注器（如SPIN [^12]和EFT [^8]）更具优势。为此，我们通过在Human3.6M、MPI-INF-3DHP和MSCOCO的初始3D伪真值上训练NeuralAnnot，将其转化为两阶段标注器；这些初始3D伪真值由我们原本的单阶段NeuralAnnot生成。图E显示，将原本的单阶段NeuralAnnot改为两阶段标注器后，能够将可能错误的3D伪真值修正为更精准的结果。图F则表明，我们的两阶段NeuralAnnot生成的3D伪真值优于EFT。

我们认为NeuralAnnot能产生更优结果的原因有两个。首先，EFT基于在SMPLify-X的3D伪真值上预训练的SPIN网络。正如主论文中的图4以及图A(a)所示，SMPLify-X的3D伪真值往往不够准确，这会影响SPIN和EFT生成的3D伪真值。其次，由于EFT是针对每个样本的2D关节坐标对预训练的SPIN网络进行微调的，当输入图像中存在被截断或不可见的关节时，就可能生成不准确的3D伪真值。在微调过程中，由于被截断或不可见的关节没有对应的2D关节坐标，网络可能会过度拟合样本的部分关节。因此，预训练的SPIN网络可能会受损，从而为这些关节生成错误的3D姿态——毕竟针对这些关节并没有相应的监督信息。相比之下，我们的NeuralAnnot网络并非针对特定样本优化，而是针对数据集中的所有样本进行优化。所以它不会因过度拟合特定样本而受影响，即便输入图像中存在被截断或不可见的关节，也能生成稳健的3D伪真值。这种影响

---

在被截断或不可见关节的影响下，具体表现如图F中的1）第一行第一列、2）第一行第二列以及3）第三行第一列所示。图A(b)还进一步表明，即使在严重截断的情况下，NeuralAnnot仍能生成稳健的3D伪真值。

## 所用资源的许可说明

• MSCOCO数据集 [^17] 属于COCO联盟，采用知识共享署名4.0许可协议。

- InterHand2.6M数据集 [^23] 采用CC-BY-NC 4.0许可协议。

- Human3.6M数据集 [^5] 的许可仅限学术用途。

- MPI-INF-3DHP数据集 [^19] 仅用于学术研究，面向教育或研究机构的研究人员免费开放，但不得用于商业目的。

- 3DPW数据集 [^30] 仅用于学术研究，面向教育或研究机构的研究人员免费开放，但不得用于商业目的。

- FreiHAND数据集 [^33] 仅用于学术研究，面向教育或研究机构的研究人员免费开放，但不得用于商业目的。

- CrowdPose数据集 [^15] 仅用于学术研究，面向教育或研究机构的研究人员免费开放，但不得用于商业目的。

- SMPLify-X [^26] 的代码仅用于学术研究，面向教育或研究机构的研究人员免费开放，但不得用于商业目的。

EFT [^8] 的代码采用CC-BY-NC 4.0许可协议。

- SPIN [^12] 代码仅用于学术研究，面向教育机构或研究机构的研究人员免费开放，且不得用于商业用途。

---

![Image](images/578271867ed726b8690a8b1b41c3f603f7e51899d8a168c8dc79b0c2d45fdf52.jpg)

其他视图 正面视图 NeuralAnnot（我们的方法）

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

目标图像

![Image](images/72ad3fe8eadc6554358887f6ec9cad075b7549ac920b649ed831bab88e59834d.jpg)

正面视图 其他视图

SMPLify-X

![Image](images/67145c4e816a404410a9c021a6939d85c6b67c0d20acc447e142b104b817329e.jpg)

其他视图 正面视图 NeuralAnnot（我们的方法）

![Image](images/c48850ce186b649d30fb0e0cf0cb428c6c398ef2014b93337f2f73c3e215db34.jpg)

目标图像

![Image](images/774735cee886653238cac659c59e730a3e66577983b942e6cd9d0986c24ef2e4.jpg)

正面视图 其他视图

SMPLify-X

<div style="text-align: center;">(a) 3D body-only pseudo-GT comparisons on MSCOCO</div>

![Image](images/b7735cd7b13cd6acda0720d759a991ceee73b6690b3e2b6b9b42e6f825c2ac76.jpg)

![Image](images/a3ab53961f96b559a732d6d1af8391bcbf071b16cf19d614822567af36ca06f5.jpg)

![Image](images/dc6d9dcb283a181e1feb956de1a59657bcf163345abc9fa34ff9fa26991ecf1f.jpg)

![Image](images/2473c339f0164397d2471cc51574d3dd51b2998a7be658cbc591c9ba5e8aca20.jpg)

![Image](images/c7af87805aa1d06fb99086322c0fab6aaa3ea2adce434ee85fde67ac5c9494a0.jpg)

![Image](images/52234448b6f90b8586f4f724e365cd0c8e16cc3a71bfb336baeda030ec7ed726.jpg)

![Image](images/a741b2c98d460bcef087eafd5a3488262ce2d1f2031d608bb0ed6af5f3cceaf2.jpg)

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

![Image](images/f3b4374d187e2c8ffefccf5ea3f235a208265fb88609d34f15f065dfffd8e7ac.jpg)

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

![Image](images/c0028bd491b553bc2aa2c5439bfec200f2e09a7249bc7f5840e626056c31d8ad.jpg)

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

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

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

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

![Image](images/b7ecf04dc960723e4ab48ee68aa56f49376813305a4d3a39db5bc3a246b3da80.jpg)

(b) CrowdPose数据集上的仅人体3D伪真值

![Image](images/6233c5e58562730138e5b125659caf5fbde81f5219310fb142ad3e4c472eb9b7.jpg)

![Image](images/d5e686a500e1d829f38c4ea66e0d6574c44e8e04ca49cc4d8a2cf2279971182f.jpg)

![Image](images/f851d07e6a70e931e4cc7753cb4dece06b4dd3e255b0eccad49815f90ba6ecb9.jpg)

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

![Image](images/f96b7fff4911b3c895edfe0c696283a265b91961a5fbfb42bc48862ff1869d12.jpg)

<div style="text-align: center;">(c) 3D body-only pseudo-GTs on Human3.6M and MPI-INF-3DHP</div>

图A. (a) MSCOCO数据集上NeuralAnnot与SMPLify-X生成的3D人体伪真值的定性对比。(b) CrowdPose数据集上NeuralAnnot生成的3D人体伪真值可视化结果。(c) Human3.6M和MPI-INF3DHP数据集上NeuralAnnot生成的3D人体伪真值可视化结果。

![Image](images/c049a1dc98c559d0bcdeb5c4573eb341d1debe84641d3a3ad643d4a19bfcf1a3.jpg)

<div style="text-align: center;">Figure B. Visualized 3D hand pseudo-GTs of NeuralAnnot on InterHand2.6M.</div>

---

![Image](images/e0fa5471ca1aab4377fbf18d0c530f7b1cd18c772d99ffe1668f8435b640b262.jpg)

NeuralAnnot（我们的方法）

<div style="text-align: center;">Figure C. Qualitative comparisons between 3D face pseudo-GTs of NeuralAnnot and SMPLify-X on MSCOCO. We normalized the global rotation of the face for visualization purpose.</div>

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

(b) MSCOCO数据集上的3D表现力全身伪真值

<div style="text-align: center;">Figure D. Visualized expressive whole-body 3D pseudo-GTs of NeuralAnnot on MSCOCO.</div>

---

![Image](images/85ccdc9ad13a211d61dadf51cf4b96ed5a6ea868f66050373fe783995bf451fb.jpg)

两阶段NeuralAnnot

单阶段NeuralAnnot

输入图像

<div style="text-align: center;">Figure E. Qualitative comparison between one-stage NeuralAnnot and two-stage NeuralAnnot on MSCOCO.</div>

![Image](images/b0c791bfe3ef34ada3bb4dff7736bce8f3862b4aacc49968b28a728869e8af5f.jpg)

<div style="text-align: center;">Figure F. Qualitative comparisons between NeuralAnnot and EFT on MSCOCO.</div>

---

## 参考文献

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

[^2]: Vasileios Choutas, Georgios Pavlakos, Timo Bolkart, Dimitrios Tzionas, and Michael J Black. Monocular expressive body regression through body-driven attention. In ECCV, 2020. 1,2

[^3]: Stuart Geman. Statistical methods for tomographic image reconstruction. Bull. Int. Stat. Inst, 1987. 9

[^4]: Kaiming He $^{a}$ Ren, and Jian Sun. Deer In CVPR,

[^5]: Catalin Ionescu, Dragos Papava, Vlad Olaru, and Cristian Sminchisescu. Human3.6M: Large scale datasets and predictive methods for 3D human sensing in natural environments. TPAMI, 2014. 1, 5, 9, 10

[^6]: Sheng Jin, I · Wentao Liu, Chen Qian · Ḥādy human

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

[^8]: Hanbyul Joo, Natalia Neverova, and Andrea Vedaldi. Exemplar fine-tuning for 3D human pose fitting towards in-the-wild 3D human pose estimation. arXiv preprint arXiv:2004.03686, 2020. 1, 2, 3, 6, 9, 10

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

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

[^11]: Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR, 2014. 4

[^12]: 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. 1, 2, 3, 6, 9, 10

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

[^14]: Dominik Kulon, Riza Alp Guler, Iasonas Kokkinos, Michael M Bronstein, and Stefanos Zafeiriou. Weakly-supervised mesh-convolutional hand reconstruction in the wild. In CVPR, 2020. 3

[^15]: Jiefeng Li, Can Wang, Hao Zhu, Yihuan Mao, Hao-Shu Fang, and Cewu Lu. CrowdPose: Efficient crowded scenes pose estimation and a new benchmark. In CVPR, 2019. 9, 10

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

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

Zitnick. Microsoft COCO：常见物体上下文数据集。载于ECCV，2014年。1, 5, 10

[^18]: Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J Black. SMPL: A skinned multi-person linear model. ACM TOG, 2015. 1, 2, 4

[^19]: 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. 1, 5, 9, 10

[^20]: Gyeongsik Moon, Ju Yong Chang, and Kyoung Mu Lee. PoseFix: Model-agnostic general human pose refinement network. In CVPR, 2019. 6

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

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

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

[^24]: Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga, and Adam Lerer. Automatic differentiation in pytorch. 2017. 4

[^25]: Priyanka Patel, Chun-Hao P. Huang, Joachim Tesch, David T. Hoffmann, Shashank Tripathi, and Michael J. Black. AGORA: Avatars in geography optimized for regression analysis. In CVPR, 2021. 3

[^26]: Georgios Pavlakos, Vasileios Choutas, Nima Ghorbani, Timo Bolkart, Ahmed AA Osman, Dimitrios Tzionas, and Michael J Black. Expressive body capture: 3D hands, face, and body from a single image. In CVPR, 2019. 1, 2, 3, 4, 6, 7, 10

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

[^28]: Yu Rong, Takaaki Shiratori, and Hanbyul Joo. FrankMocap: A monocular 3d whole-body pose estimation system via regression and integration. In ICCV Workshop, 2021. 1,2

[^29]: 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. IJCV, 2015. 4

[^30]: Timo von Marcard, Roberto Henschel, Michael J Black, Bodo Rosenhahn, and Gerard Pons-Moll. Recovering accurate 3D human pose in the wild using IMUs and a moving camera. In ECCV, 2018. 2, 5, 10

[^31]: Zhixuan Yu, Jae Shin Yoon, In Kyu Lee, Prashanth Venkatesh, Jaesik Park, Jihun Yu, and Hyun Soo Park. HUMBI: A large multiview dataset of human body expressions In CVPR 2020.

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

---

[^33]: 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. 2, 5, 10
