VIBE icon indicating copy to clipboard operation
VIBE copied to clipboard

TemporalSMPLify codes ERROR [BUG]

Open lizhengwei1992 opened this issue 5 years ago • 0 comments

I find a error in TemporalSMPLify codes. line 124 in lib/utils/demo_utils.py : gt_keypoints_2d_orig = j2d First, running compute reprojection error of the network in the function smplify.get_fitting_loss. line 235 in lib/smplify/temporal_smplify.py joints_conf[:, self.ign_joints] = 0. the confidence of joints(['OP Neck', 'OP RHip', 'OP LHip', 'Right Hip', 'Left Hip']) in gt_keypoints_2d_orig will be set to 0.

I print the value of first frame joints(index :27 'rhip') before and after the smplify.get_fitting_loss function before : tensor([ 97.6452, 115.7776, 0.8471], device='cuda:0') after: tensor([ 97.6452, 115.7776, 0.0000], device='cuda:0')

Then, you use the gt_keypoints_2d_orig to compute temporal_camera_fitting_loss will be 0 ! line 143 in lib/utils/demo_utils.py: output, new_opt_joint_loss = smplify( pred_pose.detach(), pred_betas.detach(), pred_cam_t.detach(), 0.5 * 224 * torch.ones(batch_size, 2, device=device), gt_keypoints_2d_orig, )

camera_opt_params can not update !

Did I have some misunderstand of these codes ?


I know that some joints should be ignored after camera optimization, so I fixed it as

line 124 in lib/utils/demo_utils.py : gt_keypoints_2d_orig = j2d.clone()

line 143 in lib/utils/demo_utils.py: output, new_opt_joint_loss = smplify( pred_pose.detach(), pred_betas.detach(), pred_cam_t.detach(), 0.5 * 224 * torch.ones(batch_size, 2, device=device), j2d, )

lizhengwei1992 avatar Jun 16 '20 11:06 lizhengwei1992