9
SMPLR: Deep SMPL reverse for 3D human pose and shape recovery Meysam Madadi 1 , Hugo Bertiche 2 and Sergio Escalera 1,2 1 Computer Vision Center, Edifici O, Campus UAB, 08193 Bellaterra (Barcelona), Catalonia Spain 2 Dept. Mathematics and Informatics, Universitat de Barcelona, Catalonia, Spain Abstract A recent trend in 3D human pose and shape estimation is to use deep learning and statistical morphable body mod- els, such as the parametric Skinned Multi-Person Linear Model (SMPL). However, regardless of the advances in hav- ing both body pose and shape, SMPL-based solutions have shown difficulties on achieving accurate predictions. This is due to the unconstrained nature of SMPL, which allows unrealistic poses and shapes, hindering its direct regression or application on the training of deep models. In this paper we propose to embed SMPL within a deep model to effi- ciently estimate 3D pose and shape from a still RGB im- age. We use 3D joints as an intermediate representation to regress SMPL parameters which are again recovered as SMPL output. This module can be seen as an autoencoder where encoder is modeled by deep neural networks and de- coder is modeled by SMPL. We refer to this procedure as SMPL reverse (SMPLR). Then, input 3D joints can be esti- mated by any convolutional neural network (CNN). To han- dle input noise to SMPLR, we propose a denoising autoen- coder between CNN and SMPLR which is able to recover structured error. We evaluate our method on SURREAL and Human3.6M datasets showing significant improvement over SMPL-based state-of-the-art alternatives. 1. Introduction 3D human pose estimation from still RGB images re- mains an open challenge. 3D human pose estimation needs to deal with changes in lighting conditions, cluttered back- ground, occlusions, inter and intra subject pose variability, as well as ill-posed depth ambiguity. Due to its nature, ac- curate annotation of captured data is not a trivial task and most available datasets are captured under controlled envi- ronments [5, 20, 12]. Estimation of 3D joints locations has a number of ap- plications in computer vision, including human-robot in- teraction, gaming, or sports performance analysis, just to mention a few. However, 3D joints do not implicitly show the anatomy of the body shape. Being able to estimate body shape or mesh along with joints allows us to increase Figure 1: Illustration of proposed model output. Given an input RGB image, an initial estimation of 3D joint locations is applied based on volumetric stacked hourglass [14]. Our denoising autoencoder model is able to recover pose from structured error. Finally, body mesh is rendered by SMPL based on the proposed SMPL reverse strategy. Green line shows ground truth and red line shows 3D estimated joints. method applicability, such as movie editing, body soft- biometrics measurements or cloth retexturing, among oth- ers. Recently, researchers started to build deep models able to estimate body mesh [18, 6, 16] by the design of realistic morphable models like Skinned Multi-Person Linear Model (SMPL) [8]. While early SMPL-based solutions [1, 7] are proposed to use regularization to constraint gradients, re- cent works apply adversarial training [6], or directly esti- mate body volume in multi-task CNNs [26]. In this paper, we propose a deep neural network inspired in SMPL model to estimate 3D human pose and mesh given a still RGB image. SMPL is a parametric model that ren- ders a realistic mesh based on PCA shape components along with relative angle-axis rotations of joints computed with respect to their father’s node in a defined kinematic tree. In- stead of directly regressing SMPL pose and shape parame- ters from input image, which may generate undesirable arti- facts in unseen data [6], we propose to regress these param- eters from an intermediate set of representations. Unlike previous works [18, 16] which use 2D joints or part seg- mentation as intermediate representations, we use 3D joints and demonstrate that previous representations are subopti- mal for pose and shape regression tasks. We claim such a regression does not implicitly handle input noise, causing 1 arXiv:1812.10766v1 [cs.CV] 27 Dec 2018

SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

SMPLR: Deep SMPL reverse for 3D human pose and shape recovery

Meysam Madadi1, Hugo Bertiche2 and Sergio Escalera1,21 Computer Vision Center, Edifici O, Campus UAB, 08193 Bellaterra (Barcelona), Catalonia Spain

2 Dept. Mathematics and Informatics, Universitat de Barcelona, Catalonia, Spain

Abstract

A recent trend in 3D human pose and shape estimationis to use deep learning and statistical morphable body mod-els, such as the parametric Skinned Multi-Person LinearModel (SMPL). However, regardless of the advances in hav-ing both body pose and shape, SMPL-based solutions haveshown difficulties on achieving accurate predictions. Thisis due to the unconstrained nature of SMPL, which allowsunrealistic poses and shapes, hindering its direct regressionor application on the training of deep models. In this paperwe propose to embed SMPL within a deep model to effi-ciently estimate 3D pose and shape from a still RGB im-age. We use 3D joints as an intermediate representationto regress SMPL parameters which are again recovered asSMPL output. This module can be seen as an autoencoderwhere encoder is modeled by deep neural networks and de-coder is modeled by SMPL. We refer to this procedure asSMPL reverse (SMPLR). Then, input 3D joints can be esti-mated by any convolutional neural network (CNN). To han-dle input noise to SMPLR, we propose a denoising autoen-coder between CNN and SMPLR which is able to recoverstructured error. We evaluate our method on SURREAL andHuman3.6M datasets showing significant improvement overSMPL-based state-of-the-art alternatives.

1. Introduction3D human pose estimation from still RGB images re-

mains an open challenge. 3D human pose estimation needsto deal with changes in lighting conditions, cluttered back-ground, occlusions, inter and intra subject pose variability,as well as ill-posed depth ambiguity. Due to its nature, ac-curate annotation of captured data is not a trivial task andmost available datasets are captured under controlled envi-ronments [5, 20, 12].

