We first train the VisDB network on 3D data with mesh annotations, then fine-tune it on all training data by adding the depth ordering and UV correspondence losses.
The regressor network is trained to estimate the SMPL parameters based on the estimated coordinates and visibility of joints and vertices.
During inference, we apply optional optimization on the regressed SMPL parameters to best align with the VisDB predicted mesh.
For the VisDB network backbone, we use a ResNet50 [1]} model pre-trained on the ImageNet dataset [2]}.
The weights are updated by the Adam optimizer [3]} with a mini-batch size of 64.
We represent a human body by \(N_J=30\)  joints and \(N_V=6890\)  vertices, and the heatmap resolution \(D=64\) .
In addition, we use the ground-truth bounding boxes to crop the human region from an input image and resize it to 256\(\times \) 256.
The bounding boxes of testing data are estimated by a pre-trained Mask R-CNN [4]} model if not available in the dataset.
We apply common data augmentations such as random scaling (±25%), rotation (±45°), horizontal flip, and color jittering (±20%) during training.
Considering that truncation and occlusion examples are rare in most 3D human datasets, we include random occlusion masks and bounding box shifting (±25%) as additional augmentations to increase the partial-body/whole-body ratio.
Our models are implemented with PyTorch [5]} and trained with NVIDIA Tesla V100 GPUs.
More implementation details are presented in the supplemental material.
