通过回归2D关节坐标进行3D人体姿态估计.
目前最先进的 3d 人体姿态估计方法主要集中在端到端(直接回归)的方法,即在给定原始图像像素的情况下预测 3d 关节位置。尽管性能优异,但通常很难理解它们的误差来源于 2d姿态估计部分过程,还是将 2d 姿势映射到 3d关节的过程。因此作者将 3d 姿态估计解耦为2d 姿态估计和从2d 到 3d 姿态估计(即3D姿态估计 = 2D姿态估计 + (2D->3D))。
本文重点关注 (2D->3D),目标是在给定二维输入的情况下估计三维空间中的人体关节位置。输入一系列$2D$人体关节点坐标$x \in \Bbb{R}^{2n}$,输出$3D$空间中的关节点坐标$y \in \Bbb{R}^{3n}$。学习映射函数$f:\Bbb{R}^{2n}→\Bbb{R}^{3n}$,使得在样本量为$N$的姿态数据集上预测误差最小化:
\[f^* = \mathop{\min}_{f} \sum_{i=1}^{N} {L(f(x_i)-y_i)}\]模型结构如下图所示。图中的残差块由两个全连接层组成,每个全连接层后面都跟着batch normalization、ReLU、Dropout层;共使用了两个残差块。在残差块前加一个全连接层,用来将输入的$16\times 2$的关节点升维到1024维;在网络最后也加一个全连接层,用来将1024维的数据降维到$16\times 3$。网络共有$6$个线性层,包含$400$万到$500$万个可训练参数。
网络使用Human3.6M数据集作为训练集,其中1,5,6,7,8用来训练,9,11用来评估。部分结果展示如下:
本文结果证明3D姿态估计的误差主要来源于图像到2D姿态的过程,即视觉理解的过程;而 (2D->3D)的关节点映射过程通过简单网络(全连接网络)就可以很好的学习。