Estimation of 3D joints locations has a number of ap-plications in computer vision, including human-robot in-teraction, gaming, or sports performance analysis, just tomention a few. However, 3D joints do not implicitly showthe anatomy of the body shape. Being able to estimatebody shape or mesh along with joints allows us to increase

Figure 1: Illustration of proposed model output. Given aninput RGB image, an initial estimation of 3D joint locationsis applied based on volumetric stacked hourglass [14]. Ourdenoising autoencoder model is able to recover pose fromstructured error. Finally, body mesh is rendered by SMPLbased on the proposed SMPL reverse strategy. Green lineshows ground truth and red line shows 3D estimated joints.

method applicability, such as movie editing, body soft-biometrics measurements or cloth retexturing, among oth-ers. Recently, researchers started to build deep models ableto estimate body mesh [18, 6, 16] by the design of realisticmorphable models like Skinned Multi-Person Linear Model(SMPL) [8]. While early SMPL-based solutions [1, 7] areproposed to use regularization to constraint gradients, re-cent works apply adversarial training [6], or directly esti-mate body volume in multi-task CNNs [26].

In this paper, we propose a deep neural network inspiredin SMPL model to estimate 3D human pose and mesh givena still RGB image. SMPL is a parametric model that ren-ders a realistic mesh based on PCA shape components alongwith relative angle-axis rotations of joints computed withrespect to their father’s node in a defined kinematic tree. In-stead of directly regressing SMPL pose and shape parame-ters from input image, which may generate undesirable arti-facts in unseen data [6], we propose to regress these param-eters from an intermediate set of representations. Unlikeprevious works [18, 16] which use 2D joints or part seg-mentation as intermediate representations, we use 3D jointsand demonstrate that previous representations are subopti-mal for pose and shape regression tasks. We claim such aregression does not implicitly handle input noise, causing

1

arX

iv:1

812.

1076

6v1

[cs

.CV

] 2

7 D

ec 2

018

Page 2: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

an offset error embedded in the model. Therefore, we alsodesign a denoising autoencoder network [28] as an extramodule able to handle structured error.

In more detail, given a CNN, we estimate a set of 3Djoints and landmarks which are fed into a denoising autoen-coder (DAE) network with skip connections. DAE plays asa bridge between CNN and SMPL module. In the final mod-ule, SMPL parameters are regressed. We call this procedureSMPL reverse (SMPLR). One can imagine it as an encoder-decoder module where intermediate embeddings are poseand shape components. We define encoder as a number ofMulti-layer Perceptron (MLP) Networks while decoder isSMPL. We note that, by the use of DAE, the gradients com-ing from SMPLR get smoothed allowing a more stable end-to-end training. Additionally, given any 2D pose estimationnetwork, we are able to lift 2D joints to 3D and feed it toSMPLR. We show the proposed model output in Fig. 1. Insummary, our main contributions are as follows:

• We build a denoising autoencoder that learns struc-tured error from input data. The model transforms 3Djoint predictions to get a more human-consistent pose,enforcing symmetry and proportions on bone lengths.• We analyze SMPL model and design two MLP net-

works to regress SMPL parameters from 3D jointsgiven by DAE. We gain an improvement over chosenCNN by end-to-end training with SMPL. This allowsthe inference of human body mesh from a sparse pointrepresentation. Furthermore, SHN can benefit fromthese models through backpropagation of errors.• Throughout our experiments, we demonstrate that it

is possible to obtain an accurate human body modelfrom a set of joint and landmark predictions. Finally,results show how SHN estimations can benefit fromthese MLP and SMPL on end-to-end training. We ob-tain state of the art results for SMPL-like architectureson H3.6M [5] and SURREAL [27] datasets1.

2. Related workIn this section we review state-of-the-art papers for 3D

human pose estimation from single RGB images.Lifting 2D to 3D. Depth regression given 2D joints has

been an active research topic in 3D human pose recovery.Nevertheless, this is an ill-posed problem where several 3Dposes can be projected to the same 2D joints. Chen andRamanan [3] show that copying depth from 3D mocap datacan provide a fair estimation when a nearest 2D matchingis given. However, Moreno [13] shows that distance of ran-dom pairs of poses has more ambiguity in Cartesian spacethan Euclidean distance matrix. Advances in recent worksshow that directly using simple [11] or cascade [4] MLPnetworks can be more accurate. Additionally, 2D joints can

1Code will be made publicly available after publication of the paper.

be noisy with wrong estimations, making previous solutionssuboptimal. In this regard, Yang et al. [29] use adversarialtraining and benefit from available 3D data along with 2Ddata to infer depth information. In our case, the proposeddenoising autoencoder is used to lift 2D pose to 3D in thelack of 3D ground truth data, providing accurate input toSMPLR.

Direct regression. It refers to regressing 3D pose di-rectly from RGB image. Due to the nonlinear nature of thehuman pose, 3D pose regression without modeling correla-tion of joints is not a trivial task. Brau and Jiang [2] estimate3D joints and camera parameters without direct supervisionon them. Instead, they use several loss functions for pro-jected 2D joints, bones size and independent Fisher priors.Sun et al. [23] propose a compositional loss function basedon relative joints with respect to a defined kinematic tree.They separate 2D joints and depth estimation in the loss.

