
# I2L-MeshNet：基于单张RGB图像的精确3D人体姿态与网格估计的图像到像素预测网络

Gyeongsik Moon和Kyoung Mu Lee $^{\boxtimes}$

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

摘要：以往大多数基于图像的3D人体姿态与网格估计方法，都是从输入图像中估计人体网格模型的参数。然而，直接从输入图像回归这些参数属于高度非线性的映射过程，因为这种做法会破坏输入图像中像素间的空间关系。此外，该方法无法建模预测的不确定性，进而会增加训练难度。为解决上述问题，我们提出了I2L-MeshNet——一种图像到像素（线条+像素）的预测网络。所提出的I2L-MeshNet并非直接回归参数，而是预测每个网格顶点坐标在1D热图上的逐像素概率。这种基于像素的1D热图能够保留输入图像中的空间关系，同时建模预测的不确定性。我们验证了图像到像素预测方法的优势，结果表明所提出的I2L-MeshNet的性能优于以往的方法。相关代码已公开提供(<https://github.com/mks0601/I2L-MeshNet_RELEASE>)。

## 1 引言

3D人体姿态与网格估计旨在同时恢复3D语义人体关节位置以及3D人体网格顶点位置。由于人体关节活动复杂且存在2D到3D的歧义性，这一任务极具挑战性。它在虚拟/增强现实、人体动作识别等诸多领域都有应用价值。

SMPL [^25]和MANO [^39]分别是应用最广泛的参数化人体与手部网格模型，能够表征各种人体姿态和身份特征。它们可根据姿态与身份参数生成3D人体关节及网格坐标。近期基于深度卷积神经网络（CNN）的3D人体姿态与网格估计研究[^18] [^21] [^37]均采用基于模型的方法，即训练网络以从输入图像中估计SMPL/MANO参数。

电子补充材料：本章的网络版(<https://doi.org/10.1007/978-3-030-58571-6_44>)包含补充材料，仅供授权用户查看。

---

![Image](images/e45655f0fe3aaab8e252ccbd929d0ee0741eb60a9c33400a6fdba4d2c6d289a6.jpg)

<div style="text-align: center;">Fig. 1. Qualitative results of the proposed I2L-MeshNet on MSCOCO [^24] and FreiHAND [^8] datasets.</div>

另一方面，采用无模型方法的相关研究[^9] [^22]较少，这类方法直接估计网格顶点坐标。它们通过将人体网格模型中包含的关节回归矩阵与估计得到的网格相乘，来获取3D姿态。

尽管近期基于深度CNN的方法表现优异，但在估计目标（即SMPL/MANO参数或网格顶点坐标）时，以往所有的3D人体姿态和网格估计方法都会因输出阶段的全连接层而破坏输入图像中像素间的空间关系。此外，它们所采用的目标表示形式也无法建模预测的不确定性。上述局限不仅会增加训练难度，还会导致测试精度下降，这一点在[^29]和[^42]中已有论述。为解决这些局限，近期最先进的3D人体姿态估计方法——[^29]、[^30]、[^41]——无需借助网格顶点坐标即可定位3D人体关节坐标，它们将热图作为网络的目标表示形式。热图中每个数值代表了输入图像对应像素位置及离散化深度值上存在人体关节的概率，因此这种表示方式既能保留输入图像中像素间的空间关系，又能建模预测的不确定性。

受近期最先进的基于热图的3D人体姿态估计方法的启发，我们提出了I2L-MeshNet——一种图像到像素的预测网络，它自然地将基于热图的3D人体姿态估计拓展为基于热图的3D人体姿态与网格估计。正如体素（体积+像素）被定义为三维空间中的量化单元一样，我们将线素（线条+像素）定义为一维空间中的量化单元。我们的I2L-MeshNet会针对每个网格顶点坐标估算1D热图上每个像素的概率，因此它基于无模型的方法。以往最先进的基于热图的3D人体姿态估计方法会预测每个人体关节的3D热图。与之不同的是，

---

人体关节数量约为20个，而网格顶点的数量要多得多（例如SMPL模型有6980个顶点，MANO模型有776个顶点）。因此，预测所有网格顶点的3D热图在计算上并不可行，这超出了现代GPU内存的限制。相比之下，所提出的基于线素的1D热图具有高效的内存复杂度，其与热图分辨率呈线性关系。因此，它能使我们的系统预测出分辨率足够高的热图，这对于密集的网格顶点定位至关重要。

为了实现更精准的3D人体姿态和网格估计，我们将I2L-MeshNet设计为级联网络架构，由PoseNet和MeshNet组成。PoseNet负责预测每个3D人体关节坐标对应的基于线素的1D热图；随后，MeshNet会将PoseNet的输出与图像特征一同作为输入，以预测每个3D人体网格顶点坐标对应的基于线素的1D热图。由于人体关节的位置能提供关于人体网格顶点位置的粗略但重要的信息，将其用于3D网格估计是顺理成章的，且能显著提升精度。

在各种3D人体姿态和网格基准数据集上，我们的I2L-MeshNet的表现均优于以往的3D人体姿态和网格估计方法。图1展示了在公开数据集上的3D人体和手部网格估计结果。

我们的贡献可总结如下。

- 我们提出了I2L-MeshNet，这是一种用于从单张RGB图像进行3D人体姿态和网格估计的新型图像到像素预测网络。我们的系统预测的基于像素的1D热图既能保留输入图像中的空间关系，又能建模预测的不确定性。

- 我们高效的基于像素的1D热图使系统能够预测分辨率足够高的热图，这对于密集网格顶点定位至关重要。

- 实验表明，我们的I2L-MeshNet在各类3D人体姿态与网格数据集上的表现均优于以往的最先进方法。

## 2 相关工作

3D人体与手部姿态及网格估计。当前大多数3D人体姿态与网格估计方法都采用基于模型的方式，即预测预定义的人体与手部网格模型（分别为SMPL和MANO）的参数。由于模型参数被嵌入到低维空间中，基于模型的方法仅需利用真实的人体关节坐标即可训练，无需网格顶点坐标。早期的基于模型的方法[^4]通过迭代方式将SMPL参数拟合到估算出的2D人体关节位置。更近期的基于模型的方法则利用CNN从输入图像中回归身体模型参数。Kanazawa等人[^18]提出了一种端到端可训练的人体网格恢复（HMR）系统，该系统利用对抗损失来确保输出的人体形状符合解剖学合理性。Pavlakos等人[^37]以2D关节热图和轮廓作为线索来预测精确的SMPL参数。Omran等人[^32]提出了类似的系统，该

---

![Image](images/75fade15633a3857c9c8bfdc3d6e25de08d7c54a35c3bd90b6907375e690c5cd.jpg)

<div style="text-align: center;">Fig. 2. Overall pipeline of the proposed I2L-MeshNet.</div>

系统利用人体部位分割作为回归SMPL参数的线索。Xu等人[^45]利用可微渲染技术在2D图像空间中对人体网格进行监督。Pavlakos等人[^35]提出了一种利用多视角颜色一致性，借助多视角几何信息对网络进行监督的系统。Baek等人[^3]训练其网络，使其能利用可微渲染器估算MANO参数。Boukhayma等人[^5]训练的网络可接收单张RGB图像，并通过最小化估算的手部关节位置与真实值之间的距离来估算MANO参数。Kolotouros等人[^21]提出了一种自我改进系统，该系统由SMPL参数回归器和迭代拟合框架组成[^4]。

另一方面，无模型方法直接估算网格顶点坐标，而非回归模型参数。得益于近期迭代式人体与手部模型拟合框架[^4] [^8] [^34]的发展，大规模数据集上的伪真实网格顶点标注[^8] [^14] [^24] [^26]得以实现。这些带有网格顶点标注的数据集催生了多种需要网格监督的无模型方法。Kolotouros等人[^22]设计了一种图卷积人体网格回归系统。他们的图卷积网络以静止状态下的模板人体网格为输入，利用ResNet提取的图像特征输出网格顶点坐标[^12]。Ge等人[^9]提出了一种基于图卷积的网络，可直接估算手部网格的顶点。最近，Choi等人[^7]提出了一种图卷积网络，可从2D人体姿态恢复3D人体姿态与网格。

与上述所有基于模型和无模型的3D人体姿态及网格估计方法不同，我们提出的I2L-MeshNet通过保留输入图像中像素间的空间关系并建模预测的不确定性，来输出3D人体姿态与网格。这两大优势源于我们将网络的目标设定为基于像素的1D热图。这不仅能让训练过程更加稳定，还能使系统的测试误差大幅降低。

基于热图的 3D 人体姿态估计。大多数近期最先进的 2D 和 3D 人体姿态估计方法都使用热图作为预测

---

![Image](images/965756bc347894903d63eb22310fcbbeecd6c22fb2154cc860604c65e8cd2844.jpg)

<div style="text-align: center;">(a) network architecture to estimate lixel-based 1D heatmaps (b) visualized feature map and 1D heatmaps</div>

<div style="text-align: center;">Fig. 3. Network architecture to predict lixel-based 1D heatmaps and visualized examples of feature maps and the 1D heatmaps.</div>

目标，从而保留输入图像中的空间关系，并对预测的不确定性进行建模。Tompson et al. [^42] 提出了估计高斯热图的方法，而不是直接回归人体关节坐标。他们的热图表示帮助其模型更准确地执行 2D 人体姿态估计，并推动了许多基于热图的 2D 人体姿态估计方法 [^6] [^31] [^44]。Pavlakos et al. [^36] 和 Moon et al. [^29] 分别率先提出将 3D 热图用作 3D 人体姿态和 3D 手部姿态估计的预测目标。特别是，Moon et al. [^29] 表明，在相同设置下，将预测目标从坐标改为热图可显著提高 3D 手部姿态精度，同时所需的可学习参数量也少得多。最近，Moon et al. [^30] 使用 3D 热图取得了显著更好的 3D 多人姿态估计精度，优于以往基于坐标回归的方法 [^38]。

## 3 I2L-MeshNet

图2展示了所提出的I2L-MeshNet的整体流程。I2L-MeshNet由PoseNet和MeshNet组成，下文将对这两部分进行详细说明。

### 3.1 PoseNet

PoseNet会从输入图像中估算出所有人体关节的三种基于体素的1D热图$\mathcal{P}^{\mathrm{H}} = \{\mathbf{P}^{\mathrm{H},x}, \mathbf{P}^{\mathrm{H},y}, \mathbf{P}^{\mathrm{H},z}\}$ $\mathbf{I}$。其中$\mathbf{P}^{\mathrm{H},x}$和$\mathbf{P}^{\mathrm{H},y}$分别定义在x轴和

---

图像空间的y轴，而$\mathbf{P}^{H,z}$则是在以根关节（即骨盆或手腕）为参照的深度空间中定义的。对此，PoseNet通过ResNet $\mathbf{F}_P \in \mathbb{R}^{c \times h \times w}$从输入图像中提取图像特征[^12]。随后，三个上采样模块会将$\mathbf{F}_P$的空间尺寸扩大8倍，同时把通道维度从$c = 2048$变为$c' = 256$。每个上采样模块均由反卷积层、2D批量归一化层[^13]以及ReLU函数构成。上采样后的特征会被用于计算基于llex的1D人体姿态热图，如图3(a)所示。我们按如下方式获取x轴和y轴的1D人体姿态热图：

 $$ \mathbf{P}^{\mathrm{H},x}=f_{\mathrm{P}}^{\mathrm{1D},x}(\mathrm{a v g}^{y}(f_{\mathrm{P}}^{\mathrm{u p}}(\mathbf{F}_{\mathrm{P}})))\quad\mathrm{a n d}\quad\mathbf{P}^{\mathrm{H},y}=f_{\mathrm{P}}^{\mathrm{1D},y}(\mathrm{a v g}^{x}(f_{\mathrm{P}}^{\mathrm{u p}}(\mathbf{F}_{\mathrm{P}}))), $$

其中$f_{\mathrm{P}}^{\mathrm{up}}$表示PoseNet的三个上采样模块。$avg^{i}$和$f_{\mathrm{P}}^{1\mathrm{D},i}$分别表示用于求取i轴边缘值的平均操作，以及用于将通道维度从$c'$变为J的1×1 1D卷积，二者均用于i轴1D人体姿态热图的估算。

我们按如下方式获取z轴的1D人体姿态热图：

 $$ \mathbf{P}^{\mathrm{H},z}=f_{\mathrm{P}}^{\mathrm{1D},z}\big(\psi\big(f_{\mathrm{P}}\big(\mathrm{a v g}^{x,y}(\mathbf{F}_{\mathrm{P}})\big)\big)\big), $$

其中$f_{\mathrm{P}}$和$\psi$：$\mathbb{R}^{c'D} \to \mathbb{R}^{c' \times D}$分别表示一个构建模块和重塑函数。该构建模块由全连接层、1D批量归一化层以及ReLU函数构成，它会将激活值的大小从c变为$c'D$。D代表深度离散化的尺寸，其值等于$8h = 8w$。我们通过soft-argmax $\mathcal{P}^H$将$\mathbf{P}^C = [\mathbf{p}^{C,x}, \mathbf{p}^{C,y}, \mathbf{p}^{C,z}] \in \mathbb{R}^{J \times 3}$的离散化热图转换为连续坐标[^41]。

### 3.2 MeshNet

MeshNet的网络架构与PoseNet类似。MeshNet并非接收输入图像$\mathbf{I}$，而是采用来自PoseNet的预计算图像特征$\mathbf{F}_P$以及3D高斯热图$\mathbf{P}^{\mathrm{HG}} \in \mathbb{R}^{J \times D \times 8h \times 8w}$。$\mathbf{F}_P$是PoseNet第一个残差块的输入，其空间维度为$8h \times 8w$。$\mathbf{P}^{\mathrm{HG}}$是通过$\mathbf{P}^C$按如下方式获得的：

 $$ \mathbf{P}^{\mathrm{H}_{\mathrm{G}}}(j,z,y,x)=\exp\left(-\frac{(x-\mathbf{p}_{j}^{\mathrm{C},x})^{2}+(y-\mathbf{p}_{j}^{\mathrm{C},y})^{2}+(z-\mathbf{p}_{j}^{\mathrm{C},z})^{2}}{2\sigma^{2}}\right), $$

其中，$\mathbf{p}_j^{C,x}$、$\mathbf{p}_j^{C,y}$和$\mathbf{p}_j^{C,z}$分别是来自$\mathbf{P}^C$的第j个关节的x轴、y轴和z轴坐标。$\sigma$被设为2.5。

根据$\mathbf{P}^{\mathrm{H}_{\mathrm{G}}}$和$\tilde{\mathbf{F}}_{\mathrm{P}}$，我们可按如下方式获得图像特征$\mathbf{F}_{\mathrm{M}}$：

 $$ \mathbf{F}_{\mathrm{M}}=\mathrm{R e s N e t}_{\mathrm{M}}(f_{\mathrm{M}}(\boldsymbol{\psi}(\mathbf{P}^{\mathrm{H_{G}}})\oplus\tilde{\mathbf{F}}_{\mathrm{P}})), $$

其中，$\psi\colon \mathbb{R}^{J\times D\times8h\times8w} \to \mathbb{R}^{JD\times8h\times8w}$和$\oplus$分别表示重塑函数和沿通道维度的拼接操作。$f_M$是一个卷积块，由3×3卷积层、2D批量归一化层和ReLU函数组成。

---

该函数会将输入的通道维度转换为ResNet第一个残差块的输入通道维度。ResNet $_{M}$是从第一个残差块开始的ResNet网络。

基于$\mathbf{F}_{\mathrm{M}}$，MeshNet会以与PoseNet完全相同的方式输出三个基于体素的、针对所有网格顶点的1D热图$\mathcal{M}^{\mathrm{H}} = \{\mathbf{M}^{\mathrm{H},x}, \mathbf{M}^{\mathrm{H},y}, \mathbf{M}^{\mathrm{H},z}\}$，如图3(a)所示。与PoseNet的热图类似，$\mathbf{M}^{\mathrm{H},x}$和$\mathbf{M}^{\mathrm{H},y}$定义在图像空间的x轴和y轴上，而$\mathbf{M}^{\mathrm{H},z}$则定义在以根关节为参考的深度空间中。我们按如下方式获得x轴和y轴的1D人体网格热图：

 $$ \mathbf{M}^{\mathrm{H},x}=f_{\mathrm{M}}^{\mathrm{1D},x}(\mathrm{avg}^{y}(f_{\mathrm{M}}^{\mathrm{up}}(\mathbf{F}_{\mathrm{M}})))\quad\mathrm{and}\quad\mathbf{M}^{\mathrm{H},y}=f_{\mathrm{M}}^{\mathrm{1D},y}(\mathrm{avg}^{x}(f_{\mathrm{M}}^{\mathrm{up}}(\mathbf{F}_{\mathrm{M}}))), $$

其中，$f_{\mathrm{M}}^{\mathrm{up}}$表示MeshNet的三个上采样模块。$f_{\mathrm{M}}^{1\mathrm{D},i}$表示1×1的1D卷积，用于将通道维度从$c'$转换为V，以用于估计i轴的1D人体网格热图。图3(b)展示了可视化的$f_{\mathrm{M}}^{\mathrm{up}}(\mathbf{F}_{\mathrm{M}})$、$\mathbf{M}^{\mathrm{H},\mathrm{x}}$和$\mathbf{M}^{\mathrm{H},\mathrm{y}}$。

我们按如下方式获得z轴的1D人体网格热图：

 $$ \mathbf{M}^{\mathrm{H},z}=f_{\mathrm{M}}^{\mathrm{1D},z}(\psi(f_{\mathrm{M}}(\mathrm{a v g}^{x,y}(\mathbf{F}_{\mathrm{M}})))), $$

其中，$f_{\mathrm{M}}$和$\psi$：$\mathbb{R}^{c'D} \to \mathbb{R}^{c' \times D}$分别表示一个构建块和重塑函数。该构建块由全连接层、1D批量归一化层和ReLU函数组成，它会将激活大小从c转换为$c'$。与在PoseNet中的做法类似，我们通过soft-argmax $\mathcal{M}^{\mathrm{H}}$将$\mathbf{M}^{\mathrm{C}} = [\mathbf{m}^{\mathrm{C},x}, \mathbf{m}^{\mathrm{C},y}, \mathbf{m}^{\mathrm{C},z}] \in \mathbb{R}^{V \times 3}$的离散化热图转换为连续坐标[^41]。

### 3.3 最终的3D人体姿态与网格

最终的3D人体网格M和姿态P按如下方式获得：

 $$ \mathbf{M}=\Pi(\mathbf{T}^{-1}\mathbf{M}^{C}+\mathbf{R})\quad\mathrm{a n d}\quad\mathbf{P}=\mathcal{J}\mathbf{M}, $$

其中，$\Pi$、$\mathbf{T}^{-1}$和$\mathbf{R} \in \mathbb{R}^{1 \times 3}$分别表示相机反投影、逆仿射变换（即2D裁剪与缩放）以及z轴偏移量（其元素为根关节的深度）。$\mathbf{R}$是从RootNet中获取的[^30]。如果没有可用的相机参数，我们会按照Moon等人的方法使用归一化的相机内参[^30]。$\mathcal{J} \in \mathbb{R}^{J \times V}$是在SMPL或MANO模型中定义的关节回归矩阵。

### 3.4 损失函数

PoseNet姿态损失。为了训练PoseNet，我们使用如下定义的L1损失函数：

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

其中，*表示真实值。如果缺少z轴的真实值，则z轴损失为零。

---

MeshNet姿态损失。为了训练MeshNet预测与人体关节位置对齐的网格顶点，我们采用如下定义的L1损失函数：

 $$ \begin{array}{r}{L_{\mathrm{p o s e}}^{\mathrm{M e s h N e t}}=\|\mathcal{I}{\bf M}^{\mathrm{C}}-{\bf P}^{\mathrm{C}*}\|_{1},}\end{array} $$

其中*表示真实值。如果缺少z轴的真实值，则z轴损失为零。

网格顶点损失。为了训练MeshNet输出网格顶点热图，我们采用如下定义的L1损失函数：

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

其中*表示真实值。如果缺少z轴的真实值，则z轴损失为零。

网格法向量损失。参照Wang等人的研究[^43]，我们对预测的网格法向量进行监督，以获得视觉效果更佳的网格结果。用于法向量监督的$L_{1}$损失函数定义如下：

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

其中f和$n_f$分别表示网格面以及面f的单位法向量。$\mathbf{m}_i^C$和$\mathbf{m}_j^C$分别代表$\mathbf{M}^C$的第i个和第j个顶点坐标。$n_f^*$由$\mathbf{M}^C$计算得出，此处$\star$表示真实值。如果没有真实的3D网格，该损失值为零。

网格边长损失。参照Wang等人的研究[^43]，我们对预测网格的边长进行监督，以获得视觉效果更佳的网格结果。用于边长监督的$L_{1}$损失函数定义如下：

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

其中f和$*$分别表示网格面和真实值。$\mathbf{m}_i^C$和$\mathbf{m}_j^C$分别代表$\mathbf{M}^C$的第i个和第j个顶点坐标。如果没有真实的3D网格，该损失值为零。

我们采用端到端的方式训练I2L-MeshNet，使用上述五种损失函数，具体形式如下：

 $$ \boldsymbol{L}=\boldsymbol{L}_{\mathrm{pose}}^{\mathrm{PoseNet}}+\boldsymbol{L}_{\mathrm{pose}}^{\mathrm{MeshNet}}+\boldsymbol{L}_{\mathrm{vertex}}+\lambda\boldsymbol{L}_{\mathrm{normal}}+\boldsymbol{L}_{\mathrm{edge}}, $$

其中$\lambda = 0.1$是$L_{\text{normal}}$的权重。为了确保训练稳定，我们在$\mathbf{P}^{\mathrm{H}_{\mathrm{G}}}$之前不反向传播梯度。

---

## 4 实现细节

实现过程中使用了PyTorch [^33]。主干网络部分采用在ImageNet数据集[^12]上预训练的公开版ResNet-50 [^40]进行初始化，其余部分的权重则通过均值为$\sigma = 0.001$的高斯分布进行初始化。权重更新采用Adam优化器[^20]，小批量大小为48。为了从输入图像中裁剪出人体区域，我们遵循以往的研究[^18] [^21] [^22]，在训练和测试阶段均使用真实边界框。测试阶段若没有可用的边界框，我们则通过训练并测试Mask R-CNN [^11]来获取边界框。裁剪后的人体图像会被缩放至$256 \times 256$，即$D = 64$和$h = w = 8$。训练时会进行数据增强，包括缩放($\pm25\%$)、旋转($\pm60^\circ$)、随机水平翻转以及颜色抖动($\pm20\%$)。初始学习率设为$10^{-4}$，并在第$10^{th}$个训练周期时缩小为原来的十分之一。我们的模型在三个NVIDIA RTX 2080Ti GPU上训练12个周期，耗时36小时。I2L-MeshNet的运行速度可达每秒25帧(fps)。

## 5 实验

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

Human3.6M。Human3.6M [^14] 包含360万个带有3D关节坐标标注的视频帧。由于许可问题，此前使用的Human3.6M的GroundTruth SMPL参数无法获取。作为替代方案，我们采用SMPLify-X [^34]来获取GroundTruth SMPL参数。关于Human3.6M的SMPL参数的详细描述，请参阅补充材料。评估时采用MPJPE和PA MPJPE [^30]，它们分别是预测3D关节坐标与GroundTruth 3D关节坐标在根关节对齐及后续刚性对齐后的欧几里得距离（单位：毫米）。

3DPW。3DPW [^26] 包含60个主要在户外环境下拍摄的视频序列。我们仅按照Kolotouros等人的方法 [^21]，在该数据集定义的测试集上进行评估。评估指标与Human3.6M相同（即MPJPE和PA MPJPE），这一做法同样遵循Kolotouros等人 [^21] 的研究。

FreiHAND。FreiHAND [^8] 包含13万张真实采集的训练图像和4千张测试图像，这些图像均带有MANO姿态和形状参数标注。评估工作在线服务器上完成。按照Zimmermann等人的方法 [^8]，我们报告PA MPVPE、PA MPJPE以及F分数。

MSCOCO。MSCOCO [^24] 包含大量野外场景图像，这些图像带有2D边界框和人体关节坐标标注。我们利用SMPLify-X [^34] 根据GroundTruth 2D姿态数据拟合SMPL模型，并将拟合得到的网格作为GroundTruth 3D网格。该数据集仅用于训练。

MuCo-3DHP。MuCo-3DHP [^28] 是通过对现有的MPI-INF-3DHP 3D数据 [^27] 进行合成而生成的。共合成了20万帧图像，其中一半的图像背景经过增强处理。我们采用了MSCOCO数据集中不包含人类的图像来

---

<div style="text-align: center;">Table 1. The MPJPE, the number of parameters, and the GPU memory usage comparison between various target representations on Human3.6M.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Targets</td><td style='text-align: center; word-wrap: break-word;'>Spatial</td><td style='text-align: center; word-wrap: break-word;'>Uncertainty</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>No. param.</td><td style='text-align: center; word-wrap: break-word;'>GPU mem.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPL param.</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;'>100.3</td><td style='text-align: center; word-wrap: break-word;'>91M</td><td style='text-align: center; word-wrap: break-word;'>4.3 GB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>xyz coord</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;'>114.3</td><td style='text-align: center; word-wrap: break-word;'>117M</td><td style='text-align: center; word-wrap: break-word;'>5.4 GB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>xyz llexel hm. wo. spatial</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;'>92.6</td><td style='text-align: center; word-wrap: break-word;'>82M</td><td style='text-align: center; word-wrap: break-word;'>4.5 GB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>xyz llexel hm. (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;'>86.2</td><td style='text-align: center; word-wrap: break-word;'>73M</td><td style='text-align: center; word-wrap: break-word;'>4.6 GB</td></tr></table>

<div style="text-align: center;">Table 2. The MPJPE and the GPU memory usage comparison between various heatmap representations on Human3.6M.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Targets</td><td style='text-align: center; word-wrap: break-word;'>Mem. complex.</td><td style='text-align: center; word-wrap: break-word;'>Resolution</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>GPU mem.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>xyz voxel hm.</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{O}(VD^{3})$</td><td style='text-align: center; word-wrap: break-word;'>$8 \times 8 \times 8$\n $16 \times 16 \times 16$</td><td style='text-align: center; word-wrap: break-word;'>102.8</td><td style='text-align: center; word-wrap: break-word;'>4.3 GB\nOOM</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>xy pixel hm. + z pixel hm.</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{O}(VD^{2})$</td><td style='text-align: center; word-wrap: break-word;'>$8 \times 8, 8$\n $32 \times 32, 32$\n $64 \times 64, 64$</td><td style='text-align: center; word-wrap: break-word;'>97.9</td><td style='text-align: center; word-wrap: break-word;'>3.5 GB\n5.7 GB\nOOM</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>xyz lixel hm. (ours)</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{O}(VD)$</td><td style='text-align: center; word-wrap: break-word;'>8, 8, 8\n32, 32, 32\n64, 64, 64</td><td style='text-align: center; word-wrap: break-word;'>100.2</td><td style='text-align: center; word-wrap: break-word;'>3.4 GB\n4.0 GB\n4.6 GB</td></tr></table>

增强背景，这一做法参考了Moon等人的研究 [^30]。该数据集仅用于训练。

### 5.2 消融实验

消融实验所用的所有模型均在Human3.6M数据集上训练和测试。由于Human3.6M是最常用的大规模基准数据集，我们认为它适合用于消融实验。

基于热图的网格估计方法的优势。为了证明基于热图的网格估计方法的优势，我们比较了采用不同人体网格表示目标的模型，这些表示目标包括SMPL参数、顶点坐标和热图。表1展示了不同目标模型的MPJPE值、参数数量以及GPU内存占用情况的对比。表中数据显示，我们的基于热图的网格估计网络在参数数量最少、GPU内存占用最小的情况下实现了最低的错误率。

我们基于热图的网格估计网络的优越性体现在两个方面。首先，它能够建模预测的不确定性。为了验证这一点，我们训练了两个模型：一个直接估计以相机为中心的顶点坐标，另一个则通过两个全连接层估计基于体素的坐标1D热图。需要注意的是，这两个模型的目标是一致的，但

---

<div style="text-align: center;">Table 3. The MPJPE and PA MPJPE comparison between various network cascading strategies on Human3.6M.</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;'>3D pose</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;'>MeshNet</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>86.2</td><td style='text-align: center; word-wrap: break-word;'>59.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PoseNet+MeshNet (ours)</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>81.8</td><td style='text-align: center; word-wrap: break-word;'>58.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MeshNet</td><td style='text-align: center; word-wrap: break-word;'>GT</td><td style='text-align: center; word-wrap: break-word;'>25.5</td><td style='text-align: center; word-wrap: break-word;'>17.1</td></tr></table>

它们的表现形式不同。由于第一个网络直接回归坐标，因此无法对预测结果的不确定性进行建模；而后者由于采用热图目标表示形式，能够做到这一点。不过，由于全局平均池化和全连接层的存在，两者都无法保留输入图像中的空间关系。正如表中第二行和第三行所示，对预测结果的不确定性进行建模，能在使用更少参数的情况下显著减小误差。此外，其误差水平也低于SMPL参数回归模型——尽管该模型是最常用的目标表示形式，却无法对不确定性进行建模。

其次，它能保留输入图像中像素间的空间关系。最终模型以全卷积的方式估算每个网格顶点的x轴和y轴热图，从而保留空间关系。与所需GPU显存最少的SMPL参数回归方法相比，它在参数数量最少的情况下仍能达到最佳性能，且GPU显存占用相近。

在表1中，除最终输出预测部分外，所有模型均采用与我们I2L-MeshNet相同的网络架构。我们移除了所有模型中的PoseNet，剩余的MeshNet直接从输入图像I中估算目标值。除最后一行（我们的模型）外，所有设置均通过两个全连接层输出目标值。对于SMPL参数估计，我们遵循[^18]和[^21]的训练细节。

基于体素、像素和lixel的热图对比。为了证明基于lixel的1D热图相较于其他热图表示形式的优越性，我们训练了三个分别预测基于lixel、像素和体素热图的模型。除最终预测部分外，所有设置均采用相同的网络架构（即I2L-MeshNet中的MeshNet）。这些网络直接从输入图像中预测热图。每种热图的x轴、y轴和z轴代表相同的坐标。表2展示了预测不同人体网格目标表示的模型在内存复杂度、热图分辨率、MPJPE以及GPU显存占用方面的对比情况。表中显示，我们的基于lixel的热图在占用较少GPU显存的同时，能达到最低的误差水平。

---

<div style="text-align: center;">Table 4. The MPJPE and PA MPJPE comparison on Human3.6M and 3DPW. All methods are trained on Human3.6M and MSCOCO.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Methods</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;'>HMR [^18]</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><td style='text-align: center; word-wrap: break-word;'>300.4</td><td style='text-align: center; word-wrap: break-word;'>137.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GraphCMR [^22]</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><td style='text-align: center; word-wrap: break-word;'>126.5</td><td style='text-align: center; word-wrap: break-word;'>80.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SPIN [^21]</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><td style='text-align: center; word-wrap: break-word;'>113.1</td><td style='text-align: center; word-wrap: break-word;'>71.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>I2L-MeshNet (Ours)</td><td style='text-align: center; word-wrap: break-word;'>55.7</td><td style='text-align: center; word-wrap: break-word;'>41.7</td><td style='text-align: center; word-wrap: break-word;'>95.4</td><td style='text-align: center; word-wrap: break-word;'>60.8</td></tr></table>

<div style="text-align: center;">Table 5. The MPJPE and PA MPJPE comparison on Human3.6M. Each method is trained on different datasets.</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><td style='text-align: center; word-wrap: break-word;'>PA MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify [^4]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>82.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Lassner [^23]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>93.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HMR [^18]</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;'>NBF [^32]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>59.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pavlakos [^37]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>75.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Kanazawa [^19]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>56.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GraphCMR [^22]</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;'>Arnab [^2]</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></tr><tr><td style='text-align: center; word-wrap: break-word;'>SPIN [^21]</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;'>I2L-MeshNet (Ours)</td><td style='text-align: center; word-wrap: break-word;'>55.7</td><td style='text-align: center; word-wrap: break-word;'>41.7</td></tr></table>

<div style="text-align: center;">Table 6. The MPJPE and PA MPJPE comparison on 3DPW. Each method is trained on different datasets.</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><td style='text-align: center; word-wrap: break-word;'>PA MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HMR [^18]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>81.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Kanazawa [^19]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>72.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GraphCMR [^22]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>70.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Arnab [^2]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>72.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SPIN [^21]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>59.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>I2L-MeshNet (Ours)</td><td style='text-align: center; word-wrap: break-word;'>93.2</td><td style='text-align: center; word-wrap: break-word;'>58.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>I2L-MeshNet (Ours) + SMPL regress</td><td style='text-align: center; word-wrap: break-word;'>99.6</td><td style='text-align: center; word-wrap: break-word;'>62.9</td></tr></table>

与基于像素和基于体素的热图相比，我们的基于lixel的热图在相同分辨率下占用的GPU显存要少得多。$8 \times 8 \times 8$基于体素的热图所需的GPU显存与64×64×64像素的基于像素的热图相当，我们发现受当前GPU显存限制（即12GB），无法进一步增大基于体素的热图尺寸。基于像素的热图比基于体素的热图更高效，但仍远不如我们的基于lixel的热图，以至于无法将分辨率从$32 \times 32$、32进一步提升。这种低效的显存占用限制了热图分辨率；不过我们发现热图分辨率对密集网格顶点定位至关重要。另一方面，我们的基于lixel的热图的内存复杂度是与D呈线性关系的函数，因此我们能够为每个网格顶点预测高分辨率热图。当使用高分辨率人体网格模型时，显存效率将显得尤为重要。

在相同分辨率下，基于像素的热图与基于lixel的热图相结合能取得最佳性能。我们认为，估算基于体素的热图会在单个输出层涉及过多参数。

---

<div style="text-align: center;">Table 7. The PA MPVPE, PA MPJPE, and F-scores comparison between state-of-the-art methods and the proposed I2L-MeshNet on FreiHAND. The checkmark denotes a method use groundtruth information during inference time.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>PA 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><td style='text-align: center; word-wrap: break-word;'>GT scale</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hasson et al. [^10]</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><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Boukhayma et al. [^5]</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><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FreiHAND [^8]</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><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>I2L-MeshNet (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.681</td><td style='text-align: center; word-wrap: break-word;'>0.973</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr></table>

这会导致较高的误差。此外，基于像素的热图在将二维特征图降维为一维时会产生空间歧义，这可能是其性能不如组合模型的原因之一。

级联PoseNet和MeshNet的优势。为了验证级联PoseNet和MeshNet的优势，我们采用不同的网络级联策略对三个网络进行了训练和测试。首先，我们从I2L-MeshNet中移除PoseNet，剩下的MeshNet会直接从输入图像预测每个网格顶点的基于像素的一维热图。其次，我们训练具有级联PoseNet和MeshNet架构的I2L-MeshNet。第三，为了探究基于PoseNet输出的精度上限，我们在训练和测试阶段都向MeshNet输入真实的三维人体姿态，而非PoseNet的输出。表3显示，利用PoseNet的输出（第二行）来估计人体网格时，其精度要优于仅使用MeshNet的情况（第一行）。有趣的是，将真实的三维人体姿态传入MeshNet后（最后一行），性能相比其他所有设置均有显著提升。这表明改进三维人体姿态估计网络是提高三维人体网格估计精度的一个重要途径。

### 5.3 与现有最先进方法的比较

Human3.6M和3DPW数据集。我们在Human3.6M和3DPW测试集上，对比了我们的I2L-MeshNet与以往最先进的三维人体姿态及网格估计方法的MPJPE和PA MPJPE指标。由于以往的研究所训练的模型使用的训练集各不相同，我们从两个角度报告三维误差结果。

首先，我们在Human3.6M和MSCOCO数据集上训练所有方法，并在表4中报告误差结果。以往的最先进方法[^18] [^21] [^22]均通过其官方发布的代码进行训练。表4显示，我们的I2L-MeshNet在两个数据集上的表现都显著优于以往的方法。

其次，我们在表5和表6中分别报告以往方法以及我们的方法在论文中给出的三维误差结果。以往方法中的各个网络是在不同的数据集组合上训练的，这些数据集包括Human3.6M、MSCOCO、MPII [^1]、LSP [^15]、LSP-Extended [^16]、UP [^23]以及MPI-INF-3DHP [^27]。我们

---

在评估3DPW数据集时，使用了MuCo-3DHP作为额外的训练数据集。我们还按照Kolotouros等人的方法[^22]，报告了额外添加的SMPL参数回归模块所产生的三维误差。表格显示，我们的方法与以往最先进方法[^21]之间的性能差距已显著缩小。

性能差距缩小的原因是，以往基于模型的最先进方法[^18] [^21]能够通过基于2D姿态的弱监督机制，从大量自然场景中的2D人体姿态数据集[^15] [^16] [^24]中获益。由于人体或手部模型假定了人体模型参数（即3D关节旋转和身份向量）与3D关节/网格坐标之间的先验分布，因此基于2D姿态的弱监督能够沿深度轴提供由该先验分布计算得出的梯度。尽管这种弱监督仍受深度模糊问题的影响，但利用自然场景图像仍能带来巨大益处，因为与实验室采集的3D数据集相比，这些图像具有更多样化的外观[^14] [^27] [^28]。另一方面，包括所提出的I2L-MeshNet在内的无模型方法并不假定任何先验分布，因此难以从这种弱监督中获益。基于这两点对比，我们可以得出两个重要结论。

当在提供真实3D人体姿态和网格的数据集上训练时，无模型方法的精度要高于基于模型的方法。

基于模型的方法通过利用额外的自然场景2D姿态数据，无需依赖3D监督即可实现更高的精度。

我们认为，数量更多且对齐精准的自然场景图像-3D网格数据能够显著提升无模型方法的精度。可以利用迭代拟合[^4] [^34]、神经网络[^17]或二者的组合[^21]来获取更多此类数据。这可以成为未来重要的研究方向，我们将其留作后续工作。

FreiHAND数据集。我们将所提出的I2L-MeshNet的MPVPE值和F分数，与以往最先进的3D人手姿态及网格估计方法[^5] [^8] [^10]进行了比较。我们在FreiHAND训练图像上训练Mask R-CNN[^11]，以获取测试图像中的手部边界框。表7显示，所提出的I2L-MeshNet在推理阶段无需真实尺度信息的情况下，性能显著优于所有以往方法。表中我们还额外报告了MPJPE数值。

## 6 结论

我们提出了I2L-MeshNet，这是一种用于从单张RGB图像中精确估计3D人体姿态和网格的图像到像素预测网络。我们将网络的输出转换为基于像素的1D热图，这种热图既能保留输入图像中的空间关系，又能建模预测的不确定性。在相同热图分辨率下，这种基于像素的1D热图所需的GPU内存占用要少得多，同时还能产生比广泛使用的体素式3D热图更好的精度。

---

I2L-MeshNet在各种3D人体姿态和网格数据集上的表现均优于以往的3D人体姿态及网格估计方法。我们希望我们的方法能为后续的无模型3D人体姿态和网格估计研究提供有益参考。

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

## 参考文献

[^1]: Andriluka, M., Pishchulin, L., Gehler, P., Schiele, B.: 2D human pose estimation: New benchmark and state of the art analysis. In: CVPR (2014)

[^2]: Arnab, A., Doersch, C., Zisserman, A.: Exploiting temporal context for 3D human pose estimation in the wild. In: CVPR (2019)

[^3]: Baek, S., Kim, K.I., Kim, T.K.: Pushing the envelope for RGB-based dense 3D hand pose estimation via neural rendering. In: CVPR (2019)

[^4]: 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: ECCV (2016)

[^5]: Boukhayma, A., de Bem, R., Torr, P.H.: 3D hand shape and pose from images in the wild. In: CVPR (2019)

[^6]: Chen, Y., Wang, Z., Peng, Y., Zhang, Z., Yu, G., Sun, J.: Cascaded pyramid network for multi-person pose estimation. In: CVPR (2018)

[^7]: Choi, H., Moon, G., Lee, K.M.: Pose2Mesh: graph convolutional network for 3D human pose and mesh recovery from a 2D human pose. In: ECCV (2020)

[^8]: 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: ICCV (2019)

[^9]: Ge, L., et al.: 3D hand shape and pose estimation from a single RGB image. In: CVPR (2019)

[^10]: Hasson, Y., et al.: Learning joint reconstruction of hands and manipulated objects. In: CVPR (2019)

[^11]: He, K., Gkioxari, G., Dollár, P., Girshick, R.: Mask R-CNN. In: ICCV (2017)

[^12]: He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: CVPR (2016)

[^13]: Ioffe, S., Szegedy, C.: Batch Normalization: accelerating deep network training by reducing internal covariate shift. In: ICML (2015)

[^14]: Ionescu, C., Papava, D., Olaru, V., Sminchisescu, C.: Human3.6M: large scale datasets and predictive methods for 3D human sensing in natural environments. In: TPAMI (2014)

[^15]: Johnson, S., Everingham, M.: Clustered pose and nonlinear appearance models for human pose estimation. In: BMVC (2010)

[^16]: Johnson, S., Everingham, M.: Learning effective human pose estimation from inaccurate annotation. In: CVPR (2011)

## [^17]: Joo, H., Neverova, N., Vedaldi, A.: Exemplar fine-tuning for 3D human pose fitting towards in-the-wild 3D human pose estimation. arXiv preprint arXiv:2004.03686 (2020)

---

[^18]: Kanazawa, A., Black, M.J., Jacobs, D.W., Malik, J.: End-to-end recovery of human shape and pose. In: CVPR (2018)

[^19]: Kanazawa, A., Zhang, J.Y., Felsen, P., Malik, J.: Learning 3D human dynamics from video. In: CVPR (2019)

[^20]: Kingma, D.P., Ba, J.: Adam: a method for stochastic optimization. In: ICLR (2014)

[^21]: Kolotouros, N., Pavlakos, G., Black, M.J., Daniilidis, K.: Learning to reconstruct 3D human pose and shape via model-fitting in the loop. In: ICCV (2019)

[^22]: Kolotouros, N., Pavlakos, G., Daniilidis, K.: Convolutional mesh regression for single-image human shape reconstruction. In: CVPR (2019)

[^23]: 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: CVPR (2017)

[^24]: Lin, T.Y., et al.: Microsoft COCO: common objects in context. In: ECCV (2014)

[^25]: Loper, M., Mahmood, N., Romero, J., Pons-Moll, G., Black, M.J.: SMPL: a skinned multi-person linear model. In: ACM TOG (2015)

[^26]: von Marcard, T., Henschel, R., Black, M.J., Rosenhahn, B., Pons-Moll, G.: Recovering accurate 3D human pose in the wild using IMUs and a moving camera. In: ECCV (2018)

[^27]: Mehta, D., et al.: Monocular 3D human pose estimation in the wild using improved CNN supervision. In: 3DV (2017)

[^28]: Mehta, D., et al.: Single-shot multi-person 3D pose estimation from monocular RGB. In: 3DV (2018)

[^29]: Moon, G., Chang, J.Y., Lee, K.M.: V2V-PoseNet: voxel-to-voxel prediction network for accurate 3D hand and human pose estimation from a single depth map. In: CVPR (2018)

[^30]: 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: ICCV (2019)

[^31]: Newell, A., Yang, K., Deng, J.: Stacked hourglass networks for human pose estimation. In: ECCV (2016)

[^32]: 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: 3DV. IEEE (2018)

[^33]: Paszke, A., et al.: Automatic differentiation in pytorch (2017)

[^34]: Pavlakos, G., et al.: Expressive body capture: 3D hands, face, and body from a single image. In: CVPR (2019)

[^35]: Pavlakos, G., Kolotouros, N., Daniilidis, K.: TexturePose: supervising human mesh estimation with texture consistency. In: ICCV (2019)

[^36]: Pavlakos, G., Zhou, X., Derpanis, K.G., Daniilidis, K.: Coarse-to-fine volumetric prediction for single-image 3D human pose. In: CVPR (2017)

[^37]: Pavlakos, G., Zhu, L., Zhou, X., Daniilidis, K.: Learning to estimate 3D human pose and shape from a single color image. In: CVPR (2018)

[^38]: Rogez, G., Weinzaepfel, P., Schmid, C.: LCR-Net: localization-classification-regression for human pose. In: CVPR (2017)

[^39]: Romero, J., Tzionas, D., Black, M.J.: Embodied hands: modeling and capturing hands and bodies together. In: ACM TOG (2017)

[^40]: Russakovsky, O., et al.: Imagenet large scale visual recognition challenge. In: IJCV (2015)

[^41]: Sun, X., Xiao, B., Wei, F., Liang, S., Wei, Y.: Integral human pose regression. In: ECCV (2018)

## [^42]: Tompson, J.J., Jain, A., LeCun, Y., Bregler, C.: Joint training of a convolutional network and a graphical model for human pose estimation. In: NeurIPS (2014)

---

[^43]: Wang, N., Zhang, Y., Li, Z., Fu, Y., Liu, W., Jiang, Y.G.: Pixel2Mesh: generating 3D mesh models from single RGB images. In: ECCV (2018)

[^44]: Xiao, B., Wu, H., Wei, Y.: Simple baselines for human pose estimation and tracking. In: ECCV (2018)

[^45]: Xu, Y., Zhu, S.C., Tung, T.: DenseRaC: joint 3D pose and shape estimation by dense render-and-compare. In: ICCV (2019)
