VIBE
VIBE copied to clipboard
TemporalSMPLify codes ERROR [BUG]
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, )