Probability maps are probability vectors assigned toeach pixel/volume such that for each joint a likelihood iscomputed. In this way, 2D heatmaps have visual evidencein the image and different solutions are applied to infer thirddimension. For instance, Tome et al. [25] combine 2D be-lief maps with 3D mocap data in an iterative way. Theytrain a probabilistic PCA to learn distribution of 3D mocapdata. Then at each iteration they minimize a function basedon 2D belief map and learned 3D model to find the mostprobable 3D pose. Since probability maps are dense pre-dictions, fully convolutional networks are usually appliedby different approaches. Luo et al. [9] extend SHN to es-timate 2D joint heatmaps along with limb orientation mapin each stack. Pavlakos et al. [17] extend SHN to output3D volumetric data by a coarse-to-fine architecture where ateach stack the third dimension is linearly increased with 2Dheatmaps. Following this trend, we extend SHN to volumet-ric heatmaps with a fixed depth resolution 16 and show itis working better than coarse-to-fine approaches. Recently,Nibali et al. [15] propose marginal heatmaps from differentaxis viewpoints. They compute 3D joints based on soft-argmax and apply multiple loss functions on the heatmapsand 3D joints.

Pose and shape estimation. Given a detailed bodymodel, it is common to estimate body volume or mesh alongwith 3D pose. Early models were mainly based on the com-bination of simple geometric objects [22, 21], while recentmodels are PCA-based parametric models like SMPL [8].Bogo et al. [1] were the first to apply SMPL for body poseand shape recovery. Their method was based on regularoptimization procedures given an objective function mini-mizing projected joints and pre-estimated 2D joints. Theyapplied several constraints including pose angles and shapepriors. Lassner et al. [7] extended previous work by includ-ing a bi-directional distance between projected mesh andbody silhouette. Later, researchers started to embed SMPL

Page 3: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

Figure 2: System pipeline. We extend stacked hourglass network to volumetric heatmaps and feed estimated joints to denois-ing autoencoder module. We use soft argmax, thus, gradients can be backpropagated. Finally, two independent networks aredesigned to regress SMPL parameters which are used to render realistic body mesh.

within deep models. Kanazawa et al. [6] regressed SMPLpose and shape along with camera parameters in an adver-sarial training where generated mesh is given to a discrimi-nator network to classify real/fake body with respect to realbody scans. Similar to our work, [18, 16] estimate poseand shape parameters from intermediate information, likebody segments [16] or 2D joint heatmaps and body mask[18], and include SMPL to render 3D joints/mesh whichare given to a loss function. However, these representationsare ill-posed and suboptimal to regress SMPL parameters.We show 3D joints can better deal with this problem signif-icantly outperforming aforementioned solutions. Recently,Varol et al. [26] proposed a multi-tasking approach to es-timate body 2D/3D pose, pixel segments and volumetricshape. They use SMPL to generate ground truth body vol-umes and do not embed SMPL function within the network.

In this paper, we propose an approach to estimate 3Dbody pose and shape by the use of intermediate informationand SMPL model. Given ground truth 3D data, we can ben-efit from end-to-end training and improving CNN. Besides,our method can be adapted to 2D-to-3D solutions in the lackof such ground truth data to in-the-wild scenarios.

3. MethodologyWe estimate 3D human joints J = jK1 and shape

T = tC1 from single RGB image I , where j, t ∈ R3, andK and C are the number of body joints and mesh points,respectively. In order to compute a detailed mesh, we useSMPL model [8] following recent trends in human pose andshape recovery. The goal is to estimate SMPL parametersfrom image I using deep learning without directly regress-ing them. This way, we avoid possible artifacts while keep-ing the architecture flexible in the lack/presence of groundtruth data. Our network contains three main modules shownin Fig. 2. Next, we explain each module details.

3.1. SMPL reviewSMPL is a statistical parametric function M (β, θ; Φ)

which maps shape parameters β and axis-angle pose pa-rameters θ into vertices T, given learned model parame-

ters Φ. Given a template average body shape T∗ and adataset of scanned bodies, two sets of PCA coefficientsS = [S1, ...,S|β|] ∈ R3C×|β| and P = [P1, ...,P9K ] ∈R3C×9K are learned to form model parameters Φ (|β| = 10,C = 6890 and K = 24 including pelvis as root). Then,Template shape T∗ can be updated to T∗

′by summing

to the displacements offsets computed based on parame-ters β and bases Si. Bases Pi are responsible for smallpose-based displacements due to body soft-tissue behav-ior and have small contribution in the shape deformation.Given joints kinematic tree, a set of relative rotation matri-ces R = [R1, ...,RK ] ∈ R3×3 are computed for each jointwith respect to their parents in the kinematic tree. Each Ri

is a function of θi ∈ R3 and is computed based on Ro-driguez formulation. These rotation matrices are used fortwo reasons: i) to update template shape in rest pose θ∗ bybasis Pi, and ii) to form body pose based on standard ren-dering techniques in which body parts are rotated relativelyin the kinematic tree. The rendering must be applied basedon updated joints. Therefore, joints in template mode areupdated beforehand by a regressor function J (as part ofparameters Φ) and updated vertices T∗

′. SMPL model has

several characteristics. First of all it is a differentiable func-tion which makes it possible to be used along with deep net-works. However, it does not implicitly constraints invalidpose and shape values and, thus, it is a many-to-one func-tion. This means, given a RGB image, end-to-end trainingof SMPL model from scratch on top of a CNN may con-verge to a non-optimal solution. One of the reasons is theusage of Rodriguez formulation and axis-angle pose param-eters, as it is known not to be unique. A possible solutionis to directly use rotation matrices as proposed in [7, 16].Secondly, SMPL is a generative model which allows us togenerate millions of mocap data for free. Even it can beused to generate synthetic realistic images [27].

3.2. SMPL reverseA natural way of embedding SMPL in a deep network is

to estimate β and θ given image I and feed them to SMPL.However, due to previous limitations, this is a challenging

Page 4: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

