Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about calculation of smpl_trans in Human36M #26

Closed
YxZhxn opened this issue Dec 8, 2022 · 2 comments
Closed

Question about calculation of smpl_trans in Human36M #26

YxZhxn opened this issue Dec 8, 2022 · 2 comments

Comments

@YxZhxn
Copy link

YxZhxn commented Dec 8, 2022

Hi! Firstly, thanks for your excellent work! I was learning your data processing procedure and had confusions about the following code:

smpl_trans = smpl_trans - root_joint_coord + np.dot(R, root_joint_coord.transpose(1,0)).transpose(1,0)

Could you kindly explain to me that what the physical meaning of 'smpl_trans - root_joint_coord + np.dot(R, root_joint_coord.transpose(1,0)).transpose(1,0)' is? As far as i understand that 'smpl_trans - root_joint_coord' represents the translation in the coordinate system that takes root joint as origin. My question is how to explain np.dot(R, root_joint_coord.transpose(1,0)).transpose(1,0)?

@hongsukchoi
Copy link
Owner

Hi!

The get_smpl_coord function is transforming the mesh in the world coordinate system (frame) to the camera coordinate system. Line 191 and line 216 are performing that.
Line 191 is rotating the mesh around the root_joint_coord (pelvis) without any translation change.
Line 216 is adding the appropriate translation.

See the equation I wrote below.

IMG_7907

@YxZhxn
Copy link
Author

YxZhxn commented Dec 8, 2022

I see. Thanks for your quick response!

@YxZhxn YxZhxn closed this as completed Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants