nkolot / GraphCMR

Repository for the paper "Convolutional Mesh Regression for Single-Image Human Shape Reconstruction"
BSD 3-Clause "New" or "Revised" License
425 stars 67 forks source link

Preprocess of ground truth keypoints_3d on Human3.6M #31

Closed yuxwind closed 4 years ago

yuxwind commented 5 years ago

I tried to generate pseudo_keypoints_3d from the ground truth SMPL parameters of the Human3.6M dataset using smpl.get_joints(). I hope it can be consistent with the ground truth keypoints_3d. But I noticed that the MPJPE can be more than 0.2m without subtracting the pelvis(root). And the MPJPE is about 0.03m when subtracting the pelvis.

Here is a figure to show the distance between the joints of gt_keypoints_3d(in red) and pseudo_keypoints_3d(in blue):

test

As the pred_pelvis and gt_pelvis are subtracted from the predicted_keypoints_3d and gt_keypoints_3d separately for the loss, I guess it doesn't matter if I don't preprocess gt_keypoints_3d and gt_smpl_paramteres to make them consistent.

Did you preprocess them? If you did, how did you do that? Thanks!

geopavlakos commented 4 years ago

The ground truth 3D keypoints we use are coming directly from the annotations of Human3.6M, where the only preprocessing we do is to subtract the pelvis joint. The 3D keypoints generated by SMPL parameters, no matter how accurate these parameters are, cannot exactly replicate the 3D keypoints that the dataset provides.