task. Besides, direct regression of SMPL parameters maygenerate artifacts [6, 24]. Instead, researchers use interme-diate representations like 2D joints/body silhouette [18] orbody segments [16] to regress SMPL parameters. Althoughsuch representations are easier to be annotated from RGBimages than ground truth SMPL data, they provide sub-optimal mapping to SMPL parameters. In this paper, weinstead propose an autoencoder-like scheme, i.e. the inputand output of the system are identical, while SMPL param-eters are obtained in the encoder and SMPL is taken as de-coder. We refer to this model as SMPL reverse (SMPLR).

We model SMPLR encoder with deep MLP networks.We design two independent networks R = Ω(N;φp) andβ = Ψ(B;φs) with the same architecture for pose andshape estimation, respectively, where φ. correspond to net-work parameters. Since we define SMPLR as an autoen-coder, naturally the input to the system must be J and T.However, T is a high dimensional vector and all pointsdo not necessarily contribute equally in the computation ofpose and shape parameters, wasting network capacity if allof them are considered. To cope with this issue, we se-lect a subset of points as landmarks L ⊂ T, which mostlyrepresent body shape and complement J. We show the 18selected landmarks and their assigned kinematic tree in Fig.3. Next, we explain networks details.

Given J and L concatenated as JL and kinematic treeκ ∈ R2×42, we define N to be the vector of normalizedrelative joints as:

Ni =JLκ(1,i) − JLκ(2,i)

‖JLκ(1,i) − JLκ(2,i)‖2, for i ∈ [2..42], (1)

where κ(., i) defines fatherhood indices. The reason for thisnormalization is that to compute relative joint rotation R,we do not need to know relative distances. Besides, thisfrees network capacity from unnecessary data variability.Such relative distances can be embedded in the computationof shape parameters. Therefore, given relative distances B∗

computed from template mesh T∗, we define normalizedrelative distances B as:

Bi = ‖JLκ(1,i) − JLκ(2,i)‖2 −B∗i , for i ∈ [2..42]. (2)

We also include gender as an extra term to the shape param-eters β since SMPL originally provides two different mod-els, male and female. By doing so we can estimate genderto select proper SMPL model and differentiate SMPL basedon this parameter.

SMPLR architecture. We design the network as a deepMLP network with 9 sequential fully connected layers withhidden neurons 1024, 1024, 512, 512, 512, 256, 256, 11, 11.We apply a residual block with 2 fully connected layers withhidden neurons 256 and 11 branching from fifth layer andconcatenated to the second last layer. This residual block

Figure 3: Selected landmarks and assigned kinematic treein red (color blue shows original kinematic tree).

helps to have a more stable training and accurate result. Alllayers except last are followed by batch normalization andReLU activation. We assign tanh activation to the last layerof Ω, while Ψ has no activation in the last layer. An ad-vantage of SMPLR is that it can be trained by the aim ofmillions of generated mocap data. Also JL, as intermediateimage representation, has visual evidence from the imageand can be estimated by any relevant CNN directly from theimage while the whole model can be trained end-to-end. Insection 3.3 we explain applied CNN for this task.

Independent training of Ω and Ψ is critical before com-bination to SMPL due to aforementioned many-to-one be-havior of SMPL. End-to-end training of SMPLR providesan improvement over pose and shape parameters and con-sequently over SMPL output. The reason is that SMPLprovides an explicit correlation of pose and shape compo-nents with respect to J and T. To supervise shape andpose regression networks, a typical L2 loss has been ap-plied in recent works [24, 18]. However, we found L2 losshas problems in convergence and generalization in case ofnoisy inputs. Instead, we used L1 loss for both Ω and Ψnetworks and it worked well in practice. For supervision ofend-to-end training, one can apply a loss on both J and Tas well with respect to their ground truth values. However,we found applying a loss on the whole set of points T to beunnecessary since the points are not distributed equally onthe body surface and many of them have low contributionin the computation of shape. Therefore we replace T withits predefined set L and apply an L1 loss on J and L whilekeeping intermediate supervision on Ω and Ψ.

3.3. CNN backbone

To apply SMPLR in practice we need to initialize JLto feed it to the system. JL contains visual informationcues from the image, and state-of-the-art CNN are able topredict it accurately. For this task, we select SHN [14] asa standard network for human pose estimation. SHN is astack of hourglass modules which are encoder-decoder net-works with residual connections between encoder-decoder

Page 5: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

Figure 4: Sample volumetric heatmap of joints (middle) andlimbs (right), each limb coded with a different color.

layers. The outputs of each stack are i) a fusion of featurelayers fed into the next stack and ii) a heatmap for each jointwhich has a supervision on it. We extend SHN to volumetricheatmaps, as a trend in recent works [26, 19], using 5 stacks.A volumetric heatmap can be defined as an extension of 2Dheatmap to third dimension. First, we define a fixed sizecube with 2.5 meters for each axis and transform the jointswithin this cube such that the root joint is located at the cen-ter of cube. Then each voxel is defined as a grid box withinthis reference cube and take a value from the Gaussian dis-tribution with respect to 3D Euclidean distance to groundtruth voxel and variance 1. Thus, volumetric heatmap isa tensor with shape W × H × D with W , H and D aswidth, height and depth length, respectively. We define ten-sor shape as 64× 64× 16. Although, this may introduce anoffset error within depth, we found increasing D does notshow a significant improvement while increases computa-tional complexity exponentially. Volumetric heatmaps aredefined and computed for all joints and stacked in the 4thdimension (64× 64× 16× 41).

