-
Notifications
You must be signed in to change notification settings - Fork 55
Description
Dear authors,
In SmoothOptimizer and RootOptimizer, I think the joints3d/joints3d_op in SMPLLoss/RootLoss is in the world coordinate system. And the re-projection is performed to get the proj_2d joints from (world -> pixel coordinates).
However, it seems like in MotionLoss, the cam_pred_data is passed into RootLoss:
Lines 226 to 228 in 58518fe
| loss, stats_dict = super().forward( | |
| observed_data, cam_pred_data, nsteps, valid_mask=valid_mask | |
| ) |
Whilst I think from the logic in rollout_latent_motion(), it looks like cam_pred_data is actually still in the world coordinate system, and is transformed back from the local coordinate system used in the rollout procedure. I am therefore confused about the name of the variables: Why is this data named cam_pred_data with a comment above saying "must return trans and root orient in camera frame...", while the function name is apply_world2prior? And it doesn't look like camera coordinate system data to me.
I just would like to confirm whether this is a naming issue or I misunderstood it. Thank you!