To train the network, we found cross-entropy with sig-moid activation works better than L2 loss. Although thenetwork is training as expected, the loss function does notcompute any correlation among joints and network featuresdo not learn such correlations explicitly. A solution is touse multi-task learning from different domains like body se-mantical segments or silhouette or 2D/3D joints[26]. How-ever, multi-task learning needs a careful design of flowinformation and loss balancing among tasks. In this pa-per, we propose to include volumetric limb heatmaps alongwith joint heatmaps. By doing so we can enforce the net-work to learn part correlations implicitly. We compute limbheatmaps for the main 8 bones of the body: lower arm, up-per arm, lower leg and upper leg for both left and right parts,along with hands, feet and shoulders. Then we combinethem into 4 major parts to avoid extra computation: left arm,right arm, left leg and right leg. To compute limb heatmapswe extend joint Gaussian across bone between two jointsusing the orthogonal distance of each voxel to the connect-ing limb segment. Thus, we extend volumetric heatmaps toa tensor with shape 64× 64× 16× 45. We show a samplevolumetric heatmap in Fig. 4. Finally we apply soft-argmax

[30, 10] to compute joint locations from heatmaps.

3.4. Denoising autoencoder

Estimated joints by SHN have structured noise. For in-stance, in the case of occluded joints the error is higher dueto their ambiguity and the lack of visual evidence. Even theerror of visible joints can be modeled by Gaussian. Suchstructured or Gaussian noise can be detected and learned ex-plicitly helping to further improve initial estimation fed intoSMPLR module. Denoising autoencoder (DAE) networks[28] are useful tools for such a scenario and are shown tobe able to learn structured patterns of the input better thanordinal autoencoders.

In this paper, we propose a DAE network as a bridge be-tween SHN and SMPLR. With the proposed DAE we areable to denoise 3D inputs or lift 2D estimations to 3D. Thisprocedure can be critical for error prune CNNs, for instancefast shallow networks. Moreover, it can be detached fromCNN and trained independently given millions of mocapdata with adversarial noise generation mimicking structuredor Gaussian noise. The architecture of DAE is shown in Fig.2. We apply two dropouts, one right after the input and theother after last encoder layer. By doing so we mimic a two-stack DAE [28] without loss of generalization. By applyingskip connections between encoder and decoder layers weforce the network to learn noise structure faster and morestable way. The input to DAE is initial JL and the outputis denoised JL. We apply L1 loss to train the network. Toforce network to be more aware of adjacent joints correla-tions, we apply an L1 loss on B (Eq. 2) as well.

4. Experiments4.1. Training details

All models and experiments had been implemented onTensorFlow and performed on a GTX 1080 Ti. We usedAdam optimizer in all trainings with a learning rate of 0.01for SHN and 0.001 for DAE, pose and shape estimator net-works. SHN converged in 150-250 epochs with batch size6-10 samples. The rest of networks in the ablation analysiswere trained with batch size 256. We have used a keepingprobability 0.8 for drop-out layer in DAE.

4.2. Datasets

UP-3D [7]. This dataset was designed by fitting a genderneutral SMPL model into images from LSP, LSP-extendedand MPII-HumanPose datasets, keeping samples with bet-ter estimations. This yields a total of 8515 labeled imagesin the wild, splitted into 5703 for training, 1423 for valida-tion and 1389 for test. Every sample is provided with 2Dannotations and SMPL parameters.

SURREAL [27]. Synthetic dataset of humans generatedwith SMPL model, thus with exact annotations. This is the

Page 6: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

Model Hd Ts Sr Ew Wt Hp Kn Ft Avg. Avg. Avg.Jt Lm Bn

SHN

SHNnL 47.5 23.0 44.2 77.2 112.0 16.3 61.9 102.7 62.8 - 10.4SHN 46.2 23.0 43.0 75.5 110.2 15.3 61.2 102.2 61.9 61.5 9.3SHNaug 45.0 22.3 41.1 72.7 105.7 14.4 59.6 99.8 57.5 59.3 9.0SHNL

aug 40.8 20.9 38.0 66.8 93.4 14.3 55.7 92.9 53.0 54.3 9.7

DA

E DAE 45.8 22.2 42.2 75.4 108.5 14.4 61.8 103.2 59.2 61.1 9.5DAE2d 51.4 23.1 46.2 83.7 121.7 15.1 66.6 115.4 65.2 66.1 11.8

SMPL

R ΨnL 16.3 8.9 13.6 17.7 19.7 5.5 11.6 21.3 14.3 14.3 6.6Ψ 16.5 9.1 13.8 17.3 19.9 5.8 11.7 21.3 14.4 11.5 6.6Ω 55.1 22.3 48.8 85.8 127.1 13.4 68.6 122.3 67.8 - -Ωsmpl 50.1 20.1 44.9 83.6 123.6 12.4 63.9 111.9 63.8 - -

E2E

DAE +Ψ + Ω

53.6 22.7 47.5 85.1 125.6 14.1 65.6 113.7 66.0 68.5 8.9

ALL 40.5 22.4 38.2 67.1 93.7 15.6 52.1 84.7 51.8 52.9 9.5

Table 1: Ablation study of model components. Error in mm. Hd:Head, Ts:Torso, Sr:Shoulder, Ew:Elbow, Wt:Wrist, Hp:Hip,Kn:Knee, Ft:Foot, Jt:Joints, Lm:Landmarks and Bn:Bone length, .nL: input without landmarks, .aug: training withaugmentation, .L: including limbs heatmaps in the output, .smpl: training along with SMPL loss.

dataset used for most of our analyses. It is composed of68036 videos containing SMPL generated humans movingon top of random backgrounds, split into 55001 for training,507 for validation and 12528 for test samples.

Human3.6M [5]. Human3.6M is the largest dataset of-fering high precision 3D data thanks to MoCap sensors andcalibrated cameras. It is composed of RGB videos of 11 dif-ferent subjects performing 15 different actions twice whilerecorded from 4 different viewpoints. This corresponds toaround 3.6 million frames. Standard evaluation protocol istraining on subjects S1, S5, S6, S7 and S8, leaving S9 andS11 for validation and finally S2, S3, S4, S10 for testing.

4.3. Evaluation protocol

We evaluate the models by mean per joint position error(MPJPE) in milimeter (mm). The same metric is extendedto surface points to report error on generated body mesh.Following related works we apply two protocols: Protocol1 where all joints/points are subtracted from the root jointand, and Protocol 2 where estimated joints are aligned withground truth through Procrustes analysis.

4.4. Ablation study

In this section we study different components of the pro-posal on SURREAL validation set. For this task we sub-sample the training dataset into around 89K frames suchthat every pair of samples has a minimum per joint distanceof 100mm. Therefore, subsampling has a uniform distribu-tion over the whole dataset. We use the same setup as Sec.4.1 to train each component. We show the results and eachcomponent description in Tab. 1.

4.4.1 Stacked Hourglass

Here we analyze the different techniques implemented toenhance the performance of Stacked Hourglass. The resultsare shown in Tab. 1 under SHN row.

Default Volumetric SHN is a simple extension of SHNto volumetric heatmaps. We use 16 depth bins in all models.We define a few baseline networks to address experimentsin the next components. SHN and SHNnL are the modelstrained based on joints with and without landmarks (totally18). Comparing them shows 1mm improvement in aver-age by including landmarks. We also trained SHN with 32depth bins. However we found no gain in the results whileincreasing complexity exponentially. Then we train SHNincluding data augmentation (SHNaug). Besides regularimage data augmentation like random color noise, flippingand rotation, two extra methods are applied. First, randombackground. By using binary masks for subjects provided ateach frame, we remove the default background of the sam-ples and replace it with a random image from VOC Pascaldataset. Similarly, we place random objects on random po-sitions of the image to artificially create occlusions [19].Again, the data from which objects come from is VOC Pas-cal dataset and, in both cases, we do not use images contain-ing humans. Table 1 shows this augmentation is speciallyuseful for joint prediction, while landmarks, although showimprovement, do not benefit that much.

Limb Volumetric Heatmaps. We include 4 addi-tional volumetric heatmaps in the outputs of SHN . Theseheatmaps correspond to limb representations, composedby creating segments from joint to joint. By fitting theseheatmaps we expect to enforce the model to learn spatialrelationships among joints to improve generalization. The

Page 7: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

Figure 5: Qualitative images. Rows from top to bottom: SURREAL, UP-3D and Human3.6M.

Figure 6: UP-3D results. Based on estimated 2D joints (middle) we compute 3D joints and render mesh (right).

results displayed at table 1 show how this strategy does in-deed enhance the performance of the network in SHNL

aug .

4.4.2 Denoising autoencoder

In this section we analyze DAE on top of baseline modelSHN . The results are shown in Tab. 1 under DAE row. Wetrain DAE independent to SHN with three different inputs:i) uniform noise with constraints for each joint, ii) SHNoutput (model DAE) and iii) SHN output with depth setto 0 (model DAE2d). As a result, uniform noise has anaverage error 61.7mm (not shown in the table) similar toDAE (61.9mm). This is while DAE improves baselineby 3mm when the input has structured error coming fromSHN . In this way wrist takes the most benefit. For the thirdexperiment, we want to test how DAE performs in the lackof image-level 3D ground truth data. As a result, the aver-age error is slightly more than 65mm (DAE2d). Although,the average error is 3mm higher than the baseline, it showsDAE can lift 2D pose to 3D with successful results givenit is an ill-posed problem. We note that training DAE2d

comparing to DAE converges way slower.

4.4.3 SMPLRIn this section we analyze SMPLR on top of baseline modelSHN . The results are shown in Tab. 1 under SMPLRrow. Similar to DAE, we train shape and pose networks Ψand Ω independent to SHN . We report the error based onSMPL results. To analyze the effect of each network on thefinal results, we train Ψ and Ω independently. We then feedground truth shape to Ω and groundtruth pose to Ψ.

Model ΨnL is trained based on SHNnL, i.e. the in-put has not landmarks. While the average joints error( 14mm) is identical among ΨnL and Ψ, the error on thelandmarks (11.5 vs 14.3) shows benefit in estimating shape.We then compare pose parameters estimation. Model Ωsmplis trained withL1 loss on pose parameters along with SMPLloss. Comparing Ω and Ωsmpl shows 4mm gain by end-to-end training with SMPL. We found training Ψ includ-ing SMPL loss does not change its results. In general, thehigher source of errors in SMPLR is in pose parametersrather than shape. As an extra experiment, we evaluated theaccuracy of gender estimation in Ψ and we achieved 89.5% accuracy. This level of accuracy is critical for SMPLrendering since it has two different models for each gender

Page 8: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

Prot. 1 Prot. 2 Prot. 1 Prot. 2Bogo [1] - 82.3 Tome [25] 88.4 70.7Lassner [7] - 80.7 Pavlakos [17] 71.9 51.9Pavlakos [18] - 75.9 Zhou [31] 64.9 -Omran [16] - 59.9 Martinez [11] 62.9 47.7Kanazawa [6] 87.9 58.1 Sun [23] 59.1 48.3SMPLR 71.7 56.4 SHN-final 62.4 50.9

Table 2: MPJPE error in mm. on Human3.6M for both pro-tocols. Left columns: comparing to SMPL-based methods.Right columns: comparing to state-of-the-art 3D pose. SM-PLR outperforms all SMPL-based methods, and our simpleSHN updates show competitive, near state of the art, results.

SMPL surface error (mm) 3D joints error (mm)Varol [26] 73.6 46.1SMPLR 75.4 55.8SHN-final - 45.8

Table 3: Results on SURREAL dataset (protocol 1).

which can have a direct impact on the mesh error.

4.5. End-to-end training

Here, we describe how the end-to-end training was per-formed. Thanks to joint location estimation methodology,the model is differentiable and trainable end-to-end. SM-PLR model appears to be very sensitive to noise, whichmakes whole network training hard. For that reason, weexplore the possibility of using an already trained SMPLR(model DAE + Ψ + Ω) on top of SHNL

aug to improvethe learning of the latter by back-propagating errors throughSMPLR. We first show the results of SMPL output by stitch-ing previously trained models intoDAE+Ψ+Ω model. Wefound end-to-end training of this model on top of SHNL

aug

does not show much improvement. Therefore, we proposethe next procedure for end-to-end training. We first trainDAE and SMPLR on ground truth. Once trained, it is frozenand appended to the end of SHNL

aug .The order of magnitude of SHN loss is several times

lower than SMPLR losses, therefore, without a proper bal-ancing, the weights of the SHNL

aug vanish after few train-ing steps. We empirically set this balance to be around 1e-5 and 1e-6. Finetuning is performed with a low learningrate to ensure the learning stability, empirically set to 1e-4. The network shows improvement after the first trainingepoch, and after an additional epoch it fully converges. Toensure that this improvement is the result of appending DAEand SMPLR, we trained SHNL

aug alone for more than 10epochs without showing any improvement before end-to-end training. Looking at table 1 under E2E row (modelALL), one can see this model slightly improves perfor-mance, but on a higher degree on the legs. Note the reportederror is based on SHNL

aug after end-to-end training.

4.6. State-of-the-art comparison

Human3.6M. We compare our results to state-of-the-arton Human3.6M in Tab. 2, split in two sets: SMPL-basedsolutions vs. only 3D pose recovery. In the former, we out-perform state-of-the-art for both evaluation protocols, spe-cially in protocol 1 improving [6] over 16mm. We note thatwe use Ψ network trained on SURREAL dataset to esti-mate shape parameters, since Human3.6M contains just 5subjects in the training set. The results in the second setshows our simple modifications to SHN achieves competi-tive near state-of-the-art results. Comparing to [17], a fixedsmall depth resolution of 16 bins in the volumetric heatmapworks better than a coarse-to-fine setup. We show somequalitative results in Fig. 5.

SURREAL. The only competitor on this dataset is [26].We show similar performance to this work for SMPL sur-face and 3D joints error using protocol 1. While SMPLoutput has 10mm error worse than SHN due to the offseterror embedded in the regressor, our SHN-final slightly im-proves [26] results for 3D joint estimation. Given the abilityto generate images in this dataset based on mocap data, it islikely to train SHN on this dataset to learn structured errorin DAE for in-the-wild scenarios. While this is applicablein our method, [26] needs all ground truth data to train thenetwork. We show some qualitative images in Fig. 5.

UP-3D. We use this dataset to show some qualitative re-sults for in-the-wild scenario. In one setup we train all net-works with UP-3D ground truth data plus a subset of SUR-REAL of 18K images. We show some samples from the testset in Fig. 6. The SMPL error in test set is around 90mmwhich is below 100.5mm error reported in [18]. In the sec-ond setup we just use 2D data to train SHN. Then, we usepreviously trained DAE and SMPLR networks to lift 2Djoints to 3D and render body mesh. The results shown inFig. 6 shows accurate estimates in this in-the-wild scenario.

5. Conclusions

We proposed a deep based framework to recover 3D poseand shape from a still RGB image. Our model is composedof SHN backbone followed with a DAE and a network ca-pable of reversing SMPL from sparse data. Such model,capable of end-to-end training, is able to accurately recon-struct body mesh. We experimentally found that processingSHN output joints with DAE is able to remove structured er-ror. We have shown that SMPL model can be reversed andused to recover 3D pose and shape. Furthermore, the com-bination of both DAE and SMPLR has proven to ease thelearning process. Finally, we exploit SMPLR capabilities inthe training of deep learning networks by backpropagatingSMPL related errors through the SHN. We evaluated ourproposal on SURREAL and Human3.6M datasets, outper-forming SMPL-based state-of-the-art alternatives.

Page 9: SMPLR: Deep SMPL reverse for 3D human pose and ... - arXiv

References[1] F. Bogo, A. Kanazawa, C. Lassner, P. Gehler, J. Romero,

and M. J. Black. Keep it smpl: Automatic estimation of 3dhuman pose and shape from a single image. In EuropeanConference on Computer Vision, pages 561–578. Springer,2016. 1, 2, 8

[2] E. Brau and H. Jiang. 3d human pose estimation via deeplearning from 2d annotations. In 3D Vision (3DV), 2016Fourth International Conference on, pages 582–591. IEEE,2016. 2

[3] C.-H. Chen and D. Ramanan. 3d human pose estimation=2d pose estimation+ matching. In Computer Vision and Pat-tern Recognition (CVPR), 2017 IEEE Conference on, pages5759–5767. IEEE, 2017. 2

[4] V.-T. Hoang and K.-H. Jo. 3d human pose estimation usingcascade of multiple neural networks. In IEEE Transactionon Industrial Informatics, 2018. 2

[5] C. Ionescu, D. Papava, V. Olaru, and C. Sminchisescu. Hu-man3.6m: Large scale datasets and predictive methods for 3dhuman sensing in natural environments. IEEE Transactionson Pattern Analysis and Machine Intelligence, 36(7):1325–1339, jul 2014. 1, 2, 6

[6] A. Kanazawa, M. J. Black, D. W. Jacobs, and J. Malik. End-to-end recovery of human shape and pose. In CVPR, 2018.1, 3, 4, 8

[7] C. Lassner, J. Romero, M. Kiefel, F. Bogo, M. J. Black, andP. V. Gehler. Unite the people: Closing the loop between 3dand 2d human representations. In IEEE Conference on Com-puter Vision and Pattern Recognition (CVPR), pages 4704–4713. IEEE, 2017. 1, 2, 3, 5, 8

[8] M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, and M. J.Black. Smpl: A skinned multi-person linear model. ACMTransactions on Graphics (TOG), 34(6):248, 2015. 1, 2, 3

[9] C. Luo, X. Chu, and A. Yuille. Orinet: A fully convolutionalnetwork for 3d human pose estimation. BMVC, 2018. 2

[10] D. C. Luvizon, H. Tabia, and D. Picard. Human pose re-gression by combining indirect part detection and contextualinformation. arXiv preprint arXiv:1710.02322, 2017. 5

[11] J. Martinez, R. Hossain, J. Romero, and J. J. Little. A sim-ple yet effective baseline for 3d human pose estimation. InICCV, 2017. 2, 8

[12] D. Mehta, S. Sridhar, O. Sotnychenko, H. Rhodin,M. Shafiei, H.-P. Seidel, W. Xu, D. Casas, and C. Theobalt.Vnect: Real-time 3d human pose estimation with a single rgbcamera. ACM Transactions on Graphics (TOG), 36(4):44,2017. 1

[13] F. Moreno-Noguer. 3d human pose estimation from a singleimage via distance matrix regression. In Computer Visionand Pattern Recognition (CVPR), 2017 IEEE Conference on,pages 1561–1570. IEEE, 2017. 2

[14] A. Newell, K. Yang, and J. Deng. Stacked hourglass net-works for human pose estimation. In European Conferenceon Computer Vision, pages 483–499. Springer, 2016. 1, 4

[15] A. Nibali, Z. He, S. Morgan, and L. Prendergast. 3d humanpose estimation with 2d marginal heatmaps. arXiv preprintarXiv:1806.01484, 2018. 2

[16] M. Omran, C. Lassner, G. Pons-Moll, P. Gehler, andB. Schiele. Neural body fitting: Unifying deep learning andmodel based human pose and shape estimation. In 2018 In-ternational Conference on 3D Vision (3DV), pages 484–494.IEEE, 2018. 1, 3, 4, 8

[17] G. Pavlakos, X. Zhou, K. G. Derpanis, and K. Daniilidis.Coarse-to-fine volumetric prediction for single-image 3dhuman pose. In Computer Vision and Pattern Recogni-tion (CVPR), 2017 IEEE Conference on, pages 1263–1272.IEEE, 2017. 2, 8

[18] G. Pavlakos, L. Zhu, X. Zhou, and K. Daniilidis. Learning toestimate 3d human pose and shape from a single color image.CVPR, 2018. 1, 3, 4, 8

[19] I. Sarandi, T. Linder, K. O. Arras, and B. Leibe. Synthetic oc-clusion augmentation with volumetric heatmaps for the 2018eccv posetrack challenge on 3d human pose estimation. InECCV PoseTrack Workshop, 2018. 5, 6

[20] L. Sigal, A. O. Balan, and M. J. Black. Humaneva: Syn-chronized video and motion capture dataset and baseline al-gorithm for evaluation of articulated human motion. Inter-national journal of computer vision, 87(1-2):4, 2010. 1

[21] L. Sigal, M. Isard, H. Haussecker, and M. J. Black. Loose-limbed people: Estimating 3d human pose and motion usingnon-parametric belief propagation. International journal ofcomputer vision, 98(1):15–48, 2012. 2

[22] C. Stoll, N. Hasler, J. Gall, H.-P. Seidel, and C. Theobalt.Fast articulated motion tracking using a sums of gaussiansbody model. In Computer Vision (ICCV), 2011 IEEE Inter-national Conference on, pages 951–958. IEEE, 2011. 2

[23] X. Sun, J. Shang, S. Liang, and Y. Wei. Compositional hu-man pose regression. 2017. 2, 8

[24] V. Tan, I. Budvytis, and R. Cipolla. Indirect deep struc-tured learning for 3d human body shape and pose prediction.BMVC, 2017. 4

[25] D. Tome, C. Russell, and L. Agapito. Lifting from thedeep: Convolutional 3d pose estimation from a single im-age. CVPR 2017 Proceedings, pages 2500–2509, 2017. 2,8

[26] G. Varol, D. Ceylan, B. Russell, J. Yang, E. Yumer, I. Laptev,and C. Schmid. BodyNet: Volumetric inference of 3D hu-man body shapes. In ECCV, 2018. 1, 3, 5, 8

[27] G. Varol, J. Romero, X. Martin, N. Mahmood, M. J. Black,I. Laptev, and C. Schmid. Learning from synthetic humans.In CVPR, 2017. 2, 3, 5

[28] P. Vincent, H. Larochelle, I. Lajoie, Y. Bengio, and P.-A.Manzagol. Stacked denoising autoencoders: Learning usefulrepresentations in a deep network with a local denoising cri-terion. Journal of machine learning research, 11(Dec):3371–3408, 2010. 2, 5

[29] W. Yang, W. Ouyang, X. Wang, J. Ren, H. Li, and X. Wang.3d human pose estimation in the wild by adversarial learning.In CVPR, 2018. 2

[30] K. M. Yi, E. Trulls, V. Lepetit, and P. Fua. Lift: Learned in-variant feature transform. In European Conference on Com-puter Vision, pages 467–483. Springer, 2016. 5

[31] X. Zhou, Q. Huang, X. Sun, X. Xue, and Y. Wei. Towards3d human pose estimation in the wild: a weakly-supervisedapproach. ICCV, 2017. 8